LLMNR/NBT-NS Poisoning und NTLM-Relay: vom Hash zum Zugriff ohne Cracking

Der NTLMv2-Hash aus Responder muss nicht gecrackt werden. Relay leitet die Authentifizierung live an ein anderes Ziel weiter, in Echtzeit.

Responder liefert einen NTLMv2-Hash. Der naheliegende nächste Schritt ist Cracking, offline, mit hashcat, und das funktioniert, solange das zugrunde liegende Passwort schwach genug ist. Der deutlich wirksamere nächste Schritt überspringt das Cracking komplett: NTLM-Relay leitet die eingehende Authentifizierung live an ein anderes Ziel weiter, während der Login-Vorgang noch aktiv läuft.

Warum Relay überhaupt funktioniert

NTLM-Authentifizierung ist ein Challenge-Response-Verfahren zwischen Client und genau einem Server. Das Protokoll selbst bindet die Authentifizierung nicht zwingend an ein konkretes Ziel, es verlässt sich historisch auf SMB Signing, um Manipulation der Nachrichten auf dem Weg zu verhindern. Ist SMB Signing auf dem Zielserver nicht erzwungen, kann ein Angreifer in der Mitte die Challenge des Opfer-Servers unverändert an den authentifizierenden Client weiterreichen und dessen Antwort unverändert an einen dritten Server durchleiten, als wäre er selbst der Client. Aus Sicht des dritten Servers hat sich der ursprüngliche Nutzer ganz normal authentifiziert.

Vom Poisoning zum Relay

# Auf eingehende LLMNR/NetBIOS-Anfragen hören, aber NICHT selbst antworten
sudo responder -I eth0 --disable-ess
# Eingehende NTLM-Authentifizierung live an ein Ziel ohne SMB-Signing weiterleiten
ntlmrelayx.py -tf targets.txt -smb2support

targets.txt enthält die IPs von Hosts, auf denen SMB Signing nicht erzwungen ist, typischerweise reguläre Workstations, nicht Domain Controller (die erzwingen Signing standardmäßig). Fragt irgendein Host im Segment per LLMNR nach einem nicht existierenden Namen, leitet ntlmrelayx.py die resultierende Authentifizierung direkt an einen der Ziel-Hosts weiter. Ist der authentifizierende Account lokaler Administrator auf dem Relay-Ziel, folgt eine vollständige Session auf diesem Host, ganz ohne dass ein Passwort oder Hash je gecrackt werden musste.

Achtung

Relay ist zeitkritisch: Der Angriff funktioniert nur, während die Authentifizierungs-Session aktiv ist, nicht nachträglich mit einem gespeicherten Hash. Das macht ihn schwerer reproduzierbar als reines Cracking, aber auch unabhängig von Passwortkomplexität, der Hash selbst wird nie offline angegriffen.

Erkennung

Windows Event-ID 4624 (Logon) mit Logon Type 3 (Network) von einem Host, der normalerweise nicht mit dem Zielserver kommuniziert, kombiniert mit auffälligen LLMNR-/NetBIOS-Antworten aus dem Responder-Artikel, ist der verlässlichste Korrelationspunkt. Microsoft Defender for Identity und vergleichbare AD-spezifische Detection-Tools markieren NTLM-Relay-Muster inzwischen weitgehend zuverlässig, vorausgesetzt sie sind aktiv im Netzwerksegment platziert.

Härtung

Hardening-Tipp

Die wirksamste Einzelmaßnahme: SMB Signing auf allen Hosts erzwingen (Microsoft network server: Digitally sign communications (always) per GPO), nicht nur auf Domain Controllern. Zusätzlich LLMNR und NetBIOS Name Service deaktivieren, wo fehlerfreie, vollständige interne DNS-Auflösung das überflüssig macht (Turn OFF Multicast Name Resolution per GPO für LLMNR, NetBIOS über die Netzwerkadapter-Einstellungen oder DHCP-Option 001). Beide Maßnahmen zusammen schließen sowohl den Poisoning- als auch den Relay-Schritt der Kette, einzeln genommen reicht keine der beiden vollständig aus.

#llmnr#ntlm-relay#mitre-t1557.001