Note

Cet article est orienté Blueteam et non offensif. Les quelques éléments offensifs mentionnés ne seront volontairement pas détaillés.

États des lieux des infrastructures Active Directory - Fonctionnement et limites du modèle 3-TIERS


Dans ce premier article, nous allons aborder l’un des concepts phares de la sécurité de l’Active Directory : le modèle 3-Tier.

L’objectif est ici de comprendre comment fonctionne ce modèle, pourquoi il est nécessaire de l’implémenter et quelles en sont les limitations. Il est important de préciser que nous aborderons dans cet article une approche défensive, ainsi les quelques éléments offensifs qui pourront être évoqués ne seront volontairement pas détaillés.


L’Active Directory : un composant central cible de nombreuses attaques

L’Active Directory occupe un rôle central et particulièrement critique au sein des SI. Cette criticité en fait un composant particulièrement ciblé par les attaquants et donc extrêmement important à sécuriser correctement.

Cependant, la multitude d’éléments qui le compose élargit sa surface d’attaque et introduit avec eux des vulnérabilités et des défauts de configurations exploitables par les attaquants. On peut citer par exemple les vulnérabilités Bluekeep, PetitPotam, PrintNightmare, MS08-067, MS17-010, etc. Les techniques d’attaques qui en résultent sont pour la plupart connues et comprises. Parmi celles utilisées, on retrouve par exemple :

  1. L’ASREP roasting qui permet à un attaquant de récupérer le TGT d’un utilisateur et donc potentiellement son mot de passe.
  2. Le Kerberoasting qui permet à un attaquant de récupérer le TGS d’un utilisateur et donc potentiellement le mot de passe du compte qui exécute le service visé par le TGS.
  3. Le Pass The Hash qui permet à un attaquant d’utiliser l’empreinte cryptographique du mot de passe d’un utilisateur plutôt que le mot de passe lui-même lors de l’authentification NTLM.
  4. Le Silver/Golden Ticket qui permet à un attaquant de falsifier des tickets d’authentification de service et ainsi de s’attribuer des droits arbitraires.

Malgré cette connaissance des vulnérabilités et des techniques d’attaque, on observe que les entreprises peinent à atteindre un niveau de sécurité suffisant. En effet, on constate que chaque année, l’Active Directory joue toujours un rôle prépondérant dans la compromission des SI lors des attaques. Cette dette de sécurité peut s’expliquer par différents facteurs comme la difficulté technique de certaines remédiations, leurs impacts opérationnels, les blocages organisationnels, les considérations économiques, etc.

Quoi qu’il en soit, il est forcé de constater que l’Active Directory tel qu’il est déployé et maintenu dans un contexte de SI d’entreprise est voué à rester vulnérable.

Devant cet état de fait, il devient urgent de trouver des mesures permettant de limiter l’impact d’une attaque sur le SI et d’améliorer sa résilience. C’est là qu’intervient le modèle 3-tier.


L’architecture 3-Tiers - une première ligne de défense contre les attaques sur l’Active Directory ?

Lors de l’attaque d’un système d’information, le succès de l’attaquant dépend grandement de sa capacité à se propager à travers le système. En effet, il est rare qu’un attaquant compromette directement un contrôleur de domaine ou la ressource critique qu’il vise. Il cherchera plutôt à exploiter des chemins d’attaques pour finalement arriver jusqu’à sa cible.

Face à ce constat, on peut déduire qu’un attaquant ayant compromis une première ressource, mais qui serait dans l’incapacité de se déplacer sur le SI, se verrait alors tout autant incapable de propager son attaque et donc d’atteindre sa cible. La clef vers une sécurisation globale pourrait donc passer par le cloisonnement en différentes zones de notre SI.

Dans cette logique, un modèle de segmentation du SI en « Tier1 » a été proposé par Microsoft. Ce découpage en sous-ensembles logiques vise à cloisonner entre elles les différentes ressources ayant un niveau de confiance (de criticité) équivalent. L’objectif de ce modèle est de contenir une potentielle compromission au sein de la zone infectée sans qu’elle puisse se propager aux autres zones de confiance. La catégorisation des zones vise à s’assurer que celles qui sont les plus sensibles soient les moins exposées, et que les moins sensibles soient les seules à être exposées directement aux menaces. Le modèle est décrit comme suit :

  1. Tier 0, le cœur de confiance de l’organisation : il s’agit des ressources aux privilèges d’administration les plus élevés, donc les plus critiques. Ces privilèges donnent le contrôle sur toutes les ressources de l’AD, y compris les contrôleurs de domaines. La compromission de ce Tier implique la compromission de tout l’AD et le potentiel établissement de portes dérobées extrêmement difficiles à détecter.
  2. Tier 1, la confiance dans les valeurs métiers de l’organisation : il s’agit des biens métiers et biens supports associés (stockage, traitement …). Cela peut être par exemple des serveurs de gestion de code source, ou les équipements d’une chaîne de production. De manière générale ce Tier comprend les ressources critiques pour l’entreprise d’un point de vue métier.
  3. Tier 2, la confiance dans les postes de travail : il s’agit de tous les équipements informatiques tels que les postes de travail, les consoles industrielles, les imprimantes, etc. Ces ressources sont donc moins critiques, mais bien plus exposées aux menaces.

La mise en œuvre de ces silos permet l’application de politiques de sécurité différenciées et adaptées au niveau de criticité de chaque Tier.

Modèle 3 Tier (ANSSI, 2023)

Le périmètre d’application de ce modèle doit également être clairement défini. Bien qu’il soit recommandé de l’appliquer au périmètre de la forêt AD, il convient de contrôler les relations de confiance qui peuvent exister avec d’autres forêts potentielles et ainsi de s’assurer que ces relations n’augmentent pas la porosité du cloisonnement. Des audits périodiques centrés sur ces considérations sont également recommandés. Le domaine AD n’opposant pas de réelle frontière de sécurité, il est déconseillé de se restreindre à son seul périmètre.

L’implémentation rigoureuse de ce modèle peut se révéler particulièrement délicate et se fait par un processus itératif. Une implémentation incomplète peut mener à la présence de chemins d’attaques résiduels sur le SI. Ce dernier étant en perpétuelle évolution, il est essentiel de considérer son cloisonnement dans une démarche d’amélioration continue.

Afin d’assurer la pertinence et l’exhaustivité du cloisonnement, il est donc absolument essentiel de mener un travail complet d’identification des chemins d’attaques. Ce travail permet par la suite de catégoriser correctement chaque ressource dans le Tier qui lui correspond et donc de lui appliquer les politiques adaptées. La variété de chemins d’attaques possibles et la complexité de bon nombre d’entre eux rendent leur identification particulièrement délicate. Il est généralement conseillé de faire appel à des professionnels du domaine possédant une expertise technique avancée. Des outils comme Bloodhound permettent de cartographier les chemins de contrôle faibles.

Par la suite, la catégorisation des ressources suit la logique suivante : si un chemin d’attaque est identifié depuis une ressource A vers une ressource B d’un Tier plus sensible, la ressource A doit être catégorisée dans le même Tier que la ressource B. Ainsi, si l’on souhaite éviter d’avoir un nombre disproportionné de ressources dans le Tier 0, il est primordial de supprimer ou d’atténuer les chemins d’attaques identifiés. Il va de soi que cette étape est d’autant plus complexe que le SI est étendu, cependant c’est grâce à cette logique que l’on peut tendre vers un cloisonnement efficace et satisfaisant de notre SI.

De manière générale, on cherchera à réduire autant que possible l’exposition de chaque Tier (particulièrement les Tier 0 et 1) en minimisant les interactions avec les autres zones de confiance. Cela implique une certaine maîtrise et connaissance du SI, de ses flux, et de ses applications en usage.

L’atténuation des chemins d’attaques passe également par le durcissement des systèmes et logiciels en usage sur le SI. Cela passe par la mise à profit des différentes options de configuration des dits systèmes et logiciels permettant d’élever leur niveau de sécurité.

De plus, afin de respecter ce cloisonnement, l’administration du SI se doit d’être séparée de son usage nominal. Cela à la fois dans le matériel utilisé (postes dédiés à l’administration) que dans les comptes utilisés. Ce principe se retrouve également à l’échelle de chaque Tier : l’usage et l’administration d’un Tier sont séparés et les administrations de deux Tier différents le sont également. Grâce à ce type de pratique, le cloisonnement n’est pas menacé.

Cet objectif est notamment approché à travers une délégation fine des droits d’administration. Celle-ci est absolument primordiale. Le principe est de limiter au maximum l’utilisation des comptes d’administration de Tier 0 en déléguant les privilèges nécessaires aux comptes d’administration des Tier inférieurs et cela tout en respectant le principe du moindre privilège et le modèle RBAC.


Les limites du modèle

Bien que ce modèle ait déjà démontré une efficacité significative en termes d’endiguement des attaques et de limitation de leur propagation au sein du SI, il n’en reste pas moins perfectible. En effet, le cloisonnement se fait entre les Tier, mais très peu au sein d’un même Tier, les mouvements associés sont donc tout aussi peu endigués. Or, négliger cet aspect serait une erreur conséquente, par exemple en compromettant le Tier 1, certes l’attaquant se verrait bloqué dans sa remontée vers le cœur du réseau, cependant il garderait la possibilité de compromettre la totalité des ressources métier de l’entreprise.

Ne serait-il pas alors possible de pousser le raisonnement de ce modèle encore plus loin afin de réduire autant les mouvements inter-tier que intra-tier ?

Dans nos prochains articles, nous aborderons un autre modèle d’architecture de l’Active Directory permettant de pallier cette problématique, nous évoquerons également ses limites et les réponses que l’on peut y apporter. Nous aborderons également les aspects plus techniques de l’implémentation de ce modèle.


  1. En français le terme « Tier » se traduit par « silos », les deux termes seront utilisés dans cette série d’articles. ↩︎