
Scansione di file in tempo reale basata su container su scala aziendale
[Rilasci][release] | [Documentazione][wiki] | [Pull Requests][pr] | [Issues][issues]
[![Rilascio GitHub][img-version-badge]][repo] [![Stato Build][img-actions-badge]][actions-ci] [![Pull Requests][img-pr-badge]][pr] [![Slack][img-slack-badge]][slack] [![Licenza][img-license-badge]][license]
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")