
Aggregiert MITRE ATT&CK-, Sigma- und Atomic-Red-Team-Daten in BloodHound-Graphen, damit SOC-Analysten die Erkennungsabdeckung abbilden, Lücken identifizieren und Vorfälle mit Cypher-Abfragen untersuchen können.

BloodSOCer ist ein Python-Automatisierungstool, das Threat-Intelligence-Daten aus mehreren Quellen (Mitre ATT&CK, Sigma-Regeln, Atomic Red Team) aggregiert und JSON-Dateien erzeugt, die im OpenGraph-Format in BloodHound importiert werden können. BloodSOCer kann die Dateien auch in BloodHound hochladen und die Symbole für die benutzerdefinierten Objekte festlegen, sofern in der Konfiguration API-Tokens definiert sind. Sicherheitsanalysten können die Daten dann aus jedem Blickwinkel visualisieren; einige Cypher-Abfragen werden mitgeliefert, um den Einstieg zu erleichtern.
Die Idee hinter diesem Projekt ist es, dem SOC zu helfen, seine Abdeckung des Mitre-ATT&CK-Frameworks zu kartieren und bei der Incident Response schnell zu erkennen, wo es möglicherweise blinde Flecken gibt. Idealerweise würde das SOC seine eigenen Detections abbilden und nicht die „vorgefertigten" von Sigma. Versteht mich nicht falsch, Sigma ist eines meiner liebsten Open-Source-Projekte, aber die meisten Detections eignen sich besser für Kontext/Anreicherung oder erzeugen Threat-Hunting-Hinweise, als dass sie verwertbare Tickets erzeugen.
Als ich in einem SOC war, versuchten wir oft zu zeigen, wie unsere Detections auf das ATT&CK-Framework abbilden. Ich fand, dass ein Graph wie bei BloodHound dafür großartig wäre, also habe ich dieses Projekt gebaut, in der Hoffnung, dass es meinen Blue-Team-Kollegen hilft, ihre Abdeckung zu visualisieren und zu sehen, wie die verschiedenen Teile miteinander verknüpft sind.
Mit der Aufnahme von ART ist es auch möglich zu sehen, welche TTPs einfach zu testen sind und welche nicht ohne Weiteres getestet werden können.
Ich empfehle nachdrücklich, Sigma-Regeln und ART an das ursprüngliche Projekt zurückzugeben, wenn ihr Detections/Tests für eine TTP erstellt, für die es noch keine gibt.
UL-Cyphers.py oder --setup in BloodHound importierenhttp://127.0.0.1:8080)Repository klonen:
git clone https://github.com/yourusername/BloodSOCer.git
cd BloodSOCer
Abhängigkeiten installieren:
pip3 install -r requirements.txt
API-Anmeldedaten in BloodSOCer.py konfigurieren:
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
HINWEIS: Für --define-icons und --upload-only müssen ein API-Key und ein API-Secret in BloodSOCer.py definiert sein.
Bearbeite BloodSOCer.py, um Folgendes anzupassen:
http://127.0.0.1:8080)BloodSOCer/
├── BloodSOCer.py # Main entry point
├── MitreHound.py # MITRE ATT&CK data fetcher
├── ARTHound.py # Atomic Red Team data fetcher
├── SigmaHound.py # Sigma rules data fetcher
├── Define-Icons.py # BloodHound icon customizer
├── UL-Cyphers.py # Upload custom Cyphers to help query ingested data
├── Cyphers/ # Saved queries (Cypher) JSONs
├── ressources/ # Images/diagrams (Arrows graph, logo)
├── README.md # This file
├── requirements.txt # Python dependencies
└── output/ # Generated *_graph.json files
Dieses Projekt fügt die folgenden Knotentypen hinzu
Dieses Projekt fügt die folgenden Kanten/Beziehungen hinzu
Exploits eine (Sub-)TechnikUses ein Tool oder eine (Sub-)TechnikPartOf einer TaktikSubTechniqueOf einer TechnikDetectedBy einer RegelTestedBy einem ARTInvestigateWith einem Playbook untersuchtBloodSOCer Arrows Graph
Um die json-Datei dieses Arrows.app-Graphen herunterzuladen, klicke hier
Detections für FIN7 mit Mimikatz

Von FIN7 verwendete Taktiken

Erkennung und Test für FIN7-Aktivitäten

Playbooks zur Untersuchung von FIN7- & Scattered-Spider-Aktivitäten

Define-Icons.py definierten benutzerdefinierten Symbole werden auf die BloodHound-Oberfläche angewendetApache 2.0
Als ich zum ersten Mal von OpenGraph hörte, dachte ich sofort, dass es eine großartige Möglichkeit wäre, das Mitre ATT&CK-Framework zu importieren und BloodHound zur Visualisierung zu nutzen. Olaf Hartong hat das vor einigen Jahren getan, siehe seinen Blog, offenbar inspiriert von SadProcessor, der jetzt ein Kollege von mir ist. Damit hat sich der Kreis geschlossen.
Pull Requests und Issues sind willkommen.