Attack Path - Angriffspfad
Ein Attack Path (Angriffspfad) ist die Sequenz von Schwachstellen, Fehlkonfigurationen und Berechtigungen die ein Angreifer ausnutzt um von einem Ausgangspunkt (Initial Access) zu einem Ziel (z.B. Domain Admin, Datenbank) zu gelangen. Attack Path Analysis mit Tools wie BloodHound, Microsoft Security Exposure Management und XM Cyber identifiziert und priorisiert diese Pfade für Remediation.
Attack Paths sind der Unterschied zwischen “wir haben 5.000 CVEs” und “welche 3 Schwachstellen müssen wir heute patchen um Domain Admin zu schützen”. Ein einzelnes kompromittiertes Endpoint ist oft harmlos - aber als Startpunkt eines Attack Paths zu kritischen Systemen wird es zur Hauptbedrohung. Attack Path Analysis macht unsichtbare Risikoketten sichtbar.
Attack Path Konzept
Attack Path - von Initial Access zu kritischem Asset:
Typischer Ransomware Attack Path:
Phishing-Mail
↓ (T1566.001: Spearphishing Attachment)
Malware auf Marketing-Laptop (Initial Access)
↓ (T1059.001: PowerShell)
Credential Dumping (LSASS)
↓ (T1003.001: OS Credential Dumping)
Lokales Admin-Passwort (wiederverwendet!)
↓ (T1021.002: SMB)
Lateral Movement zu Dev-Server
↓ (T1078: Valid Accounts)
Service-Account mit AD-Gruppenrechten
↓ (T1558.003: Kerberoasting)
Domain Admin (Kerberoast des Service-Accounts)
↓
DCSync → alle Hashes → Ransomware Deployment
Angriffspfad-Länge:
Kurze Pfade (2-3 Schritte): kritischste Risiken
→ "Kompromittierter User → Lokaler Admin → DA in 2 Schritte"
→ Sofort beheben!
Lange Pfade (8-12 Schritte): Langfristige Risiken
→ Schwieriger für Angreifer (mehr Aufwand, mehr Noise)
→ Niedrigere Priorität
APT-typische Pfade: lange Pfade, langsam, leise
→ Monate zwischen Initial Access und DA
→ Detection ist das Ziel (nicht Prävention allein)
Angriffspfad-Elemente:
Nodes (Knoten): Assets, User, Gruppen, Systeme, Services
Edges (Kanten): Beziehungen und Möglichkeiten zwischen Nodes
→ "MemberOf" (User ist Mitglied einer Gruppe)
→ "HasSession" (User hat aktive Session auf Server)
→ "CanRDP" (kann RDP zu diesem System)
→ "WriteDacl" (kann ACLs des Objekts ändern!)
→ "GenericAll" (volle Kontrolle über Objekt)
→ "AllExtendedRights" (kann Passwort-Reset durchführen!)
BloodHound - Attack Path Analysis Tool
BloodHound (Open Source, SpecterOps):
→ Graph-basierte Darstellung von AD-Angriffspfaden
→ SharpHound sammelt AD-Daten → BloodHound visualisiert
→ Cypher-Query-Language für komplexe Abfragen
SharpHound Datensammlung:
# Nur für eigenes AD mit Genehmigung!
Import-Module .\SharpHound.ps1
Invoke-BloodHound -CollectionMethod All -Domain firma.de
# Erstellt ZIP mit JSON-Dateien → in BloodHound importieren
# Alternativen (agenter, weniger Noise):
.\SharpHound.exe --CollectionMethod DCOnly --Domain firma.de
# DCOnly: nur Domain Controller abfragen (weniger Netzwerk-Traffic)
BloodHound Community Edition (CE):
docker run -d -p 7474:7474 -p 7687:7687 \
--name bloodhound \
specterops/bloodhound-ce
# UI: http://localhost:7474
BloodHound Cypher Queries (wichtigste):
# Alle Pfade zu Domain Admins:
MATCH (n:User),(m:Group {name:"DOMAIN ADMINS@FIRMA.DE"})
MATCH p=shortestPath((n)-[*1..]->(m))
RETURN p
# Kerberoastbare Accounts mit Weg zu DA:
MATCH (u:User {hasspn:true}),(da:Group {name:"DOMAIN ADMINS@FIRMA.DE"})
MATCH p=shortestPath((u)-[*1..]->(da))
RETURN u.name, length(p) as hops
ORDER BY hops
# Nicht-Admin User die lokale Adminrechte haben (lateral movement!):
MATCH (u:User)-[:AdminTo]->(c:Computer)
WHERE NOT u.admincount
RETURN u.name, c.name
# Unkontrollierte GenericAll-Beziehungen:
MATCH (g:Group)-[:GenericAll]->(c:Computer)
WHERE g.name <> "DOMAIN ADMINS@FIRMA.DE"
RETURN g.name, c.name
# Pfade unter 3 Hops zu DA:
MATCH (n:User),(da:Group {name:"DOMAIN ADMINS@FIRMA.DE"})
MATCH p=shortestPath((n)-[*1..3]->(da))
RETURN n.name, length(p) as hops, p
ORDER BY hops
BloodHound Pre-built Analyses:
→ "Shortest Paths to Domain Admins": gefährlichste Pfade
→ "Shortest Paths from Kerberoastable Users": Kerberoasting-Risiko
→ "Shortest Paths to Unconstrained Delegation": Kerberos-Angriff
→ "Find Principals with DCSync Rights": wer kann Hashes exfiltrieren?
Kommerzielle Attack Path Tools
Microsoft Security Exposure Management (MSEM):
→ Teil von Microsoft Defender (seit 2024)
→ Native Integration: Entra ID, Defender for Endpoint, Sentinel
→ Attack Path Types: On-Prem AD, Azure, M365
→ KQL-basierte Abfragen auf Attack Paths
→ Choke Points: Nodes die viele Pfade bündeln → hohe Remediation-Priorität
# Microsoft Graph API:
GET https://graph.microsoft.com/beta/security/attackSimulation/...
XM Cyber:
→ Kontinuierliche Attack Path Simulation
→ Simuliert täglich tausende Angriffspfade
→ Priorisierung: welche Assets (Choke Points) eliminieren die meisten Pfade?
→ Integration: Tenable, Qualys, ServiceNow
Pentera:
→ Automatisierter Penetrationstest mit Attack Path Focus
→ Führt echte Exploitation durch (nicht nur simuliert)
→ Validiert ob Pfad tatsächlich nutzbar ist (kein False Positive)
→ Unterschied zu BAS: tatsächliche Exploitation (nicht nur Simulation)
Tenable Attack Path Analysis:
→ In Tenable.io / Tenable One integriert
→ Kombiniert Vulnerability-Daten + AD-Struktur + Asset-Kontext
→ "Blast Radius": was könnte Angreifer von diesem Asset aus erreichen?
Entscheidungsmatrix Attack Path Tool:
BloodHound CE: Kostenlos, AD-spezifisch, manuelle Analyse
XM Cyber: Enterprise, kontinuierlich, Cloud + On-Prem
Pentera: Validierte Exploitation, teuer
MSEM: Microsoft-Ökosystem, in Defender integriert
Attack Path Remediation
Priorisierung: Choke Points eliminieren:
Choke Point = Node durch den viele Angriffspfade führen
→ Einzelne Remediation blockiert viele Pfade gleichzeitig!
Typische Choke Points:
1. Service-Accounts mit hohen Privilegien und schwachen Passwörtern
→ Fix: Passwort rotieren + gMSA (Group Managed Service Account)
2. Systeme mit AdminTo-Kanten zu allen Systemen
→ Oft: IT-Helpdesk-Account ist überall lokaler Admin
→ Fix: Least Privilege, LAPS für lokale Admin-Passwörter
3. Gruppen mit GenericAll auf andere kritische Gruppen
→ Manchmal: "IT-Team" kann AD-Gruppe "Domain Admins" modifizieren!
→ Fix: ACLs bereinigen (seltenes Problem, aber kritisch!)
4. Systeme mit unkontrollierter Delegation
→ Unconstrained Delegation: Computer kann im Namen jedes Users agieren
→ Fix: Constrained Delegation oder RBCD konfigurieren
5. Lokale Admin-Passwörter wiederverwendet
→ Ohne LAPS: alle 200 Computer haben dasselbe lokale Admin-Passwort!
→ Ein Kompromittierter → Lateral Movement zu allen
→ Fix: LAPS (Local Administrator Password Solution) aktivieren
Remediation-Workflow:
1. BloodHound/MSEM: Shortest Paths zu DA identifizieren
2. Top 5 kürzeste Pfade → priorisieren
3. Choke Points auf jedem Pfad identifizieren
4. Remediation für jeden Choke Point
5. BloodHound Re-Scan: Pfad noch vorhanden?
6. Iterieren bis keine Pfade unter 5 Hops zu DA!
KPIs für Attack Path Management:
→ Anzahl Pfade zu Domain Admin (Ziel: sinkend)
→ Kürzester Pfad zu DA (Ziel: > 5 Hops)
→ Anzahl Choke Points (Ziel: keine mit >100 durchgehenden Pfaden)
→ Time to Remediate kritischer Choke Points: < 30 Tage