
Escaneamento de arquivos em tempo real, baseado em contêineres, em escala empresarial.
Strelka é um sistema de varredura de arquivos em tempo real, baseado em contêineres, usado para caça a ameaças, detecção de ameaças e resposta a incidentes. Originalmente baseado no design estabelecido pelo Laika BOSS da Lockheed Martin e projetos similares (veja: projetos relacionados), o Strelka tem como objetivo realizar extração de arquivos e coleta de metadados em escala empresarial.
O Strelka difere de seus projetos irmãos em alguns aspectos significativos:
Strelka é uma plataforma modular de varredura de dados, permitindo que usuários ou sistemas enviem arquivos com o objetivo de analisar, extrair e relatar conteúdo e metadados de arquivos. Combinado com um SIEM, o Strelka é capaz de agregar, alertar e fornecer aos analistas a capacidade de entender melhor seu ambiente sem ter que realizar coleta direta de dados ou análise demorada de arquivos.

Executar um arquivo através do Strelka é simples. Nesta seção, as capacidades de extração e análise do Strelka são demonstradas para uma análise única.
Por favor, revise a documentação para detalhes sobre como construir e implantar corretamente o Strelka em um ambiente empresarial.
# 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: Você pode pular o processo go build e usar a Interface do Strelka em http://0.0.0.0:9980 para analisar arquivos.
docker compose -f build/docker-compose-no-build.yaml up -d && \
go build github.com/target/strelka/src/go/cmd/strelka-oneshot
Nota: Você pode pular o processo go build e usar a Interface do Strelka em http://0.0.0.0:9980 para analisar arquivos.
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
Use qualquer amostra de malware, ou outro arquivo que você gostaria que o Strelka analisasse.
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
A seguinte saída foi editada para brevidade.
{
"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 o Strelka estivesse implantado e ingerindo arquivos em seu ambiente, você poderia estar coletando esses eventos em seu SIEM. Com essa análise, você poderia escrever uma regra que procura por eventos correspondentes às tags yara suspeitas, alertando sobre um arquivo potencialmente malicioso.
scan.yara.tags:("Technique_AntiDebugging" && "SubTechnique_SEH")
A Interface do Strelka está disponível quando você constrói os contêineres fornecidos. Esta interface web permite que você faça upload de arquivos para o Strelka e capture os eventos, que são armazenados localmente.
Navegue até http://localhost:9980/ e use o login strelka/strelka.

Com mais de 50 scanners de arquivos para os tipos de arquivos mais comuns (ex.: exe, docx, js, zip), o Strelka oferece aos usuários a capacidade de obter novos insights sobre arquivos em seu host, rede ou empresa. Embora o Strelka não seja um mecanismo de detecção por si só (embora utilize YARA), ele pode fornecer metadados suficientes para identificar arquivos suspeitos ou maliciosos. Alguns usos potenciais para o Strelka incluem:

Mais documentação sobre o Strelka pode ser encontrada no README, incluindo:
Diretrizes para contribuição podem ser encontradas aqui.
Recomenda-se que os usuários pré-compilem suas regras YARA para desempenho ideal e para evitar possíveis problemas durante a execução. Usar arquivos YARA pré-compilados ajuda a reduzir o tempo de carregamento e o uso de recursos, especialmente em ambientes com um grande conjunto de regras. Certifique-se de usar a opção compilada na configuração do Strelka para apontar para o arquivo de regras pré-compilado.
Veja issues marcadas como bug no rastreador para quaisquer problemas adicionais.
O Strelka e seu código associado são liberados sob os termos da Licença Apache 2.0.