Multi-domaines, arborescences et forêts Active Directory
Dans une architecture Active Directory d’entreprise, les identités et les ressources sont organisées selon trois niveaux hiérarchiques :
- Domaine : l’unité administrative de base contenant son propre annuaire (partition de domaine dans
ntds.dit), ses stratégies de sécurité (Default Domain Policy), ses comptes et ses contrôleurs de domaine (DC). - Arbre de domaines (tree) : une suite hiérarchique de domaines partageant un espace de noms DNS continu (ex:
corp.ad.secetemea.corp.ad.sec) reliés automatiquement par des approbations bidirectionnelles transitives parent-enfant. - Forêt (forest) : l’instance de sécurité suprême et globale. Elle regroupe un ou plusieurs arbres de domaines. Tous les domaines d’une même forêt partagent un schéma commun (
Schema Partition), une configuration commune (Configuration Partition) et un Catalogue Global commun (GC - Global Catalog).
Pourquoi c’est important en DFIR
Section intitulée « Pourquoi c’est important en DFIR »Face à un incident survenant dans un domaine enfant ou satellite :
- L’illusion du cloisonnement : les équipes réseau et système pensent souvent que compromettre
filiale.corp.localne menace pas le domaine racinecorp.local. En réalité, un administrateur du domaine enfant détient les droits d’écriture sur des objets partagés et peut forger des tickets inter-domaines (sIDHistory, Golden Ticket inter-domaine) pour conquérir le domaine racine. - Réplication et visibilité des traces : la partition de domaine n’est pas répliquée sur les contrôleurs de domaine des autres domaines de la forêt. Si un compte utilisateur du domaine A est créé ou compromis, ses événements d’authentification locale ou de modification d’objet n’apparaîtront que sur les DC du domaine A. En revanche, le Catalogue Global (GC, port 3268/3269) réplique un ensemble partiel d’attributs (PAS - Partial Attribute Set) sur toute la forêt.
- Détermination du périmètre de compromission (blast radius) : dès qu’un attaquant obtient les privilèges
Domain Adminsdans n’importe quel domaine d’une forêt, l’investigateur doit immédiatement considérer l’ensemble des domaines de la forêt comme potentiellement compromis.
Comment ça fonctionne
Section intitulée « Comment ça fonctionne »Les partitions de l’annuaire Active Directory
Section intitulée « Les partitions de l’annuaire Active Directory »Le fichier de base de données ntds.dit de chaque DC est structuré en plusieurs contextes de nommage (NC - Naming Contexts) :
┌──────────────────────────────────────────────┐ │ FORÊT ACTIVE DIRECTORY │ ├──────────────────────────────────────────────┤ │ 1. Schema NC (Répliqué sur TOUTE la forêt) │ │ 2. Configuration NC (Répliqué TOUTE forêt) │ └──────────────────────┬───────────────────────┘ │ ┌─────────────────────────┴─────────────────────────┐ ▼ ▼┌──────────────────────────────┐ ┌──────────────────────────────┐│ Domaine Racine: corp.local │ │ Domaine Enfant: emea.corp │├──────────────────────────────┤ ├──────────────────────────────┤│ 3. Domain NC (corp.local) │◄──Approbi.───►│ 3. Domain NC (emea.corp) ││ (Répliqué uniquement DC │ Parent- │ (Répliqué uniquement DC ││ de corp.local) │ Enfant │ de emea.corp) │└──────────────────────────────┘ └──────────────────────────────┘- Partition schéma : définit toutes les classes d’objets (utilisateurs, ordinateurs, groupes) et leurs attributs. Unique pour toute la forêt. Modifiable uniquement sur le rôle FSMO Schema Master.
- Partition configuration : contient la topologie physique de la forêt (sites AD, sous-réseaux, partitions applicatives, connexions de réplication, relations d’approbation). Unique pour toute la forêt.
- Partition domaine : contient tous les objets créés dans le domaine spécifique (utilisateurs, machines, groupes, OUs). Chaque domaine possède sa propre partition de domaine isolée.
- Catalogue global (GC) : service hébergé par certains DC (par défaut au moins le premier DC de la forêt) qui conserve une copie complète de sa propre partition de domaine et une copie en lecture seule du Partial Attribute Set de toutes les autres partitions de domaine de la forêt.
Ce qui est possible
Section intitulée « Ce qui est possible »- Découvrir l’ensemble des domaines et de la forêt depuis n’importe quel poste joint : un compte utilisateur standard peut interroger le DNS ou LDAP (
Configuration NC) pour cartographier l’intégralité des domaines de la forêt, leurs relations d’approbation et l’emplacement de tous les DC. - Accéder aux ressources cross-domaines autorisées : si un groupe d’un domaine racine est ajouté dans la DACL d’un partage d’un sous-domaine, l’authentification Kerberos inter-domaine s’opère de façon totalement transparente grâce aux referrals Kerberos.
- Escalader horizontalement puis verticalement au sein de la forêt : un attaquant maîtrisant le hash
krbtgtd’un sous-domaine peut forger un ticket inter-domaine contenant le SID du groupeEnterprise Admins(RID 519) du domaine racine via l’attributsIDHistory(si le filtrage de SID n’est pas activé, or intra-forêt il ne l’est pas par défaut).
Ce qui n’est pas possible
Section intitulée « Ce qui n’est pas possible »- Isoler de façon étanche deux domaines d’une même forêt : il est techniquement impossible de garantir qu’un administrateur du domaine enfant ne puisse pas compromettre le domaine parent sans briser le fonctionnement même de la forêt.
- Trouver les journaux de sécurité d’un domaine sur le DC d’un autre domaine : si un attaquant effectue du Password Spraying contre les utilisateurs de
emea.corp.local, les événements 4625 (échec d’authentification) ne seront jamais enregistrés sur les DC decorp.localouapac.corp.local. - Répliquer les mots de passe et hashs NTLM hors de leur domaine : la partition de domaine contenant les hashs de mots de passe n’est répliquée qu’entre DC du même domaine. Le GC ne contient pas les attributs de mot de passe (
unicodePwd,dBCSPwd).
Confusions fréquentes en DFIR
Section intitulée « Confusions fréquentes en DFIR »| Confusion fréquente | Réalité forensique vérifiable |
|---|---|
| « Nous avons deux domaines séparés dans la même forêt, donc la compromission du domaine B n’affecte pas le domaine A. » | Faux. La forêt est la seule frontière de sécurité. L’accès T0 à un domaine quelconque confère la possibilité technique de compromettre toute la forêt. |
| « J’ai analysé les logs du DC racine, aucune création de compte suspecte n’apparaît. » | La création de compte dans un domaine enfant n’est loguée que sur le DC du domaine enfant concerné. Les DC racine ignorent cette activité locale. |
| « Le Catalogue Global contient toutes les informations de tous les domaines. » | Le GC ne stocke qu’un sous-ensemble d’attributs (PAS). Par exemple, les hashs de mots de passe ou l’attribut msDS-KeyCredentialLink ne sont pas dans le GC. |
Exemple concret d’investigation
Section intitulée « Exemple concret d’investigation »Lors d’une attaque par ransomware, le poste d’un commercial de la filiale suisse (ch.megacorp.local) est compromis. L’attaquant exécute un dump LSASS et obtient les identifiants d’un Domain Admin local à ch.megacorp.local.
L’analyste DFIR constate :
- Sur les DC de
ch.megacorp.local, l’attaquant effectue un DCSync et extrait le hash NTLM du comptekrbtgtdech.megacorp.local. - L’attaquant forge un TGT Kerberos inter-domaine en injectant dans
sIDHistoryle SIDS-1-5-21-ROOT-519correspondant au groupeEnterprise Adminsdu domaine racinemegacorp.local. - L’attaquant présente ce ticket au DC du domaine racine. En l’absence de SID Filtering au sein de la même forêt, le DC racine valide le ticket et accorde à l’attaquant un accès total à tous les DC de tous les pays du groupe.
Artefacts et traces forensiques
Section intitulée « Artefacts et traces forensiques »- Active Directory configuration naming context :
- Objet
CN=Partitions,CN=Configuration,DC=root,DC=local: liste tous les domaines légitimes de la forêt (crossRefobjects).
- Objet
- Événements sur les DC du domaine enfant :
- Event ID 4662 (Directory service access) : lecture de l’objet
krbtgtou droits étendus de réplication (DCSync :DS-Replication-Get-Changes-All).
- Event ID 4662 (Directory service access) : lecture de l’objet
- Événements sur les DC du domaine racine :
- Event ID 4769 (Kerberos service ticket requested) : demande de TGS pour
krbtgt/root.localémise par un compte provenant d’un domaine enfant. - Event ID 4624 (logon type 3) : connexion réseau SMB/RPC vers les DC racine utilisant un compte du sous-domaine avec des privilèges anormaux.
- Event ID 4769 (Kerberos service ticket requested) : demande de TGS pour
Méthodes d’investigation
Section intitulée « Méthodes d’investigation »- Identifier la hiérarchie complète de la forêt :
Exécuter
[System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest()pour cartographier les arbres, les domaines et les catalogues globaux. - Extraire la liste des contrôleurs de domaine par domaine : Collecter la liste exacte des DC pour chaque domaine afin de ne pas omettre de sources d’événements 4624/4625/4768/4769 lors de la collecte forensique.
- Vérifier l’activation du SID filtering intra-forêt :
Vérifier si le filtre de SID a été manuellement durci sur les approbations intra-forêt (
netdom trust <Domain> /filterSIDs:Yes).
Outils d’investigation
Section intitulée « Outils d’investigation »- PowerView / ActiveDirectory PowerShell :
Fenêtre de terminal Get-ADForest | Select-Object Name, RootDomain, Domains, GlobalCatalogsGet-ADDomain -Identity "emea.corp.local" | Select-Object NetBIOSName, DomainSID, ReadOnlyReplicaDirectoryServers - BloodHound / SharpHound :
Collecte des relations cross-domaines (
--collectionmethods All,Trusts) pour visualiser les chemins d’escalade d’un domaine satellite vers le domaine racine.
Points clés à retenir
Section intitulée « Points clés à retenir »- Le domaine est une frontière administrative, la forêt est la frontière de sécurité.
- La compromission d’un contrôleur de domaine dans n’importe quel domaine d’une forêt équivaut à la compromission de l’ensemble de la forêt.
- Les logs de sécurité des domaines ne sont pas répliqués entre eux : chaque domaine doit faire l’objet d’une collecte d’artefacts distincte.
Références et approfondissements
Section intitulée « Références et approfondissements »- Microsoft Learn: Active Directory Forest Design
- Fiche 10 — frontières administratives dans Windows et Active Directory
- Fiche 12 — forêts, arbres et domaines : qui fait confiance à qui et pourquoi ?
- Fiche 16 — authentification inter-domaines : Kerberos referral et NTLM pass-through
- Fiche 17 — SID filtering et name suffix routing