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
adnullenum — Énumération anonyme d'Active Directory en une seule passe via SAMR et LSARPC — session nulle, sans identifiants, avec une sortie structurée réutilisable. | Kitploit
Outils/GitHubGitHub/crypt0p3g/adnullenum
Outils DéfensifsOSINT (Renseignement de Sources Ouvertes)ReconnaissanceAnalyse des VulnérabilitésCollecte d'InformationsSécurité RéseauTests d'IntrusionRed Teaming
GitHubcrypt0p3g/adnullenum

adnullenum

Énumération anonyme d'Active Directory en une seule passe via SAMR et LSARPC — session nulle, sans identifiants, avec une sortie structurée réutilisable.

691074il y a 23 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 →
Voir le dépôt
Partager

adnullenum

Un énumérateur Active Directory à passe unique pour une session anonyme (null), utilisant les named pipes \samr et \lsarpc. Aucun identifiant requis.

Il ne fait rien que les outils classiques ne peuvent pas faire. Ce qu'il fait, c'est tout rassembler en une seule exécution et présenter les résultats proprement. Lors d'un engagement, vous arrivez sans compte de domaine, vous trouvez le DC via DNS, et vous voulez la vue complète — comptes, détail par utilisateur, groupes, politique, et les éléments LSA/DNS — sans avoir à assembler des sessions rpcclient ou plusieurs scripts séparés puis à parser leur stdout à la main. Cet outil fait cette passe pour vous et écrit une sortie structurée et réutilisable :

  • Une seule commande couvre les infos de domaine, la politique, la découverte des RID, le détail par utilisateur et les groupes, en choisissant la méthode qui fonctionne et en se dégradant proprement quand SAMR est verrouillé (voir Comment il se compare et Quand SAMR est verrouillé).
  • Une sortie conçue pour alimenter l'outil suivant. Des dossiers d'exécution horodatés avec txt / csv / (optionnel) json, un manifest.json, des userlist.txt / computerlist.txt prêts à l'emploi, et une liste de RID sauvegardée que vous pouvez réutiliser au lieu de brute-forcer deux fois.
  • Comptes intéressants signalés au passage (AS-REP-roastable, mot de passe non requis, délégation non contrainte, etc.).

Veuillez n'exécuter ceci que contre des systèmes que vous possédez ou que vous êtes explicitement autorisé à tester. Énumérer l'annuaire de quelqu'un d'autre sans autorisation n'est pas acceptable, et selon votre localisation, cela peut être illégal.

Il existe deux versions qui se comportent de manière identique. Utilisez celle dont vous disposez la bibliothèque :

  • adnullenum.py — basé sur impacket.

Ce qu'il collecte

  • Utilisateurs, ordinateurs et groupes. Les comptes machine (ceux se terminant par $) sont séparés des vrais utilisateurs.
  • Détail complet par utilisateur. Description, appartenances aux groupes, horodatages de mot de passe et d'ouverture de session, indicateurs de compte, et restrictions de connexion (heures de connexion, stations de travail autorisées, expiration).
  • Groupes avec leurs membres, résolus en noms réels.
  • Infos de domaine et de politique. Nom de domaine, SID, rôle du serveur, les comptes réels d'utilisateurs/groupes/ordinateurs, et la politique de mot de passe et de verrouillage.
  • Détails LSA / DNS. Nom de domaine et de forêt DNS, GUID de domaine, SID de domaine, et éventuelles approbations — ceux-ci reviennent souvent même quand SAMR lui-même est verrouillé.

Il signale aussi les comptes intéressants pour vous : des choses comme « mot de passe non requis », « le mot de passe n'expire jamais », AS-REP-roastable, délégation non contrainte, jamais connecté, ou une description qui mentionne un mot de passe.

Quelques éléments qui en découlent naturellement :

  • Les noms d'utilisateur que vous collectez constituent votre liste pour l'AS-REP roasting.
  • Les noms d'ordinateur constituent votre liste pour les vérifications de comptes machine pré-Windows 2000.

Comment il se compare

Tout ici est du SAMR/LSARPC anonyme standard, et les outils établis atteignent déjà les mêmes données. C'est un wrapper de commodité, pas une nouvelle capacité, donc il vaut la peine de connaître les alternatives :

  • enum4linux-ng est l'équivalent le plus proche : SAMR + LSA en session nulle, RID cycling, politique, utilisateurs et groupes. Si vous voulez un outil mature et largement utilisé, utilisez-le. adnullenum le recoupe largement.
  • NetExec (--rid-brute, --users, --pass-pol) couvre la même énumération au sein d'un framework bien plus vaste.
  • impacket le fournit sous forme de deux scripts : samrdump.py (utilisateurs/groupes/alias + détail par utilisateur) et lookupsid.py (RID cycling via LSA). Pas d'exécution unique, pas de repli SAMR→LSA, stdout uniquement.
  • rpcclient expose les appels sous-jacents (queryuser, enumdomusers, querydominfo, lsaquery, lookupsids, …) mais de manière interactive et en stdout uniquement. Son enumdomusers liste les utilisateurs standard par nom, sans comptes machine ($), et le détail complet se fait via queryuser un par un. Sans boucle de RID cycling intégrée, il ne peut pas récupérer les ordinateurs ni contourner une énumération restreinte. Voir Le faire à la main.

Ce qu'adnullenum ajoute, c'est l'emballage : une seule exécution en session nulle au lieu de plusieurs outils, SAMR en premier avec un repli LSA optionnel, des indicateurs de comptes intéressants sélectionnés, et une sortie multi-format soignée que vous pouvez transmettre directement à l'étape suivante ou rouvrir plus tard. Si ce flux de travail correspond à votre façon de travailler, utilisez-le ; si vous préférez un outil éprouvé, tournez-vous vers enum4linux-ng ou NetExec.


Installation

Vous avez besoin de Python 3.9+ et d'une bibliothèque SMB. Un environnement virtuel garde tout propre :

# clone / copy the files, then from the project folder:
python3 -m venv venv
source venv/bin/activate          # Windows: venv\Scripts\activate

pip install impacket              # for adnullenum.py

C'est tout. Lancez python3 adnullenum.py --help pour tout voir.


Comment l'utiliser

Tout passe par un seul --mode. La valeur par défaut est recon, ce qui est la chose sûre à exécuter en premier.

ModeCe que vous obtenez
reconInfos de domaine, comptages, politique de mot de passe/verrouillage, et les détails LSA/DNS. Pas de brute-force. Juste un tour d'horizon.
ridsTrouve quels comptes existent et les classe en utilisateurs / ordinateurs / groupes.
usersCe qui précède, plus le détail complet de chaque vrai utilisateur et le résumé des « comptes intéressants ». Ajoutez --include-groups pour lister aussi les groupes de chaque utilisateur.
groupsGroupes de domaine et alias intégrés avec leurs membres.
fullTout.
# 1. Is anonymous access open, and how big is this domain?
python3 adnullenum.py 10.0.0.10

# 2. Grab everything
python3 adnullenum.py 10.0.0.10 --mode full

# 3. Just the account inventory, wider net for a big domain
python3 adnullenum.py 10.0.0.10 --mode rids --start-rid 1000 --max-rid 200000

# 4. Go slower to stay quiet
python3 adnullenum.py 10.0.0.10 --mode users --sleep 1 --jitter 40

# 5. Also write JSON (txt and csv are always written)
python3 adnullenum.py 10.0.0.10 --mode full --json

Trouver les comptes

Si le domaine ne vous laisse pas lister les utilisateurs directement (courant), l'outil se rabat sur le RID cycling : il demande au DC de traduire les identifiants de compte en noms par lots de 1000. Par défaut, il balaie vers le haut jusqu'à avoir trouvé tout ce que le DC dit exister, ou jusqu'à ce que 5000 ID consécutifs reviennent vides. Vous pouvez le fixer à une plage exacte à la place :

python3 adnullenum.py 10.0.0.10 --mode rids --range 500-50000

Quand SAMR est verrouillé

Certains DC refusent entièrement le SAMR anonyme (enumdomains et la traduction de RID reviennent en ACCESS_DENIED). L'exécution n'abandonne pas :

Télécharger l’outil