
LdapNightmare is a PoC tool that tests a vulnerable Windows Server against CVE-2024-49113
Um exploit para CVE-2024-49113 relatado por Yuki Chen (@guhe120). Uma vulnerabilidade no Lightweight Directory Access Protocol (LDAP) do Windows.
Criado pela SafeBreach Labs (publicado em 1 de janeiro de 2025). Para a análise técnica completa da vulnerabilidade e de como conseguimos explorá-la, consulte o post no blog aqui
CVE-2024-49113 é uma vulnerabilidade crítica no cliente LDAP do Windows que, de acordo com a Microsoft, permite execução remota de código. Este exploit aproveita a vulnerabilidade para derrubar sistemas Windows Server alvo ao interagir com o Netlogon Remote Protocol (NRPC) e com o cliente LDAP.
https://github.com/user-attachments/assets/1cbda4a9-943a-4e07-a95a-b20e45863ec3
Instalar Dependências:
Garanta que todos os pacotes Python necessários estejam instalados. Você pode instalá-los usando pip e o arquivo requirements.txt fornecido:
pip install -r requirements.txt
Configurar o Exploit:
target_ip: endereço IP da máquina alvo.port: porta TCP para comunicação RPC (padrão: 49664).listen_port: porta UDP na qual o servidor do exploit deve escutar (padrão: 389). Se não for alterada, a ferramenta precisa ser executada com privilégios de administrador ou root.domain_name: um nome de domínio na internet que o atacante possua. Este domínio deve ter dois registros DNS SRV associados a ele. (Registros SRV mapeiam um domínio para uma porta e outro domínio):
domain_name -> listen_port attacker's machine hostnamedomain_name -> listen_port attacker's machine hostnameattacker's machine hostname funcionará supondo que o servidor vítima consiga encontrar a máquina do atacante pelo seu hostname usando NBNS. Em vez do hostname do atacante, esse valor pode ser substituído por um nome de domínio na internet que aponte para o IP de um servidor LDAP malicioso que explore a vulnerabilidade.python LdapNightmare.py <target_ip> --domain-name <domain_name> [options]
Exemplo:
python LdapNightmare.py 192.168.1.100 --domain-name example.com
Inicia o Servidor do Exploit:
O script inicia um servidor LDAP assíncrono que escuta conexões de entrada na porta UDP especificada.
Invoca DsrGetDcNameEx2:
O script chama a função DsrGetDcNameEx2 via Netlogon Remote Protocol para fazer o servidor vítima enviar uma consulta LDAP ao atacante.
Dispara a Vulnerabilidade:
Ao enviar uma resposta especialmente elaborada, o exploit dispara a vulnerabilidade CVE-2024-49113, causando a queda do servidor vítima.
| Or Yair | Shahak Morag | |
|---|---|---|
| Or Yair | Shahak Morag | |
| @oryair1999 |
account: parâmetro de nome de conta (padrão: Administrator).site_name: parâmetro de nome de site (padrão: string vazia).| @shahakmo |