
LdapNightmare es una herramienta PoC que prueba un Windows Server vulnerable contra CVE-2024-49113
Un exploit para CVE-2024-49113 reportado por Yuki Chen (@guhe120). Una vulnerabilidad en el Protocolo Ligero de Acceso a Directorios (LDAP) de Windows.
Creado por SafeBreach Labs (publicado el 1 de enero de 2025). Para el análisis técnico completo de la vulnerabilidad y cómo logramos explotarla, consulta la publicación del blog aquí
CVE-2024-49113 es una vulnerabilidad crítica en el cliente LDAP de Windows que, según Microsoft, permite la ejecución remota de código. Este exploit aprovecha la vulnerabilidad para bloquear sistemas Windows Server objetivo al interactuar con su Protocolo Remoto de Netlogon (NRPC) y el cliente LDAP.
https://github.com/user-attachments/assets/1cbda4a9-943a-4e07-a95a-b20e45863ec3
Instalar dependencias:
Asegúrate de que todos los paquetes de Python requeridos estén instalados. Puedes instalarlos usando pip y el archivo requirements.txt proporcionado:
pip install -r requirements.txt
Configurar el exploit:
target_ip: Dirección IP de la máquina objetivo.port: Puerto TCP para la comunicación RPC (predeterminado: 49664).listen_port: Puerto UDP en el que el servidor del exploit escuchará (predeterminado: 389). Si no se cambia, la herramienta debe ejecutarse con privilegios de administrador o root.domain_name: Un nombre de dominio en Internet que el atacante posea. Este dominio debe tener dos registros DNS SRV bajo él. (Los registros SRV asignan un dominio a un puerto y a otro dominio):
domain_name -> listen_port nombre de host de la máquina del atacantedomain_name -> listen_port nombre de host de la máquina del atacantenombre de host de la máquina del atacante funcionará asumiendo que el servidor víctima puede encontrar la máquina del atacante por su nombre de host usando NBNS. En lugar del nombre de host del atacante, este valor puede reemplazarse con un nombre de dominio en Internet que apunte hacia la IP de un servidor LDAP malicioso que explote la vulnerabilidad.account: Parámetro del nombre de cuenta (predeterminado: Administrator).site_name: Parámetro del nombre del sitio (predeterminado: cadena vacía).python LdapNightmare.py <target_ip> --domain-name <domain_name> [options]
Ejemplo:
python LdapNightmare.py 192.168.1.100 --domain-name example.com
Inicia el servidor del exploit:
El script inicia un servidor LDAP asíncrono que escucha conexiones entrantes en el puerto UDP especificado.
Invoca DsrGetDcNameEx2:
El script llama a la función DsrGetDcNameEx2 a través del Protocolo Remoto de Netlogon para provocar que el servidor víctima envíe una consulta LDAP al atacante.
Activa la vulnerabilidad:
Al enviar una respuesta especialmente diseñada, el exploit activa la vulnerabilidad CVE-2024-49113, causando que el servidor víctima se bloquee.
| Or Yair | Shahak Morag | |
|---|---|---|
| Or Yair | Shahak Morag | |
| @oryair1999 | @shahakmo |