Pentest Active Directory : objectifs, méthodologie, tests en boite noire et grise

L’Active Directory (AD) est au cœur de l’infrastructure IT de nombreuses organisations. Il gère les authentifications, les autorisations et les accès aux ressources critiques dans un réseau.

Cependant, sa complexité et son importance en font une cible privilégiée pour les attaquants. En effet, une seule faille dans un Active Directory peut permettre à un attaquant de compromettre rapidement l’ensemble du réseau d’une organisation.

Pour prévenir ces risques, le pentest Active Directory (test d’intrusion AD) est devenu un outil indispensable. Cette approche offensive consiste à simuler des attaques pour identifier et corriger les vulnérabilités exploitables.

Cet article explore les objectifs et la méthodologie d’un pentest AD. Nous y détaillons, via des use cases, les approches de tests en boite noire (non authentifié) et en boîte grise (authentifié).

Guide complet sur le pentest AD

En quoi consiste un pentest Active Directory ?

Un pentest Active Directory (ou pentest AD) consiste à évaluer la sécurité d’un environnement AD en simulant des attaques réalistes. L’objectif est d’identifier les failles exploitables qui pourraient compromettre l’ensemble du réseau interne. Ce type de test se concentre sur les mécanismes d’authentification, la gestion des droits, et la protection des données sensibles.

Les pentests AD visent également à analyser la configuration des contrôleurs de domaine, les politiques de sécurité appliquées et les vulnérabilités liées aux utilisateurs. En reproduisant les techniques des attaquants, ils permettent de mettre en lumière les failles souvent invisibles, d’évaluer leurs impacts et proposer des correctifs pour renforcer la sécurité du réseau.

Périmètre d’un pentest Active Directory

Le périmètre d’un pentest Active Directory est déterminé en fonction des besoins et des objectifs de l’organisation cliente. Il peut couvrir l’ensemble de l’infrastructure AD ou se limiter à des segments spécifiques, comme un domaine particulier ou un sous-réseau.

Ainsi, les tests couvrent (liste non exhaustive) :

  • Contrôleurs de domaine : Analyse des serveurs principaux, des configurations système, et des services critiques comme DNS, LDAP et Kerberos.
  • Utilisateurs et groupes : Évaluation des comptes utilisateurs, des permissions attribuées, et des groupes à privilèges élevés (comme les administrateurs).
  • Politiques de sécurité : Vérification des politiques de mot de passe, des restrictions d’accès, etc.
  • Partages réseau : Identification des partages accessibles, des fichiers sensibles exposés, et des mauvaises configurations de permissions.
  • Interfaces exposées : Tests sur les services accessibles depuis l’extérieur, comme les portails VPN, l’accès RDP, ou les environnements hybrides (Azure AD).

Un pentest AD peut également inclure une évaluation des mécanismes de journalisation et de surveillance, afin de mesurer la capacité de l’entreprise à détecter une tentative d’intrusion.

New call-to-action

Méthodologie d’un pentest Active Directory

Un test d’intrusion sur l’Active Directory se déroule en deux phases distinctes. La première est une phase de reconnaissance. Elle vise à collecter des informations à la fois humaines et techniques sur l’organisation cible.

La seconde est une phase d’exploitation. Elle peut être réalisée en boite noire ou en boite grise. Son objectif est de compromettre le réseau interne pour obtenir un accès au compte administrateur du domaine.

Imaginons un scénario où un attaquant accède au réseau interne via une connexion au Wi-Fi de l’entreprise. Ce type de situation peut arriver facilement si la politique de mot de passe pour le Wi-Fi est faible. Le risque est encore plus élevé si les cloisonnements réseaux sont inexistants.

Cette phase est essentielle pour l’attaquant, car elle lui permet de recueillir des informations critiques sur l’infrastructure cible avant d’entamer des actions d’exploitation. Elle inclut une analyse des aspects humains et techniques.

Dans un pentest Active Directory, une reconnaissance approfondie est indispensable. Elle garantit une identification complète des vulnérabilités qui pourraient être exploitées par la suite.

Reconnaissance humaine

L’objectif de l’attaquant est d’identifier les utilisateurs potentiels disposant de comptes sur le réseau interne de l’entreprise, en se concentrant particulièrement sur les employés du service IT.

Pour cela, il collecte des informations publiques comme les noms et prénoms. Ces données sont souvent disponibles sur des plateformes comme LinkedIn.

Une fois la liste d’utilisateurs établie, l’attaquant peut vérifier si ces comptes existent dans le domaine Active Directory. Des outils comme Kerbrute permettent de réaliser cette étape efficacement.

L’attaquant peut ensuite vérifier si certains comptes valides sont « ASREPRoastable ». Son objectif : demander un TGT (Ticket Granting Ticket) pour ces utilisateurs et de tenter de craquer les clés de session hors ligne. Cela pourrait lui donner accès aux comptes ciblés.

D’autres techniques peuvent être utilisées durant cette phase de reconnaissance axée sur les aspects humains. Par exemple, l’attaquant peut chercher les mots de passe associés aux comptes en explorant les bases de données publiques issues de fuites liées à l’organisation cible.

Aspects techniques

Lors de l’exploration du réseau interne, l’attaquant cherche à identifier les machines et les éléments présents. Pour cela, il exploite les caractéristiques des protocoles réseau pour localiser les appareils connectés et détecter d’éventuels sous-réseaux.

Une fois les sous-réseaux identifiés et les machines repérées, l’attaquant procède à un scan des ports et des services. Cette étape permet d’identifier les services exposés ainsi que leurs versions. En comparant ces informations avec des bases de données de vulnérabilités (CVEs), il peut repérer les services vulnérables et envisager leur exploitation.

Même sans accès valide au domaine, un attaquant peut collecter des informations essentielles pour préparer d’autres types d’attaques. Cela inclut des détails sur les versions des systèmes d’exploitation utilisés, la configuration du SMB, et d’autres caractéristiques du réseau.

Avec ces données en main, l’attaquant peut analyser les failles identifiées et définir les stratégies les plus efficaces pour la phase d’exploitation.

Cette dernière se déroule en deux phases : une première en mode « non authentifié » (boite noire) et une seconde en mode « authentifié » (boite grise).

Dans le scénario présenté, l’attaquant a réussi à accéder au réseau interne en compromettant le Wi-Fi de l’entreprise. Cela implique qu’il était présent physiquement sur site, mais qu’il ne dispose pas encore d’un compte de domaine valide sur l’Active Directory.

Son premier objectif sera donc de trouver un moyen d’obtenir un accès valide au domaine.

Tests de CVEs (Common Vulnerabilities and Exposures)

L’exploitation en boite noire d’un domaine Active Directory commence souvent par l’examen des grandes vulnérabilités connues (CVEs) suivantes :

  • Zerologon (CVE-2020-1472)
  • EternalBlue / BlueKeep (MS17-010 / CVE-2019-0708)
  • PetitPotam pre-auth (CVE-2022-26925)
  • SMBGhost (CVE-2020-0796)

Il est crucial de tester ces vulnérabilités, car de nombreuses machines Windows Server ne sont pas toujours à jour avec les derniers patchs ou versions de sécurité. Elles peuvent offrir à l’attaquant une possibilité de compromission totale du domaine Active Directory de l’entreprise.

Si ces vulnérabilités ne permettent pas d’exploiter le système, il faut alors chercher des mauvaises configurations. Par défaut, Windows laisse souvent des portes ouvertes, offrant ainsi des opportunités supplémentaires pour un attaquant.

Identification de mauvaises configurations

DHCPv6 spoofing/poisoning

Par défaut, dans les environnements Windows, l’IPv6 est activé et a la priorité sur l’IPv4. Cependant, comme l’IPv6 est souvent inutilisé ou mal configuré, lorsqu’une machine Windows démarre ou se connecte au réseau, elle envoie une requête DHCPv6 pour obtenir une configuration.

Étant donné que le DHCPv6 fonctionne en multicast, un attaquant présent sur le même réseau peut répondre à ces requêtes et fournir aux machines une configuration IP personnalisée.

LLMNR, NBT-NS et mDNS spoofing

Dans les environnements Windows, les protocoles de résolution de noms multicast sont activés par défaut, tels que LLMNR (Local-Link Multicast Name Resolution), NBT-NS (NetBIOS Name Service) et mDNS (multicast Domain Name System). Lorsque les protocoles standard de résolution de noms échouent, les systèmes Windows essaient de résoudre les noms dans cet ordre : DNS, LLMNR, puis NBT-NS.

Un attaquant peut exploiter cette fonctionnalité en répondant aux requêtes de multidiffusion ou de diffusion. Les victimes sont alors redirigées vers l’attaquant, qui leur demande de s’authentifier pour accéder aux ressources demandées.

En fonction des mauvaises configurations présentes, notre attaquant pourrait les utiliser pour relayer les authentifications reçus sur des services comme SMB, MSSQL, LDAP, etc.

Kerberoast w/o pre-authentication

Si un attaquant connaît un compte pour lequel la pré-authentification n’est pas requise (c’est-à-dire un compte ASREProastable), ainsi qu’un ou plusieurs comptes de service à cibler, il peut lancer une attaque Kerberoast sans avoir besoin de contrôler un compte Active Directory (puisque la pré-authentification n’est pas nécessaire).

Il est important de noter que l’attaquant pourrait également recourir à des attaques réseau classiques, telles que l’ARP spoofing/poisoning.

Parallèlement, l’attaquant tentera d’exploiter les « null / anonymous sessions » sur le protocole SMB, ce qui pourrait lui permettre d’énumérer les partages réseau et d’obtenir des informations sur la configuration de l’Active Directory.

D’autres tests peuvent être effectués, comme des tentatives d’authentification sur les comptes du domaine précédemment identifiés ou un brute force sur les hash récupérés lors des attaques réseau. 

Exploitation de CVEs

Une fois qu’un attaquant dispose d’un compte valide dans le domaine Active Directory, il peut cibler plus précisément l’exploitation des vulnérabilités et des mauvaises configurations.

En plus des CVEs identifiées lors de la phase de boite noire, plusieurs autres vulnérabilités peuvent être exploitées lorsqu’un compte valide est utilisé :

  • SamAccountName Spoofing (CVE-2021-42278 / CVE-2021-42287)
  • PrintNightmare (CVE-2021-1675 / CVE-2021-34527)
  • Credentials Roaming (CVE-2022-30170)
  • Bronze Bit (CVE-2020-17049)
  • GoldenPac (CVE-2014-6324)

Énumération des objets et des permissions

Une étape cruciale en boite grise consiste à énumérer les objets et les permissions dans l’Active Directory. Pour ce faire, des outils comme BloodHound sont fréquemment utilisés pour cartographier les relations et les privilèges au sein du domaine.

Cet outil permet à l’attaquant de visualiser les chemins d’escalade de privilèges menant à un contrôle administratif du domaine, y compris ceux qui permettent une propagation via des délégations, des groupes privilégiés ou encore des relations de confiance entre les contrôleurs de domaine.

Durant cette phase, une mauvaise configuration de l’Active Directory offre à l’attaquant de nombreux vecteurs d’attaque potentiels qu’il peut exploiter.

Abus des DACL (Discretionary Access Control Lists)

Les DACL sont des listes composées d’ACE (Access Control Entries). Ces dernières identifient les utilisateurs et les groupes auxquels l’accès à un objet est autorisé ou refusé.

Lorsqu’elles sont mal configurées, ces ACE peuvent être exploitées par l’attaquant pour effectuer un mouvement latéral ou une escalade de privilèges.

Abus des trusts

Les trusts permettent à un domaine d’accorder des droits d’accès à un autre domaine, facilitant ainsi les échanges d’informations.

Cependant, si ces relations de confiance sont mal configurées, un attaquant peut les exploiter pour accéder à des ressources sensibles ou escalader ses privilèges.

En abusant d’un trust mal sécurisé, il devient possible de contourner les contrôles de sécurité et d’étendre l’accès aux réseaux ou aux données sensibles de l’organisation.

Exploitation de l’AD CS (Active Directory Certificate Services)

AD CS (Active Directory Certificate Services) est une infrastructure à clé publique (PKI) utilisée pour le chiffrement, les certificats numériques et la signature.

Si ce service est mal configuré, un attaquant pourrait en profiter pour demander des certificats, usurper l’identité d’un utilisateur privilégié ou obtenir un certificat d’authentification pour un serveur spécifique.

Une fois qu’un attaquant obtient un compte valide dans le domaine Active Directory, il existe une multitude d’attaques supplémentaires qu’il pourrait tenter.

Ainsi, il est difficile voire impossible d’être exhaustif ou même synthétique sur toutes les possibilités d’attaque, tant elles sont nombreuses.

Réalisez un pentest Active Directory avec Vaadata, entreprise spécialisée en sécurité offensive

Il est important d’évaluer le niveau de résistance de votre Active Directory face aux attaques décrites ci-dessus.

Cette évaluation peut être réalisée par l’un des audits que nous proposons. Qu’elle soit réalisée en boite noire ou grise, nous vous proposons d’identifier toutes les vulnérabilités de votre AD et de vous accompagner dans leur correction.

Auteurs : Alexis PARET – Pentester & Amin TRAORÉ – CMO @Vaadata