
Scansione di file in tempo reale basata su container su scala aziendale
Strelka è un sistema di scansione file in tempo reale basato su container, utilizzato per la caccia alle minacce, il rilevamento delle minacce e la risposta agli incidenti. Originariamente basato sul design stabilito da Lockheed Martin Laika BOSS e progetti simili (vedi: progetti correlati), lo scopo di Strelka è eseguire l'estrazione di file e la raccolta di metadati su scala aziendale.
Strelka si differenzia dai progetti fratelli in alcuni aspetti significativi:
Strelka è una piattaforma modulare di scansione dati che consente a utenti o sistemi di inviare file allo scopo di analizzare, estrarre e riportare contenuti e metadati dei file. Abbinato a un SIEM, Strelka è in grado di aggregare, allertare e fornire agli analisti la capacità di comprendere meglio il proprio ambiente senza dover eseguire raccolta diretta di dati o analisi file dispendiose in tempo.

Eseguire un file attraverso Strelka è semplice. In questa sezione, le capacità di estrazione e analisi di Strelka vengono dimostrate per un'analisi una tantum.
Si prega di consultare la documentazione per i dettagli su come costruire e distribuire correttamente Strelka in un ambiente aziendale.
# 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
Nota: Puoi saltare il processo go build e utilizzare la Strelka UI all'indirizzo http://0.0.0.0:9980 per analizzare i file.
docker compose -f build/docker-compose-no-build.yaml up -d && \
go build github.com/target/strelka/src/go/cmd/strelka-oneshot
Nota: Puoi saltare il processo go build e utilizzare la Strelka UI all'indirizzo http://0.0.0.0:9980 per analizzare i file.
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
Usa qualsiasi campione di malware, o altro file che desideri far analizzare a Strelka.
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
Il seguente output è stato modificato per brevità.
{
"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"
]
}
}
}
Se Strelka fosse distribuito e stesse acquisendo file nel tuo ambiente, potresti raccogliere questi eventi nel tuo SIEM. Con questa analisi, potresti scrivere una regola che cerchi eventi corrispondenti ai tag yara sospetti, avvisandoti di un file potenzialmente malevolo.
scan.yara.tags:("Technique_AntiDebugging" && "SubTechnique_SEH")
L'interfaccia di Strelka è disponibile quando costruisci i container forniti. Questa interfaccia web ti consente di caricare file su Strelka e catturare gli eventi, che vengono memorizzati localmente.
Naviga su http://localhost:9980/ e usa le credenziali strelka/strelka.

Con oltre 50 scanner di file per i tipi di file più comuni (es. exe, docx, js, zip), Strelka fornisce agli utenti la capacità di ottenere nuove informazioni sui file presenti sul proprio host, rete o azienda. Sebbene Strelka non sia un motore di rilevamento in sé (anche se utilizza YARA), può fornire metadati sufficienti per identificare file sospetti o malevoli. Alcuni usi potenziali di Strelka includono:

Ulteriore documentazione su Strelka può essere trovata nel README, inclusi:
Linee guida per contribuire si trovano qui.
Si consiglia agli utenti di precompilare le proprie regole YARA per prestazioni ottimali e per evitare potenziali problemi durante l'esecuzione. L'uso di file YARA precompilati aiuta a ridurre i tempi di caricamento e l'utilizzo delle risorse, specialmente in ambienti con un ampio set di regole. Assicurati di utilizzare l'opzione compilata nella configurazione di Strelka per puntare al file di regole precompilato.
Vedi i problemi etichettati come bug nel tracker per eventuali altri problemi.
Strelka e il suo codice associato sono rilasciati secondo i termini della Licenza Apache 2.0.