
Analyse de fichiers en temps réel, basée sur des conteneurs, à l'échelle de l'entreprise.
Strelka est un système d'analyse de fichiers en temps réel basé sur des conteneurs, utilisé pour la chasse aux menaces, la détection des menaces et la réponse aux incidents. À l'origine basé sur la conception établie par Laika BOSS de Lockheed Martin et des projets similaires (voir : projets connexes), l'objectif de Strelka est d'effectuer l'extraction de fichiers et la collecte de métadonnées à l'échelle de l'entreprise.
Strelka se différencie de ses projets frères à plusieurs égards importants :
Strelka est une plateforme d'analyse de données modulaire, permettant aux utilisateurs ou aux systèmes de soumettre des fichiers dans le but d'analyser, d'extraire et de rapporter le contenu et les métadonnées des fichiers. Couplé à un SIEM, Strelka est capable d'agréger, d'alerter et de fournir aux analystes la capacité de mieux comprendre leur environnement sans avoir à effectuer une collecte directe de données ou une analyse de fichiers chronophage.

Exécuter un fichier via Strelka est simple. Dans cette section, les capacités d'extraction et d'analyse de Strelka sont démontrées pour une analyse unique.
Veuillez consulter la documentation pour les détails sur la façon de construire et déployer correctement Strelka dans un environnement d'entreprise.
# 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
Remarque : Vous pouvez ignorer le processus go build et utiliser l'Interface Strelka à http://0.0.0.0:9980 pour analyser des fichiers.
docker compose -f build/docker-compose-no-build.yaml up -d && \
go build github.com/target/strelka/src/go/cmd/strelka-oneshot
Remarque : Vous pouvez ignorer le processus go build et utiliser l'Interface Strelka à http://0.0.0.0:9980 pour analyser des fichiers.
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
Utilisez n'importe quel échantillon de malware, ou tout autre fichier que vous souhaitez que Strelka analyse.
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
La sortie suivante a été modifiée pour des raisons de concision.
{
"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"
]
}
}
}
Si Strelka était déployé et ingérait des fichiers dans votre environnement, vous pourriez collecter ces événements dans votre SIEM. Avec cette analyse, vous pourriez écrire une règle qui recherche les événements correspondant aux tags yara suspects, vous alertant d'un fichier potentiellement malveillant.
scan.yara.tags:("Technique_AntiDebugging" && "SubTechnique_SEH")
L'interface de Strelka est disponible lorsque vous construisez les conteneurs fournis. Cette interface web vous permet de télécharger des fichiers vers Strelka et de capturer les événements, qui sont stockés localement.
Accédez à http://localhost:9980/ et utilisez les identifiants strelka/strelka.

Avec plus de 50 scanners de fichiers pour les types de fichiers les plus courants (par exemple, exe, docx, js, zip), Strelka offre aux utilisateurs la capacité d'obtenir de nouvelles informations sur les fichiers présents sur leur hôte, réseau ou entreprise. Bien que Strelka ne soit pas un moteur de détection en soi (bien qu'il utilise YARA), il peut fournir suffisamment de métadonnées pour identifier des fichiers suspects ou malveillants. Voici quelques utilisations potentielles de Strelka :

Plus de documentation sur Strelka se trouve dans le README, y compris :
Les directives pour contribuer se trouvent ici.
Il est conseillé aux utilisateurs de précompiler leurs règles YARA pour des performances optimales et éviter les problèmes potentiels lors de l'exécution. L'utilisation de fichiers YARA précompilés permet de réduire le temps de chargement et l'utilisation des ressources, en particulier dans les environnements disposant d'un grand nombre de règles. Assurez-vous d'utiliser l'option compilée dans la configuration de Strelka pour pointer vers le fichier de règles précompilé.
Consultez les problèmes étiquetés bug dans le suivi pour tout autre problème.
Strelka et son code associé sont publiés sous les termes de la Licence Apache 2.0.