
Echtzeit-, containerbasiertes Dateiscanning im Unternehmensmaßstab.
Strelka ist ein Echtzeit-, containerbasiertes Datei-Scansystem, das für die Bedrohungsjagd, Bedrohungserkennung und Vorfallreaktion verwendet wird. Ursprünglich basierend auf dem Design von Lockheed Martin's Laika BOSS und ähnlichen Projekten (siehe: verwandte Projekte), besteht der Zweck von Strelka darin, Dateiextraktion und Metadatensammlung im Enterprise-Maßstab durchzuführen.
Strelka unterscheidet sich in einigen wesentlichen Punkten von seinen Schwesterprojekten:
Strelka ist eine modulare Daten-Scanning-Plattform, die es Benutzern oder Systemen ermöglicht, Dateien zur Analyse, Extraktion und Berichterstattung von Dateiinhalten und Metadaten einzureichen. In Verbindung mit einem SIEM ist Strelka in der Lage, zu aggregieren, zu warnen und Analysten die Möglichkeit zu geben, ihre Umgebung besser zu verstehen, ohne direkte Datensammlung oder zeitaufwändige Dateianalysen durchführen zu müssen.

Das Ausführen einer Datei durch Strelka ist einfach. In diesem Abschnitt werden die Fähigkeiten von Strelka zur Extraktion und Analyse für eine einmalige Analyse demonstriert.
Bitte lesen Sie die Dokumentation für Details, wie Strelka in einer Unternehmensumgebung korrekt erstellt und bereitgestellt wird.
# Ubuntu 23.04
sudo apt install -y wget git docker docker-compose golang jq && \
sudo usermod -aG docker $USER && \
newgrp docker
git clone https://github.com/target/strelka.git && \
cd strelka
rm configs/python/backend/yara/rules.yara && \
git clone https://github.com/Yara-Rules/rules.git configs/python/backend/yara/rules/ && \
echo 'include "./rules/index.yar"' > configs/python/backend/yara/rules.yara
Hinweis: Sie können den go build-Prozess überspringen und die Strelka UI unter http://0.0.0.0:9980 zur Dateianalyse verwenden.
docker compose -f build/docker-compose-no-build.yaml up -d && \
go build github.com/target/strelka/src/go/cmd/strelka-oneshot
Hinweis: Sie können den go build-Prozess überspringen und die Strelka UI unter http://0.0.0.0:9980 zur Dateianalyse verwenden.
docker compose -f build/docker-compose.yaml build && \
docker compose -f build/docker-compose.yaml up -d && \
go build github.com/target/strelka/src/go/cmd/strelka-oneshot
Verwenden Sie eine beliebige Malware-Probe oder eine andere Datei, die Strelka analysieren soll.
wget https://github.com/ytisf/theZoo/raw/master/malware/Binaries/Win32.Emotet/Win32.Emotet.zip -P samples/
./strelka-oneshot -f samples/Win32.Emotet.zip -l - | jq
Die folgende Ausgabe wurde aus Gründen der Kürze bearbeitet.
{
"file": {
"depth": 0,
"flavors": {
"mime": ["application/zip"],
"yara": ["encrypted_zip", "zip_file"]
},
"scanners": [
"ScanEncryptedZip",
"ScanEntropy",
"ScanFooter",
"ScanHash",
"ScanHeader",
"ScanYara",
"ScanZip"
]
},
"scan": {
"encrypted_zip": {
"cracked_password": "infected",
"elapsed": 0.114269,
"total": {"extracted": 1, "files": 1}
}
}
}
{
"file": {
"depth": 1,
"flavors": {
"mime": ["application/x-dosexec"],
"yara": ["mz_file"]
},
"name": "29D6161522C7F7F21B35401907C702BDDB05ED47.bin",
"scanners": [
"ScanEntropy",
"ScanFooter",
"ScanHash",
"ScanHeader",
"ScanPe",
"ScanYara"
]
},
"scan": {
"pe": {
"address_of_entry_point": 5168,
"base_of_code": 4096,
"base_of_data": 32768,
"checksum": 47465,
"compile_time": "2015-03-31T08:53:51",
"elapsed": 0.013076,
"file_alignment": 4096,
"file_info": {
"company_name": "In CSS3",
"file_description": "Note: In CSS3, the text-decoration property is a shorthand property for text-decoration-line, text-decoration-color, and text-decoration-style, but this is currently.",
"file_version": "1.00.0065",
"fixed": {"operating_systems": ["WINDOWS32"]},
"internal_name": "Callstb",
"original_filename": "NOFAstb.exe",
"product_name": "Goodreads",
"product_version": "1.00.0065",
"var": {"character_set": "Unicode", "language": "U.S. English"}
}
},
"yara": {
"elapsed": 0.068918,
"matches": [
"SEH__vba",
"SEH_Init",
"Big_Numbers1",
"IsPE32",
"IsWindowsGUI",
"HasOverlay",
"HasRichSignature",
"Microsoft_Visual_Basic_v50v60",
"Microsoft_Visual_Basic_v50",
"Microsoft_Visual_Basic_v50_v60",
"Microsoft_Visual_Basic_v50_additional",
"Microsoft_Visual_Basic_v50v60_additional"
],
"tags": [
"AntiDebug",
"SEH",
"Tactic_DefensiveEvasion",
"Technique_AntiDebugging",
"SubTechnique_SEH",
"PECheck",
"PEiD"
]
}
}
}
Wenn Strelka in Ihrer Umgebung bereitgestellt wird und Dateien aufnimmt, sammeln Sie diese Ereignisse möglicherweise in Ihrem SIEM. Mit dieser Analyse könnten Sie eine Regel schreiben, die nach Ereignissen sucht, die den verdächtigen Yara-Tags entsprechen, und Sie so auf eine potenziell bösartige Datei aufmerksam machen.
scan.yara.tags:("Technique_AntiDebugging" && "SubTechnique_SEH")
Die Strelka-Benutzeroberfläche ist verfügbar, wenn Sie die bereitgestellten Container erstellen. Diese Weboberfläche ermöglicht es Ihnen, Dateien in Strelka hochzuladen und die Ereignisse zu erfassen, die lokal gespeichert werden.
Navigieren Sie zu http://localhost:9980/ und verwenden Sie den Login strelka/strelka.

Mit über 50 Datei-Scannern für die häufigsten Dateitypen (z. B. exe, docx, js, zip) bietet Strelka Benutzern die Möglichkeit, neue Einblicke in Dateien auf ihrem Host, Netzwerk oder Unternehmen zu gewinnen. Obwohl Strelka selbst keine Erkennungs-Engine ist (obwohl es YARA nutzt), kann es genügend Metadaten liefern, um verdächtige oder bösartige Dateien zu identifizieren. Einige mögliche Anwendungen von Strelka sind:

Weitere Dokumentation zu Strelka finden Sie im README, einschließlich:
Richtlinien für die Mitwirkung finden Sie hier.
Benutzern wird empfohlen, ihre YARA-Regeln vorzukompilieren, um eine optimale Leistung zu erzielen und mögliche Probleme während der Laufzeit zu vermeiden. Die Verwendung vorkompilierter YARA-Dateien trägt dazu bei, die Ladezeit und Ressourcennutzung zu reduzieren, insbesondere in Umgebungen mit einer großen Anzahl von Regeln. Stellen Sie sicher, dass Sie die kompilierte Option in der Strelka-Konfiguration verwenden, um auf die vorkompilierte Regeldatei zu verweisen.
Siehe mit bug gekennzeichnete Probleme im Tracker für weitere Probleme.
Strelka und der zugehörige Code werden unter den Bedingungen der Apache 2.0 Lizenz veröffentlicht.