Microsoft Active Directory est aujourd’hui une brique centrale du système d’information de la plupart des entreprises. Il fournit notamment :

  • Un service d’annuaire basé sur le protocole LDAP, où sont stockées des informations relatives aux identités et ressources du SI (machines, applications) ;
  • Un mécanisme d’authentification centralisé basé sur le protocole Kerberos ;
  • Un mécanisme d’autorisation basé sur un contrôle d’accès discrétionnaire étendu ;
  • Un mécanisme de déploiement de politiques logicielles basé entre autre sur le protocole SMB.

Un contrôleur de domaine AD constitue une cible privilégiée pour un attaquant puisque sa compromission fournira à celui-ci un accès aux ressources de l’entreprise. Que ce soit dans un contexte d’audit ou suite à une compromission avérée, l’analyse de la sécurité de l’AD est essentielle et doit être appliquée de façon récurrente. Elle permet de réduire la surface d’attaque et de prévenir les risques d’abus, notamment l’escalade de privilège et la persistance d’un attaquant au sein du système d’information. La mise en œuvre de ce type d’analyse peut s’avérer complexe. Quelques outils fournissent cependant une aide efficace, on compte notamment parmi eux :

  • PingCastle, développé pour Engie (https://www.pingcastle.com) ;
  • Active Directory Control Paths, développé par l’ANSSI (https://github.com/ANSSI-FR/AD-control-paths) ;
  • BTA, développé par Airbus Group Innovations (https://bitbucket.org/iwseclabs/bta).

PingCastle permet de cartographier une architecture Active Directory et de mesurer son niveau de sécurité. La cartographie est construite à partir de données relatives aux relations d’approbation reliant les domaines. Un niveau de risque est calculé pour chaque domaine identifié, sur la base de règles réparties en quatre catégories :

  • Objets abandonnés : comptes inactifs, protocoles ou OS obsolètes, etc. ;
  • Comptes à privilèges : utilisation des groupes d’administration natifs, permissions abusives, etc. ;
  • Relations d’approbation : absence de filtrage des SIDs, présence de SID History, etc. ;
  • Anomalies de sécurité : politiques de mots de passe insuffisantes, présence de mots de passe dans les GPOs, etc.

Pour récupérer les informations nécessaires à la découverte des domaines et à l’évaluation du risque, PingCastle interroge les contrôleurs de domaine (via ADWS ou LDAP) à l’aide d’un simple compte utilisateur du domaine. A l’issu de l’analyse, l’outil génère des graphes représentant la cartographie des domaines et les relations d’approbation qui les relient, ainsi que des rapports pour chaque domaine dans lesquels sont détaillés les niveaux de risques, les règles déclenchées et des indications permettant de corriger les anomalies identifiées :

Source: My Smart Logon

Ces rapports détaillés peuvent être utilisés pour comparer le niveau de sécurité entre différents domaines d’une forêt, pour encourager les administrateurs à corriger les vulnérabilités identifiées et pour mesurer l’évolution suite aux corrections apportées. Ils permettent également de sensibiliser le management et de faciliter la priorisation des actions à mener pour améliorer le niveau de sécurité.

L’outil Active Directory Control Paths peut être utilisé quant à lui pour vérifier la bonne isolation des objets à privilèges élevés du reste du domaine ou pour mesurer l’étendue effective du pouvoir d’un compte. Cet outil applique une méthode d’analyse à partir de l’ensemble des éléments manipulés par l’AD, telles que les permissions, l’appartenance aux groupes de sécurité, les propriétés et hiérarchie des objets, les GPO ou les propriétés liées aux machines locales. Cette analyse permet d’établir des chemins de contrôle traduisant la maîtrise d’un objet de l’AD sur un autre. La représentation des résultats d’analyse sous forme de graphes permet enfin d’appréhender les différents parcours possibles pouvant être empruntés par un attaquant pour atteindre une cible privilégiée.

Le graphique suivant représente par exemple les chemins de contrôle résultants de l’analyse d’un domaine fictif sur lequel des portes dérobées sont présentes :

Source: ANSSI

BTA permet d’identifier le résultat de mauvaises pratiques qui affaiblissent le niveau de sécurité de l’AD, mais également de trouver des anomalies et portes dérobées laissées par un attaquant. Il est à noter que cet outil travaille depuis une extraction de la base AD, autorisant ainsi une analyse hors-ligne. BTA fournit un certain nombre de modules qui sont utilisés pour vérifier des points de contrôle présentant un intérêt. Par exemple :

  • Identification des utilisateurs privilégiés et des droits qui leur sont applicables, afin de savoir si l’un d’eux peut être compromis par un droit trop permissif
  • Contrôle de permissions critiques, telles que celles relatives à l’objet AdminSDHolder qui peuvent être utilisées pour constituer une porte dérobée
  • Analyse de la sanité du schéma d’annuaire
  • Identification de stratégies de mot de passe anormales, recherche de tentatives de connexion infructueuses

Enfin, BTA propose également un outil permettant de comparer deux bases de données d’un même AD à deux instants différents, permettant par exemple de vérifier l’absence de modifications suspectes.

Un certain nombre d’outils sont aujourd’hui à disposition des auditeurs pour l’analyse de la sécurité d’Active Directory. Parmi eux, PingCastle, AD Control Paths et BTA sont trois outils de qualité qui peuvent être utilisés de manière complémentaire. On comprend aisément qu’il n’est pas question d’automatiser l’analyse étant donné la spécificité et la complexité d’un contrôleur de domaine, mais ces outils constituent cependant une aide précieuse à l’auditeur et apportent des perspectives intéressantes.

Par ailleurs, on rappelle que d’autres aspects relatifs à la sécurité de l’AD et non couverts par ces outils sont généralement traités lors de tests d’intrusion internes ou d’audits AD, tels que la récupération et le rejeu d’empreintes ou les tests de robustesse des mots de passe.

Références :

  • Active Directory : Transformer une faiblesse en point fort, Vincent LE TOUX, MISC n°93
  • https://www.ssi.gouv.fr/publication/chemins-de-controle-en-environnement-active-directory-chacun-son-root-chacun-son-chemin
  • Audit Active Directory avec BTA, NoLimitSecu Episode #145 (https://www.nolimitsecu.fr/bta)