🛠️ Contexte

Publié le 17/09/2026 sur GitHub (https://github.com/crypt0p3g/adnullenum), adnullenum est un outil open-source de reconnaissance Active Directory conçu pour fonctionner en session nulle (null session), c’est-à-dire sans aucune accréditation. Il s’appuie sur les named pipes \samr et \lsarpc accessibles via SMB sur le port 445.

🔍 Fonctionnalités principales

L’outil effectue en une seule passe les opérations suivantes :

  • Énumération des utilisateurs, ordinateurs et groupes du domaine (avec séparation des comptes machine $)
  • Détail complet par utilisateur : description, groupes, timestamps de mot de passe et de connexion, flags de compte, restrictions de connexion
  • Politique de domaine et de mots de passe/verrouillage
  • Informations LSA/DNS : nom DNS, forêt, GUID de domaine, SID, relations d’approbation (trusts)
  • RID cycling via SAMR ou LSA (fallback optionnel avec --lsa-fallback) pour contourner les restrictions d’énumération directe
  • Flagging automatique des comptes intéressants : AS-REP roastable, mot de passe non requis, délégation non contrainte, mot de passe dans la description, etc.

📁 Sorties structurées

Chaque exécution génère un dossier horodaté contenant :

  • Fichiers txt, csv (et optionnellement json)
  • userlist.txt et computerlist.txt prêts à l’emploi pour AS-REP roasting, password spraying ou vérifications de comptes machine pré-Windows 2000
  • manifest.json et rids.txt réutilisables pour éviter un double brute-force

⚙️ Modes d’opération

Mode Description
recon Info domaine, politique, LSA/DNS
rids Inventaire des comptes via RID cycling
users Détail complet par utilisateur
groups Groupes et membres
full Tout

🔗 Comparaison avec les outils existants

L’outil se positionne comme un wrapper de commodité face à enum4linux-ng, NetExec, impacket (samrdump.py, lookupsid.py) et rpcclient, en consolidant leurs fonctionnalités en une seule commande avec sortie structurée et fallback automatique.

🛡️ Détection et atténuation (mentionnées dans l’article)

  • Activation de RestrictAnonymousSAM / RestrictAnonymous
  • Suppression d’Anonymous Logon du groupe Pre-Windows 2000 Compatible Access
  • Surveillance des événements 4661/4662 (accès objets SAM), 4624 (logon anonyme), 5140/5145 (accès IPC$)
  • L’option --sleep et --jitter permet à l’attaquant d’étaler les appels pour réduire la détection basée sur le taux

📌 Type d’article

Il s’agit d’une publication d’outil offensif open-source (nouveaux outils), destinée à la communauté des pentesters et red teamers, documentant les capacités, l’usage et les équivalences avec les outils existants.

🧠 TTPs et IOCs détectés

TTP

  • T1087.002 — Account Discovery: Domain Account (Discovery)
  • T1069.002 — Permission Groups Discovery: Domain Groups (Discovery)
  • T1482 — Domain Trust Discovery (Discovery)
  • T1558.004 — Steal or Forge Kerberos Tickets: AS-REP Roasting (Credential Access)
  • T1110.003 — Brute Force: Password Spraying (Credential Access)
  • T1078.002 — Valid Accounts: Domain Accounts (Defense Evasion)
  • T1135 — Network Share Discovery (Discovery)

IOC

  • Fichiers : adnullenum.py

⚠️ À propos de ces IOC — ils sont extraits automatiquement de l’article original le 20 septembre 2026 et n’ont pas fait l’objet d’une vérification externe. Un indicateur peut avoir été réattribué depuis : une IP de C2 peut redevenir un service légitime, un domaine sinkholé peut changer de propriétaire. Aucune garantie d’exactitude ni d’actualité — contrôlez leur validité avant tout usage opérationnel, en particulier avant de les injecter dans une blocklist ou un SIEM.

Malware / Outils

  • adnullenum (tool)
  • impacket (framework)
  • enum4linux-ng (tool)
  • NetExec (tool)
  • rpcclient (tool)

🟡 Indice de vérification factuelle : 36/100 (moyenne)

  • ⬜ github.com — source non référencée (0pts)
  • ✅ 13797 chars — texte complet (fulltext extrait) (15pts)
  • ✅ 1 IOC(s) (6pts)
  • ⬜ pas d’IOC vérifié (0pts)
  • ✅ 7 TTPs MITRE identifiées (15pts)
  • ⬜ date RSS ou approximée (0pts)
  • ⬜ aucun acteur de menace nommé (0pts)
  • ⬜ pas de CVE à vérifier (0pts)

🔗 Source originale : https://github.com/crypt0p3g/adnullenum