Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Strumenti/GitHubGitHub/razureink/cve-2024-49113-ldap_nightmare_reproduction
Analisi delle VulnerabilitàExploitPenetration TestingApprendimento e FormazioneRed TeamingBinary ExploitationLab e Pratica
GitHubrazureink/cve-2024-49113-ldap_nightmare_reproduction

cve-2024-49113-ldap_nightmare_reproduction

Riproduzione di cve-2024-49113-ldap_nightmare_reproduction

Vedi Repository
21 mese faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2024-49113 — LDAP Nightmare

Esecuzione di codice in remoto nel client LDAP di Windows (overflow del buffer basato su heap)

CampoValore
CVECVE-2024-49113
AliasLDAP Nightmare
CVSS 3.19.8 — CRITICO
CWECWE-122 — Overflow del buffer basato su heap
ScopertaSafeBreach (PoC pubblicato a gennaio 2025)
SfruttamentoConfermato sfruttamento attivo in ambienti reali
PatchPatch Tuesday di Microsoft di dicembre 2024 (KB5048685 / KB5048652)

1. Panoramica

CVE-2024-49113 è una vulnerabilità critica di overflow del buffer basato su heap nella libreria client LDAP di Windows (wldap32.dll). Un attaccante remoto non autenticato può attivare la vulnerabilità inviando una risposta LDAP appositamente predisposta a una macchina Windows vittima che effettua una query LDAP (ad esempio, un controller di dominio che esegue ricerche nella directory).

Poiché i controller di dominio Windows inviano regolarmente query LDAP ad altri controller di dominio, server membri e server di catalogo globale, questa falla è particolarmente pericolosa negli ambienti Active Directory. Uno sfruttamento riuscito consente di ottenere l'esecuzione di codice in remoto nel contesto dell'account Sistema locale (sui controller di dominio), dando all'attaccante il controllo completo del server preso di mira.

La prova di concerto pubblica (soprannominata "LDAP Nightmare") è stata rilasciata da SafeBreach a gennaio 2025, dopo che Microsoft ha distribuito le correzioni con il Patch Tuesday di dicembre 2024.


2. Dettagli tecnici

Causa principale

La vulnerabilità risiede in wldap32.dll — l'implementazione Windows del client Lightweight Directory Access Protocol (LDAP) come definito nella RFC 4511.

Quando un client LDAP riceve una risposta Search Result Entry (Voce del risultato di ricerca), la libreria analizza le Protocol Data Unit (PDU) del messaggio LDAP in un ciclo di decodifica BER (Basic Encoding Rules). Un difetto nella logica di allocazione della memoria heap durante l'analisi dei valori degli attributi LDAP fa sì che il decodificatore scriva dati oltre i limiti di un buffer allocato nello heap.

Nello specifico:

  1. Il decodificatore BER legge il campo length (lunghezza) di un valore di attributo LDAP.
  2. Un buffer heap viene allocato in base a questa lunghezza.
  3. Durante la decodifica (specialmente quando gestisce stringhe costruite o codifiche multi-byte), il decodificatore non tiene traccia correttamente dell'offset all'interno del buffer.
  4. Ciò porta a un overflow dello heap controllato fino a diversi kilobyte.

Condizioni di attivazione

  • La vittima deve avviare una query LDAP (bind + richiesta di ricerca).
  • Il server LDAP malevolo dell'attaccante invia una risposta Search Result Entry (LDAP_RES_SEARCH_ENTRY) appositamente predisposta.
  • L'overflow si verifica prima di qualsiasi validazione a livello applicativo dei dati della risposta.
  • Non è richiesta alcuna autenticazione: l'overflow può essere attivato durante un bind LDAP anonimo.

Impatto

  • Riservatezza: compromissione completa di tutti i dati sul sistema.
  • Integrità: piena capacità di scrittura; l'attaccante può installare programmi, modificare dati, creare account.
  • Disponibilità: controllo completo sul bersaglio; possibilità di negare il servizio.
  • Persistenza: l'esecuzione di codice in remoto come SYSTEM sui controller di dominio consente il movimento laterale nell'intero dominio.

3. Versioni interessate

Tutte le edizioni supportate di Windows Server e Windows Client sono vulnerabili prima degli aggiornamenti di sicurezza del 10 dicembre 2024:

Windows Server (Controller di dominio — rischio più alto)

  • Windows Server 2025, 2022, 2019, 2016, 2012 R2, 2012, 2008 R2 SP1

Windows Client (meno probabile che venga attivato, ma comunque vulnerabile)

  • Windows 11 24H2 / 23H2 / 22H2 / 21H2
  • Windows 10 22H2 / 21H2

Gli aggiornamenti del Patch Tuesday di dicembre 2024 che risolvono questa CVE sono:

  • KB5048685 — Windows Server 2025 / Windows 11 24H2
  • KB5048652 — Windows Server 2022 / Windows 11 23H2
  • KB5048661 — Windows 10 22H2
  • E aggiornamenti equivalenti per altre versioni (vedi avviso MSRC).

4. Passaggi per la riproduzione

Architettura

root@kitploit:~
┌──────────────────┐          LDAP Query           ┌─────────────────────┐
│   Victim Host    │ ──────────────────────────▶   │  Attacker LDAP      │
│  (Windows DC)    │                               │  Server (This PoC)  │
│                  │ ◀──────────────────────────   │                     │
│  wldap32.dll     │    Crafted LDAP Response      │  exploit.py         │
│  overflowed      │    (heap overflow payload)    │  port 389           │
└──────────────────┘                               └─────────────────────┘

Prerequisiti

  • Un controller di dominio Windows (o un host Windows configurato per interrogare LDAP) senza le patch di dicembre 2024.
  • Python 3.8+ sulla macchina dell'attaccante (può essere Windows, Linux o macOS).
  • Connettività di rete dalla vittima all'attaccante sulla porta TCP 389.
  • Per vittime non appartenenti al dominio, potrebbe essere necessario configurare l'host in modo che punti all'attaccante come proprio server LDAP (ad esempio, tramite il file hosts o DNS).

Procedura dettagliata

1. Verificare che il bersaglio non sia patchato

Sulla vittima, controllare le KB installate:

root@kitploit:~
Get-HotFix | Where-Object { $_.HotFixID -match "KB5048685|KB5048652" }

Se non viene restituito alcun risultato, il sistema non è patchato ed è vulnerabile.

2. Avviare il server LDAP malevolo

Sulla macchina dell'attaccante, eseguire questa PoC:

root@kitploit:~
python exploit.py --listen-ip 192.168.1.100 --listen-port 389

Dove 192.168.1.100 è l'indirizzo IP dell'attaccante.

Nota: su Linux, il binding alla porta 389 richiede root (sudo). Su Windows, potrebbero essere richiesti privilegi di amministratore.

3. Attivare una query LDAP dalla vittima

Dalla macchina vittima (PowerShell, come amministratore):

root@kitploit:~
# Force an LDAP search against the attacker server
$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 "Connection attempted — check the PoC server for crash details"
}

In alternativa, usare ldp.exe (incluso con Windows Server / RSAT):

  1. Aprire ldp.exe
  2. Connection → Connect → Inserire l'IP dell'attaccante, porta 389
  3. Connection → Bind → (lasciare vuoto per l'accesso anonimo)
  4. View → Tree → Base DN: DC=evil,DC=local
  5. Fare clic su Run

4. Osservare l'overflow

  • Il server PoC stamperà [*] Sending malicious search result entry... e invierà la risposta predisposta.
  • In caso di successo, il processo lsass.exe della vittima o il processo client LDAP andrà in crash con una violazione di accesso (0xC0000005), oppure il sistema potrebbe andare in BSOD.
  • Per una vera RCE, il layout dell'heap deve essere preparato e l'overflow controllato: la PoC inclusa qui dimostra la primitiva di crash (denial of service) come punto di partenza.

Riproduzione basata su Docker (alternativa)

Viene fornito un Dockerfile per eseguire la PoC in un ambiente isolato:

root@kitploit:~
docker build -t ldap-nightmare .
docker run --rm -p 389:389 --cap-add=NET_ADMIN ldap-nightmare

5. Prova di concetto (exploit.py)

La exploit.py inclusa implementa:

  • Risposta di bind LDAP — accetta bind anonimi o semplici.
  • Search Result Entry predisposta — fornisce il payload dell'overflow dell'heap.
  • Gestore delle connessioni multithread — gestisce più connessioni della vittima.
  • Configurabile tramite argomenti da riga di comando (--listen-ip, --listen-port, --payload-size).

Struttura del payload

OffsetCampoValore
0x00Tag del messaggio LDAP (0x30)Sequenza
0x01–0x02Lunghezza totale (predisposta)Il valore grande attiva l'overflow
0x03ProtocolOp (0x64)Voce del risultato di ricerca
0x04–0x0ECampi del risultato LDAPIntestazione standard
0x0F+Elenco attributiTrigger dell'overflow (length = 0xFFFF)

Esecuzione contro un target di laboratorio

root@kitploit:~
# Start the malicious server
sudo python exploit.py --listen-ip 0.0.0.0 --listen-port 389

# In another terminal, watch for connections
tcpdump -i any port 389 -X

6. Mitigazione

Patch

Installare gli aggiornamenti del Patch Tuesday del 10 dicembre 2024:

  • Windows Update: verificare la disponibilità di aggiornamenti e installare l'aggiornamento cumulativo di dicembre 2024.
  • WSUS / SCCM: approvare e distribuire KB5048685 / KB5048652 / KB5048661 (dipende dalla versione).
  • Microsoft Catalog: scaricare i pacchetti standalone dal Microsoft Update Catalog.

Soluzioni alternative (se l'applicazione della patch è ritardata)

Se la patch non può essere applicata immediatamente:

  1. Segmentazione di rete — bloccare il traffico LDAP (TCP 389 / 636) dalle reti non attendibili verso i controller di dominio.
  2. Disabilitare le query LDAP anonime — sui controller di dominio, limitare l'accesso anonimo:
    root@kitploit:~
    Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\NTDS\Parameters" `
      -Name "LDAPServerIntegrity" -Value 2 -Type DWord
    Restart-Service NTDS
    
  3. Monitorare i crash LDAP — abilitare il controllo dei crash del client LDAP:
    root@kitploit:~
    wevtutil qe "Windows PowerShell" /f:text /q:"*[System[EventID=1000]]"
    

7. Riferimenti

FonteURL
Microsoft Security Response CenterMSRC CVE-2024-49113
SafeBreach (Scoperta originale)SafeBreach Blog — LDAP Nightmare
NVDNVD CVE-2024-49113
CWE-122Overflow del buffer basato su heap
RFC 4511Protocollo LDAPv3
Patch Tuesday di dicembre 2024Note di rilascio Microsoft

8. Disclaimer legale

Questo materiale è fornito esclusivamente a scopo didattico e per test di sicurezza autorizzati. Lo sfruttamento non autorizzato di CVE-2024-49113 contro sistemi senza esplicito permesso è illegale. Gli autori non sono responsabili di qualsiasi uso improprio di queste informazioni. Ottenere sempre un'autorizzazione scritta prima di testare qualsiasi sistema.


Scarica lo strumento