Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/1posix/cve-2026-41089-poc
Analyse des VulnérabilitésExploitationSécurité RéseauTests d'IntrusionRed Teaming
GitHub1posix/cve-2026-41089-poc

CVE-2026-41089-PoC

CVE-2026-41089 LongLogon : crasher de dépassement de tampon de pile pré-auth CLDAP (UDP/389) pour Netlogon de Windows Server 2025 non corrigé (lsass 0xc0000409). PoC Python uniquement basé sur la bibliothèque standard + rapport de laboratoire.

Voir le dépôt
il y a 5 joursPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2026-41089 — LongLogon (PoC de plantage)

Débordement de tampon de pile avant authentification dans le service Netlogon de Windows Server 2025. Un seul paquet CLDAP (UDP/389) provenant de n'importe quel hôte sur le réseau suffit : lsass.exe meurt avec STATUS_STACK_BUFFER_OVERRUN (0xc0000409) et le contrôleur de domaine redémarre.

  • Composant : netlogon.dll, NlGetLocalPingResponse / BuildSamLogonResponse
  • Vecteur : un paquet UDP/389, non authentifié
  • Impact : DoS (plantage de lsass.exe, redémarrage du DC)
  • Corrigé dans : build 10.0.26100.32772 et versions ultérieures

Fonctionnement

La réponse à un ping CLDAP Netlogon est sérialisée dans un tampon de pile de 528 octets. Le serveur écrit ses propres noms (forêt, domaine, nom d'hôte) suivis du champ User contrôlé par l'attaquant (limité à 130 caractères larges). Lorsque le remplissage total atteint 536 octets (tampon + cookie de pile), le L'\0' final écrase le cookie /GS et le processus plante.

Le champ NtVer détermine le chemin de code : 0x02 emprunte le BuildSamLogonResponse vulnérable, tandis que 0x06 / 0x16 empruntent le BuildSamLogonResponseEx borné (sûr). Ce PoC envoie NtVer = 0x02.

Prérequis

  • DC Windows Server 2025 non corrigé : netlogon.dll < 10.0.26100.32772
  • Un domaine DNS long pour que le remplissage projeté (User=130) atteigne >= 536 octets. Windows Server 2025 limite les noms de domaine AD à 64 caractères ; avec un nom d'hôte de 63 caractères, le remplissage mesuré est de 581 octets (plantage garanti). Des combinaisons plus courtes (par ex. 533 octets) sont limites.
  • UDP/389 accessible depuis l'hôte attaquant
  • Python >= 3.9 (stdlib uniquement, aucune dépendance)

Utilisation

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

--dry-run sonde avec User=1 (bénin), affiche le remplissage projeté, ne tire pas --shots N nombre de paquets de débordement à envoyer (par défaut 1) --confirm-wait S attente avant de re-sonder après un tir silencieux (par défaut 75s) --force tire même si le remplissage projeté est inférieur à 536 octets

Exemple (remplacez l'IP et le domaine par vos valeurs de labo) :

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

Sortie attendue du tir :

[*] 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)

Codes de sortie : 0 plantage probable, 1 DC silencieux lors de la sonde initiale, 2 remplissage inférieur à 536 octets (limite), 3 DC a survécu.

Remarque : le script re-sonde après 75 secondes car un seul paquet silencieux peut aussi être un datagramme UDP perdu. Ne concluez pas à un plantage à partir du silence seul.

Vérification des préconditions (non destructive)

Utilisez le vérificateur officiel du dépôt de recherche. Il sonde avec User=1, donc le DC reste actif :

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

Attendu : « PRECONDITION MET » avec un remplissage projeté d'au moins 536 octets.

Le vérificateur ne prouve pas l'état du correctif : un DC corrigé emprunte le même chemin de code et refuse simplement l'écriture trop longue. Vérifiez la version de netlogon.dll sur le DC directement (< 10.0.26100.32772 = vulnérable).

Confirmation après le plantage

Sur le DC, une fois qu'il est de nouveau opérationnel :

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

Recherchez l'événement 1000 : application défaillante lsass.exe, module défaillant netlogon.DLL, code d'exception 0xc0000409, et une heure de démarrage postérieure au tir.

Résultats en labo

Testé sur Windows Server 2025, lsass.exe 10.0.26100.7309, netlogon.dll 10.0.26100.32230 (non corrigé), domaine de 64 caractères + nom d'hôte de 63 caractères (remplissage projeté 581 octets). Un paquet tiré :

    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)

Remarques

  • DoS, pas RCE, par défaut : le cookie /GS transforme le débordement en un plantage contrôlé avant que l'adresse de retour ne soit atteinte. Le champ User est entièrement contrôlé par l'attaquant, ce qui constitue un chemin théorique vers l'exécution de code.
  • Fenêtre limite : entre 528 et 535 octets de remplissage, le plantage n'est pas garanti (mesures en labo : 535 B = 6/6 plantages, 534 B = 0/6).
  • Le plantage n'est pas idempotent : prenez un instantané du DC avant de tirer.
  • Après un plantage, le DC peut revenir avec Netlogon DBFlag 0x2080FFFF (mode réparation), ce qui est normal après un plantage de lsass.

Avertissement

Ce PoC est fourni à des fins éducatives et de recherche uniquement. Il a été développé et testé dans un environnement de labo isolé sur Windows Server 2025. Utilisez-le à vos propres risques.

En utilisant ce script, vous acceptez que l'auteur ne soit pas responsable de toute perte de données, interruption de service, dommage matériel ou autre conséquence directe ou indirecte. Le plantage n'est pas idempotent : le contrôleur de domaine cible va redémarrer. Prenez un instantané avant de tirer.

Aucune garantie n'est donnée que ce PoC fonctionne dans un environnement de production ou sur toutes les builds de Windows Server 2025.

Références

  • Recherche et vérificateur : https://github.com/ADScanPro/CVE-2026-41089-LongLogon
  • Article : https://adscanpro.com/blog/patch-diffing-cve-2026-41089-netlogon
Télécharger l’outil