Lateral Movement - Wie Angreifer sich im Netz ausbreiten
Lateral Movement beschreibt die Ausbreitung eines Angreifers nach dem Initial Access: Pass-the-Hash, Pass-the-Ticket, Kerberoasting, Overpass-the-Hash, Golden/Silver Ticket, DCSync. MITRE ATT&CK: TA0008. Tools: BloodHound (Pfadanalyse), Impacket, CrackMapExec, Cobalt Strike. Gegenmasnahmen: Netzwerksegmentierung, Credential Guard, Protected Users Group, LAPS, Tier-Modell, privilegiertes Zugriffs-Management (PAM).
Lateral Movement ist der kritischste Angriffsschritt nach dem Initial Access: Hier entscheidet sich, ob ein kompromittierter Laptop zum Totalverlust des Active Directory führt.
Credential-basierte Techniken
Pass-the-Hash (PtH)
Der Angreifer stiehlt den NTLM-Hash des Nutzers (aus dem Memory via Mimikatz) und verwendet ihn direkt zur Authentifizierung - kein Passwort nötig. Funktioniert für alle NTLM-Authentifizierungen (SMB, WinRM etc.).
# Mimikatz: Hash stehlen (auf kompromittiertem System):
privilege::debug
sekurlsa::logonpasswords
# CrackMapExec: PtH-Lateral Movement:
cme smb 192.168.1.0/24 -u Administrator -H NTLM_HASH_HERE
# → Welche Maschinen sind mit diesem Hash erreichbar?
Gegenmaßnahmen:
- Credential Guard (Windows 10/11): LSASS-Schutz, verhindert Extraktion
- Protected Users Group: NTLM für diese Nutzer deaktiviert
- Netzwerksegmentierung: SMB zwischen Workstations blockieren
Pass-the-Ticket (PtT)
Kerberos-Tickets (TGT oder Service Ticket) werden aus dem Memory extrahiert und zur Authentifizierung bei anderen Systemen verwendet. Vorteil: weder Passwort-Kenntnis noch Hash-Extraktion nötig.
# Mimikatz: Ticket stehlen und importieren:
sekurlsa::tickets /export
kerberos::ptt Ticket_File.kirbi
Gegenmaßnahmen:
- Protected Users Group: keine Kerberos-Delegation
- Kürzere Ticket-Lebensdauer (Standard: 10 h TGT)
Kerberoasting
Service-Accounts mit SPN (Service Principal Name) sind angreifbar. Jeder normale User kann ein Service Ticket für jeden SPN anfordern. Das Service Ticket ist mit dem Service-Account-Passwort-Hash verschlüsselt und kann offline gecrackt werden.
# Impacket: Service Tickets anfordern
GetUserSPNs.py domain.local/user:password -dc-ip 192.168.1.10 -request
# Hashcat: offline cracken
hashcat -m 13100 -a 0 hashes.txt wordlists/rockyou.txt
Gegenmaßnahmen:
- Managed Service Accounts (gMSA/MSA): automatisch rotierte Passwörter
- Starke Passwörter für Service-Accounts (25+ Zeichen)
- AES-Verschlüsselung erzwingen (RC4 deaktivieren)
- Regelmäßige LDAP-Abfrage aller SPNs zur Identifikation schwacher Passwörter
AS-REP Roasting
Accounts mit „Do not require Kerberos preauthentication” sind anfällig. Ein Hash ist ohne gültigen Account und ohne Authentifizierung erhaltbar.
# Impacket: AS-REP Roasting
GetNPUsers.py domain.local/ -dc-ip 192.168.1.10 -no-pass -usersfile users.txt
Gegenmaßnahmen:
- Preauthentication NIE deaktivieren (außer bei zwingender Legacy-Anforderung)
- PowerShell: alle anfälligen Konten identifizieren:
Get-ADUser -Filter {DoesNotRequirePreAuth -eq $true} -Properties *
Token und Ticket Manipulation
Overpass-the-Hash
Kombination aus PtH und PtT: ein NTLM-Hash wird in ein Kerberos-TGT umgewandelt, was zu einer vollwertigen Kerberos-Authentifizierung mit gestohlenen Credentials führt.
# Mimikatz:
sekurlsa::pth /user:Administrator /domain:domain.local \
/ntlm:HASH /run:powershell.exe
Golden Ticket (gefährlichster Angriff)
Der KRBTGT-Account-Hash wird extrahiert (nur vom Domain Controller möglich). Mit dem KRBTGT-Hash können beliebige Tickets für beliebige User erstellt werden - alle Kerberos-Tickets sind damit valide, was vollständige Domain-Kontrolle bedeutet. Standard-Ticket-Gültigkeit: 10 Jahre.
# Voraussetzung: KRBTGT-Hash (nur nach DC-Kompromittierung!)
# Mimikatz: Golden Ticket erstellen:
kerberos::golden /user:Administrator /domain:domain.local \
/sid:S-1-5-21-... /krbtgt:KRBTGT_HASH /endin:99999
Gegenmaßnahmen:
- KRBTGT-Passwort zweimal rotieren (Abstand: max. Ticket-Lebensdauer)
- Ungewöhnliche Ticket-Lebensdauern im SIEM erkennen
- Kein Zugriff auf DC von normalen Workstations
- Privileged Access Workstations (PAW) für DC-Administration
Silver Ticket
Verwendet den Service-Account-Hash (leichter erhältlich als KRBTGT). Ermöglicht Service Tickets für einen bestimmten Service ohne DC-Kommunikation.
Gegenmaßnahmen:
- PAC-Validierung aktivieren (verhindert Offline-Silver-Tickets)
- gMSA statt normale Service Accounts
DCSync (Domain Secrets stehlen)
Simuliert eine Domain-Controller-Replikations-Anfrage. Kein Zugriff auf das DC-Dateisystem nötig - extrahiert alle Passwort-Hashes der Domain inklusive KRBTGT.
# Impacket: DCSync
secretsdump.py domain.local/DomainAdmin:password@dc.domain.local
# Voraussetzung: Replication-Recht (DCSync-Recht)
# Wer hat es? Domain Admins, Enterprise Admins - oft zu viele!
Gegenmaßnahmen:
- DCSync-Recht nur an echte DCs vergeben (AD-Audit!)
- Monitoring: wer sendet Replikations-Anfragen? (Event 4662)
BloodHound Angriffspfad-Analyse
BloodHound ist ein Open-Source-Tool für die Visualisierung von AD-Angriffspfaden. Es sammelt Daten per SharpHound (C#) oder BloodHound.py und visualisiert sie in einer Neo4j Graph-Datenbank. Das Tool findet den kürzesten Pfad von einem beliebigen Nutzer zu Domain Admin.
# Datensammlung (als normaler User!):
SharpHound.exe --CollectionMethods All --Domain domain.local
# BloodHound.py (von Linux aus):
bloodhound-python -u user -p password -ns 192.168.1.10 -d domain.local
Wichtige BloodHound-Queries
„Shortest Path to Domain Admin”
- Findet: wie viele Schritte bis Domain Admin?
- Typisch: 3-5 Schritte reichen (erschreckend wenige!)
„Find Kerberoastable Users”
- Alle SPNs + Privilegien-Check
- Kerberoastable DA-Rechte = sofortiger P0-Befund
„Find Computers where DA logged on”
- Auf welchen Workstations sind Domain-Admin-Tokens vorhanden?
- Diese Workstations sind Hochrisiko-Angriffsziele
„Principals with DCSync Rights”
- Wer kann DCSync ausführen?
- Sollte nur SYSTEM und spezifische AD-Replikations-Accounts sein
Defensiver BloodHound-Einsatz
Jährliche eigene AD-Analyse durchführen, um Angriffspfade zu eliminieren bevor Angreifer sie finden. Konkrete Maßnahmen: Delegation entfernen, Berechtigungen beschränken.
Netzwerk-basiertes Lateral Movement
SMB-basiertes Lateral Movement
PsExec (oder PsExec-Clone): Remote Code Execution via Admin-Share (\\server\ADMIN$). Benötigt Admin-Credentials oder Pass-the-Hash.
cme smb 192.168.1.50 -u Admin -p Passwort -x "whoami"
WMI (Windows Management Instrumentation): Remote Command Execution via DCOM. Schwerer zu erkennen als PsExec, da kein Tool-Upload erforderlich ist.
Invoke-WmiMethod -Class Win32_Process -Name Create \
-ArgumentList "cmd.exe /c whoami" -ComputerName server01
WinRM (Windows Remote Management): PowerShell Remoting. Erkennung: Event 4688 (neuer Prozess).
Enter-PSSession -ComputerName server01 -Credential $cred
DCOM-basiertes Lateral Movement
- Component Object Model: Remote-Ausführung via COM-Objekte
- Evasion: kein neuer Service, kein Tool-Upload
- Beispiele: ShellWindows, ShellBrowserWindow, MMC20.Application
RDP Hijacking
- Aktive RDP-Sitzungen anderer Nutzer übernehmen
- Benötigt SYSTEM-Privilegien auf dem Ziel
- Keine Credentials nötig (Session-Level)
Gegenmaßnahmen:
- RDP nur via Jump Server / Bastion Host
- NLA (Network Level Authentication) erzwingen
- Sitzungs-Timeouts (15 Minuten Inaktivität)
Erkennung von Lateral Movement im SIEM
Die wichtigsten Alert-Indikatoren:
- Event 4624 Logon Type 3 (Netzwerk) auf Servern von Workstations
- Event 4648 (Explicit Credentials: jemand nutzt fremde Credentials)
- Event 4769 (Service Ticket Request für seltene SPNs = Kerberoasting)
- SMB-Verbindungen zwischen Workstations (Sollwert: 0!)
- RDP-Verbindungen auf DC von Nicht-PAW-Maschinen
- Anomale Admin-Tool-Nutzung (psexec, wmic, net use)