
strelka v1.0.2
Echtzeit-, containerbasiertes Dateiscanning im Unternehmensmaßstab.
[Veröffentlichungen][release] | [Dokumentation][wiki] | [Pull-Requests][pr] | [Probleme][issues]
[![GitHub release][img-version-badge]][repo] [![Build Status][img-actions-badge]][actions-ci] [![Pull Requests][img-pr-badge]][pr] [![Slack][img-slack-badge]][slack] [![License][img-license-badge]][license]
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:
- Der Kern-Codebase besteht aus Go und Python 3.10+
- Serverkomponenten laufen in Containern für eine einfache und flexible Bereitstellung
- Betriebssystemnative Clientanwendungen für Windows, Mac und Linux
- Erstellt mit Bibliotheken und Formaten, die plattform- und sprachübergreifende Unterstützung ermöglichen
Funktionen
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.

Schnellstart
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.
Schritt 1: Voraussetzungen installieren
# Ubuntu 23.04
sudo apt install -y wget git docker docker-compose golang jq && \
sudo usermod -aG docker $USER && \
newgrp docker
Schritt 2: Strelka herunterladen
git clone https://github.com/target/strelka.git && \
cd strelka
Schritt 3: Gewünschte Yara-Regeln herunterladen und installieren (optional)
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
Schritt 4a: Vorkompilierte Images pullen und Strelka starten
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
Schritt 4b: Strelka erstellen und starten
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
Schritt 5: Eine zu analysierende Datei vorbereiten
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/
Schritt 6: Analysieren Sie die Datei mit Strelka mithilfe des dockerisierten Oneshot
./strelka-oneshot -f samples/Win32.Emotet.zip -l - | jq
Was passiert hier?
- Strelka hat festgestellt, dass die übermittelte Datei ein verschlüsseltes ZIP war (Siehe: taste.yara backend.yaml)
- ScanEncryptedZip hat ein Wörterbuch verwendet, um das ZIP-Passwort zu knacken und die komprimierte Datei zu extrahieren
- Die extrahierte Datei wurde vom Scanner zurück in die Strelka-Pipeline gesendet, und Strelka hat festgestellt, dass es sich um eine EXE-Datei handelt
- ScanPe hat die EXE-Datei zerlegt und nützliche Metadaten zur Ausgabe hinzugefügt
- ScanYara hat die EXE-Datei mit den bereitgestellten Regeln analysiert und zahlreiche Übereinstimmungen zur Ausgabe hinzugefügt, von denen einige darauf hindeuten, dass die Datei bösartig sein könnte
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"
]
}
}
}