ADRecon, un outil en PowerShell pour collecter des informations sur l’Active Directory

I. Présentation

Dans cet article, nous allons découvrir l'outil ADRecon pour Active Directory Recon qui va permettre de collecter différentes informations à partir d'un annuaire Active Directory.

ADRecon va générer un rapport Excel qui va contenir un ensemble d'informations au sujet de l'environnement Active Directory analysé, notamment celles-ci :

  • Domaines, forêts, sites, relations d'approbations, sous-réseau
  • Liste des contrôleurs de domaine (OS, adresse IP, rôles FSMO, versions SMB supportées, SMB signing, etc.)
  • Politiques de mots de passe (y compris les stratégies de mots de passe affinées)
  • Liste des unités d'organisation
  • Liste des utilisateurs, des groupes et des membres des groupes
  • Liste des ordinateurs
  • Liste des comptes de services
  • Liste des imprimantes
  • Informations sur les stratégies de groupe (GPO)
  • Informations au sujet de LAPS et des clés de récupération BitLocker
  • Liste des permissions (SACLs / DACLs)
  • Zones DNS, enregistrements DNS
  • Un ensemble de statistiques et d'indicateurs au sujet des utilisateurs et des ordinateurs

L'outil ADRecon est utile pour les administrateurs systèmes, les auditeurs, les pentesters, etc...Tout dépend dans quel contexte il est utilisé et ce que l'on souhaite faire des données collectées. En quelques secondes, l'outil ADRecon va permettre de créer un inventaire de la configuration et des objets de l'Active Directory à l'instant t.

Pour en savoir plus, consultez le GitHub du projet :

II. La valeur des informations de l'Active Directory

Grâce à la récupération d'informations sensibles à partir de l'Active Directory, il devient possible d'identifier plus facilement les points faibles du domaine Active Directory, ainsi que les comptes avec des privilèges élevés, ou les éventuels erreurs de configuration (une ACL trop permissive, une GPO avec un script qui intègre un mot de passe, une politique de mots de passe faible, etc...).

III. Découverte d'un annuaire Active Directory avec ADRecon

La première étape consiste à télécharger l'archive ZIP du projet ADRecon à partir du GitHub officiel (ou à effectuer un git clone) afin de récupérer les sources du projet. Sachez que sur une machine Windows (testé sur Windows 11 et Windows Server 2022), l'outil affole directement Windows Defender. Donc, si vous l'utilisez de façon légitime, vous devez créer une exception dans la quarantaine.

Une fois le prompt positionné dans le répertoire "ADRecon-master", vous pouvez exécuter ADRecon. Il est possible que la politique d'exécution de la machine locale bloque l'exécution du script PowerShell, dans ce cas, nous l'exécuterons au travers d'un processus PowerShell exécuté en mode "bypass.

.\ADRecon.ps1
# ou
Powershell.exe -ExecutionPolicy bypass -File adrecon.ps1

Ensuite, il suffit de patienter quelques secondes pendant l'exécution du rapport. Dans le cas présent, ADRecon est exécuté avec un utilisateur standard, c'est-à-dire qu'il n'est pas admin du domaine !

Note : si les outils RSAT ne sont pas détectés (ce qui sera surement le cas sur un poste de travail), ADRecon va s'appuyer sur des requêtes LDAP.

Exécution du script ADRecon

Suite à l'exécution du rapport, nous obtenons un dossier contenant un rapport Excel et un ensemble de fichiers CSV correspondants à l'ensemble des données collectées.

Nous allons regarder de plus près le rapport Excel. Lorsqu'on l'ouvre, nous avons accès à un sommaire qui contient un ensemble de liens vers les différents onglets du classeur Excel. Ainsi, nous pouvons naviguer facilement afin d'avoir accès aux informations sur les utilisateurs, les ordinateurs, les groupes, etc.

Rapport ADRecon

Si nous prenons l'exemple de l'onglet "User Stats", il donne des indications intéressantes sur les comptes présents dans l'annuaire Active Directory, notamment le nombre de comptes activés, le nombre de comptes désactivés, mais aussi les comptes avec le "SID History", les comptes dormants, les comptes où le mot de passe n'expire jamais, etc.

Un autre onglet nommé tout simplement "Users" contient la liste de tous les utilisateurs de l'annuaire avec un ensemble d'informations à leur sujet.

Nous avons des onglets similaires pour d'autres objets, notamment les ordinateurs. Ceci regroupe aussi bien les postes de travail que les serveurs puisqu'ils partagent la même class dans l'annuaire Active Directory. Un onglet est dédié à l'inventaire des versions de Windows utilisées.

Par ailleurs, et dans un registre totalement différent, l'onglet "LAPS" permet de collecter les mots de passe "Administrateur" stockés dans l'Active Directory. Autrement dit, il vaut mieux que les droits de lecture des attributs LAPS soient bien gérés sinon cela peut être un vrai problème !

Au-delà de vous fournir la liste des stratégies de groupe, ADRecon récupère la liste de toutes les liaisons entre vos GPOs et vos OUs ! À chaque fois, la configuration du lien et de l'OU est intégrée (état de l'héritage, de l'option Enforced/Appliqué, de la liaison, etc.).

En résumé, le rapport généré par ADRecon contient une mine d'informations sur l'environnement Active Directory !

Sachez que vous pouvez cibler le contrôleur de domaine de votre choix et vous authentifier avec un compte précis, en exécutant ADRecon de cette façon :

.\ADRecon.ps1 -DomainController <adresse IP ou FQDN> -Credential <domaine\utilisateur>

En principe, vous pouvez également exécuter ADRecon à partir d'un ordinateur qui n'est pas joint au domaine Active Directory. Dans ce cas, l'authentification sera obligatoire (à moins que les accès anonymes soient autorisés...).

.\ADRecon.ps1 -Protocol LDAP -DomainController <adresse IP ou FQDN> -Credential <domaine\utilisateur>

Enfin, vous pouvez utiliser ADRecon avec la technique d'attaque Kerberoasting (qui vise à craquer le mot de passe d'un compte de service), en l'exécutant dans un mode spécifique où il va simplement générer un fichier CSV avec la liste des comptes vulnérables. Ce fichier CSV intégrera le hash prêt à l'emploi pour Hashcat et John the Ripper.

.\ADRecon.ps1 -Collect Kerberoast -OutputType CSV

IV. Conclusion

Bien que très bruyant, ADRecon est un outil très intéressant pour effectuer une collecte d'informations dans un annuaire Active Directory. Le rapport étant très complet, il sera utile dans plusieurs scénarios : un test d'intrusion, effectuer un état des lieux de son Active Directory (en prévision d'un peu de nettoyage, peut-être), etc.

Pour les utilisateurs de Microsoft Entra ID / Azure Active Directory, sachez qu'il existe une version dédiée à cet environnement : AzureADRecon.

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Florian BURNEL

Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.

Nombre de posts de cet auteur : 5579.Voir tous les posts

6 thoughts on “ADRecon, un outil en PowerShell pour collecter des informations sur l’Active Directory

  • Bonjour,
    L’outil a l’air sympathique cependant impossible à exécuter dans un environnement M365 avec EMS.
    Le powershell se bloque au niveau de la ligne : domain controllers.
    Bien sûr des alertes sont générés côté M365 defender (hacktool ADrecon).

    Répondre
    • Bonjour Eviv_Bulgroz,
      Je vais corriger le lien 😉
      Meilleurs voeux à vous également! 🙂

      Répondre
      • Bonjour,
        le script est bloqué par l’antivirus, il est a été considéré comme malveillant 🙁
        Est ce vraiment un outil de sécurité ?
        Merci

        Répondre
  • Bonjour,
    le script est bloqué par mon ESET NOD 32 Antivirus, il est a été considéré comme Potentiellement dangereux (HackTool.ADRecon) il est parano ou est-ce un virus ??

    Répondre
    • Bonjour,
      ADRecon est un outil de sécurité qui peut être utilisé par les admins, les pentesters et potentiellement quelqu’un de malveillant… Donc, comme beaucoup d’autres outils de sécurité, il est dans le viseur des antivirus. Ce n’est pas un virus 😉

      Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.