Zum Inhalt springen

Services, Wiki-Artikel, Blog-Beiträge und Glossar-Einträge durchsuchen

↑↓NavigierenEnterÖffnenESCSchließen
Angriffstechniken Glossar

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

Cookielose Analyse via Matomo (selbst gehostet, kein Tracking-Cookie). Datenschutzerklärung