
Agrega datos de MITRE ATT&CK, Sigma y Atomic Red Team en grafos de BloodHound para que los analistas de SOC puedan mapear la cobertura de detección, identificar brechas e investigar incidentes con consultas Cypher.

BloodSOCer es una herramienta de automatización en Python que agrega datos de inteligencia de amenazas de múltiples fuentes (Mitre ATT&CK, reglas Sigma, Atomic Red Team) y genera archivos JSON para ingerir en BloodHound en formato OpenGraph. BloodSOCer también puede subir los archivos a BloodHound y establecer los iconos para los objetos personalizados si tiene Tokens de API definidos en la configuración. Los analistas de seguridad pueden entonces visualizar los datos desde cualquier ángulo, y se proporcionan algunas consultas Cypher para ayudarte a empezar.
La idea detrás de este proyecto es ayudar al SOC a mapear su cobertura del Marco Mitre ATT&CK y ayudar durante la respuesta a incidentes a identificar rápidamente dónde podría haber puntos ciegos. Idealmente, el SOC mapearía sus propias detecciones y no las "genéricas" de Sigma. No me malinterpretes, Sigma es uno de mis proyectos de Código Abierto favoritos, pero la mayoría de las detecciones son más adecuadas para contexto/enriquecimiento o para generar pistas de caza de amenazas que para crear tickets accionables.
Cuando estaba en un SOC, a menudo intentábamos ver/mostrar cómo nuestras detecciones se mapeaban al Marco ATT&CK. Siempre pensé que un grafo tipo BloodHound sería increíble para eso, así que construí este proyecto con la esperanza de que ayude a los compañeros del Blue Team a visualizar su cobertura y cómo están enlazadas las diferentes piezas.
Con la ingesta de ART, también es posible ver qué TTP son fáciles de probar y cuáles no se pueden probar fácilmente.
Te animo encarecidamente a compartir Reglas Sigma y ART de vuelta al proyecto original si creas detecciones/pruebas para un TTP que no tenga ninguna.
UL-Cyphers.py o --setuphttp://127.0.0.1:8080)Clona el repositorio:
git clone https://github.com/yourusername/BloodSOCer.git
cd BloodSOCer
Instala las dependencias:
pip3 install -r requirements.txt
Configura las credenciales de API en BloodSOCer.py:
apikey = "your-api-key-here"
apiid = "your-api-id-here"
python3 BloodSOCer.py
python3 BloodSOCer.py -h
python3 BloodSOCer.py --mitre, -m
python3 BloodSOCer.py --sigma, -s
python3 BloodSOCer.py --art, -r
python3 BloodSOCer.py --define-icons, -di
python3 BloodSOCer.py --setup, -st
python3 BloodSOCer.py --upload-only, -ul
python3 BloodSOCer.py --all, -a
python3 BloodSOCer.py --mitre --sigma --define-icons
python3 BloodSOCer.py --clear-db
NOTA: Para --define-icons y --upload-only, deben definirse una Clave de API y un Secreto de API en BloodSOCer.py
Edita BloodSOCer.py para personalizar:
http://127.0.0.1:8080)BloodSOCer/
├── BloodSOCer.py # Punto de entrada principal
├── MitreHound.py # Obtenedor de datos MITRE ATT&CK
├── ARTHound.py # Obtenedor de datos Atomic Red Team
├── SigmaHound.py # Obtenedor de datos de reglas Sigma
├── Define-Icons.py # Personalizador de iconos de BloodHound
├── UL-Cyphers.py # Sube Cyphers personalizados para ayudar a consultar los datos ingeridos
├── Cyphers/ # Consultas guardadas (Cypher) JSONs
├── ressources/ # Imágenes/diagramas (grafo de Arrows, logo)
├── README.md # Este archivo
├── requirements.txt # Dependencias de Python
└── output/ # Archivos *_graph.json generados
Este proyecto añade los siguientes tipos de nodos
Este proyecto añade las siguientes aristas/relaciones
Explota una (Sub-)TécnicaUsa una Herramienta o una (Sub-)TécnicaParteDe una TácticaSubTécnicaDe una TécnicaDetectadaPor una ReglaProbadaPor un ARTInvestigaCon un PlaybookBloodSOCer Arrows Graph
Para descargar el archivo json de este grafo de Arrows.app haz clic aquí
Detecciones para FIN7 usando Mimikatz

Tácticas usadas por FIN7

Detección y prueba para la actividad de FIN7

Playbooks para investigar la actividad de FIN7 y Scattered Spider

Define-Icons.py se aplicarán a la interfaz de BloodHoundApache 2.0
Cuando escuché por primera vez sobre OpenGraph, inmediatamente pensé que sería una gran manera de ingerir el Marco Mitre ATT&CK y usar BloodHound para visualizarlo. Olaf Hartong hizo eso hace unos años ver su blog aparentemente inspirado por SadProcessor, que ahora es un colega mío. Cerramos el círculo con esto.
Las solicitudes de cambio (pull requests) y los problemas (issues) son bienvenidos.