
Escaneo de archivos en tiempo real basado en contenedores a escala empresarial.
Strelka es un sistema de escaneo de archivos en tiempo real basado en contenedores, utilizado para la caza de amenazas, detección de amenazas y respuesta a incidentes. Basado originalmente en el diseño establecido por Laika BOSS de Lockheed Martin y proyectos similares (ver: proyectos relacionados), el propósito de Strelka es realizar extracción de archivos y recopilación de metadatos a escala empresarial.
Strelka se diferencia de sus proyectos hermanos en algunos aspectos significativos:
Strelka es una plataforma modular de escaneo de datos, que permite a los usuarios o sistemas enviar archivos con el propósito de analizar, extraer y reportar contenido y metadatos de archivos. Combinado con un SIEM, Strelka puede agregar, alertar y proporcionar a los analistas la capacidad de comprender mejor su entorno sin tener que realizar recolección de datos directa o análisis de archivos que consume mucho tiempo.

Ejecutar un archivo a través de Strelka es simple. En esta sección, se demuestran las capacidades de extracción y análisis de Strelka para un análisis único.
Consulte la documentación para obtener detalles sobre cómo construir e implementar Strelka adecuadamente en un entorno 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: Puede omitir el proceso go build y usar la Interfaz de Strelka en http://0.0.0.0:9980 para analizar archivos.
docker compose -f build/docker-compose-no-build.yaml up -d && \
go build github.com/target/strelka/src/go/cmd/strelka-oneshot
Nota: Puede omitir el proceso go build y usar la Interfaz de Strelka en http://0.0.0.0:9980 para analizar archivos.
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 cualquier muestra de malware u otro archivo que desee que Strelka analice.
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 siguiente salida ha sido editada para mayor brevedad.
{
"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 estuviera desplegado e ingiriendo archivos en su entorno, podría estar recopilando estos eventos en su SIEM. Con este análisis, podría escribir una regla que busque eventos que coincidan con las etiquetas sospechosas de yara, alertándole sobre un archivo potencialmente malicioso.
scan.yara.tags:("Technique_AntiDebugging" && "SubTechnique_SEH")
La Interfaz de Strelka está disponible cuando construye los contenedores proporcionados. Esta interfaz web le permite cargar archivos a Strelka y capturar los eventos, que se almacenan localmente.
Navegue a http://localhost:9980/ y utilice el inicio de sesión strelka/strelka.

Con más de 50 escáneres de archivos para los tipos de archivos más comunes (por ejemplo, exe, docx, js, zip), Strelka proporciona a los usuarios la capacidad de obtener nuevos conocimientos sobre los archivos en su host, red o empresa. Si bien Strelka no es un motor de detección en sí mismo (aunque utiliza YARA), puede proporcionar suficientes metadatos para identificar archivos sospechosos o maliciosos. Algunos usos potenciales de Strelka incluyen:

Se puede encontrar más documentación sobre Strelka en el README, incluyendo:
Las pautas para contribuir se pueden encontrar aquí.
Se recomienda a los usuarios precompilar sus reglas YARA para un rendimiento óptimo y para evitar posibles problemas durante la ejecución. El uso de archivos YARA precompilados ayuda a reducir el tiempo de carga y el uso de recursos, especialmente en entornos con un gran conjunto de reglas. Asegúrese de usar la opción compilada en la configuración de Strelka para apuntar al archivo de reglas precompilado.
Consulte los problemas etiquetados como bug en el rastreador para cualquier problema adicional.
Strelka y su código asociado se publican bajo los términos de la Licencia Apache 2.0.