Aller au contenu

Types d'approbations Active Directory

Active Directory prend en charge six types de relations d’approbation distinctes, chacune répondant à un besoin d’intégration et obéissant à des règles de sécurité différentes :

Type d’approbationPérimètreTransitivitéFiltrage SID par défautCréation
Parent / enfantIntra-forêtTransitiveDésactivé (Permissif)Automatique
Arbre (tree-root)Intra-forêtTransitiveDésactivé (Permissif)Automatique
Raccourci (shortcut)Intra-forêtTransitiveDésactivé (Permissif)Manuelle (Optimisation)
Forêt (forest)Inter-forêtsTransitive (2 forêts)Activé (Strict)Manuelle
Externe (external)Inter-forêts / NT4Non-transitiveActivé (Strict)Manuelle
Realm (Kerberos)AD vers non-WindowsConfigurableActivé (Strict)Manuelle (Linux/MIT)

L’identification exacte du type d’approbation oriente l’évaluation des risques et la délimitation du périmètre d’investigation :

  • Intra-forêt vs inter-forêts : si le domaine compromis est relié par une approbation de type Parent-Enfant, Arbre ou Raccourci, l’escalade vers la racine de la forêt est triviale (SID Filtering inactif par défaut). Si la liaison est une approbation de Forêt ou Externe, le SID Filtering bloque l’élévation directe via sIDHistory.
  • Approbations raccourci (shortcut trusts) : souvent méconnues des équipes sécurité, elles sont créées par les administrateurs pour accélérer l’authentification entre deux branches éloignées d’un arbre AD. En DFIR, elles constituent des autoroutes de mouvement latéral court-circuitant la surveillance des DC intermédiaires.
  • Approbations externes (external trusts) : ancienne méthode reliant deux domaines précis de forêts distinctes sans lier les forêts. Elles ne sont jamais transitives.

  1. Parent-enfant (parent-child) :
    • Établie automatiquement lors de la jonction d’un sous-domaine à un domaine existant.
    • Partage le même espace de noms DNS (sub.domain.local et domain.local).
    • Bidirectionnelle et transitive au sein de la forêt.
  2. Racine d’arbre (tree-root) :
    • Établie automatiquement lorsqu’un nouvel arbre avec un nom DNS distinct (autre-marque.com) rejoint une forêt existante (groupe.local).
    • Bidirectionnelle et transitive.
  3. Raccourci (shortcut trust) :
    • Établie manuellement entre deux domaines géographiquement ou hiérarchiquement distants dans la même forêt pour réduire le nombre de referrals Kerberos.
    • Unidirectionnelle ou bidirectionnelle, transitive intra-forêt.
  4. Approbation de forêt (forest trust) :
    • Établie entre deux domaines racine de deux forêts distinctes (niveau fonctionnel 2003 minimum).
    • Permet l’authentification transitive entre tous les domaines de la forêt A et tous les domaines de la forêt B.
    • Applique strictement le SID Filtering et le routage des suffixes de noms (Name Suffix Routing).
  5. Approbation externe (external trust) :
    • Établie manuellement entre un domaine d’une forêt et un domaine d’une autre forêt (ou un vieux domaine Windows NT 4.0).
    • Strictement non-transitive : un compte du domaine externe ne peut accéder qu’aux ressources de ce domaine cible précis, sans rebond possible vers le reste de la forêt.
  6. Approbation realm (Kerberos realm trust) :
    • Établie entre un domaine Active Directory et un centre de distribution de clés (KDC) Kerberos non-Windows (ex: MIT Kerberos, FreeIPA, Red Hat Enterprise Linux).

  • Classifier précisément les approbations via les attributs LDAP : l’attribut trustType (1=Downlevel/NT4, 2=Upx/AD, 3=MIT Kerberos) et l’attribut trustAttributes (masque de bits) révèlent exactement le type et le comportement de chaque liaison.
  • Traverser une forêt partenaire via une forest trust : un utilisateur de la Forêt A peut accéder aux ressources de n’importe quel domaine de la Forêt B si les autorisations sont en place.
  • Identifier les approbations orphelines : détecter des approbations créées pour d’anciennes fusions/acquisitions non décommissionnées, constituant des portes dérobées majeures.

  • Rebondir au-delà d’une approbation externe : si l’attaquant compromet le Domaine A relié par une External Trust au Domaine B, il ne pourra jamais obtenir de ticket Kerberos pour le Domaine C (parent de B) via cette confiance.
  • Forger des SIDs privilégiés à travers une approbation de forêt : grâce au SID Filtering actif, le KDC distant rejette tout SID étranger à la forêt émettrice présent dans le PAC.

Confusion fréquenteRéalité forensique vérifiable
« Une approbation de Forêt est une approbation Externe entre forêts. »Faux. L’approbation Externe est ponctuelle entre deux domaines et non-transitive. L’approbation de Forêt englobe tous les domaines des deux forêts et est transitive.
« Les approbations Raccourci ouvrent de nouveaux droits. »Elles n’ouvrent aucun droit supplémentaire ; elles optimisent uniquement le chemin d’authentification réseau.
« Une approbation Realm permet de gérer des GPOs sur Linux. »L’approbation Realm n’offre qu’une authentification Kerberos mutuelle, sans gestion d’objets AD ni GPO.

Lors d’un audit de compromission d’une multinationale, l’équipe DFIR découvre une relation d’approbation anormale :

  • L’outil BloodHound affiche un lien de confiance entre la forêt de production et une forêt tierce inconnue prestataire-infogerance.local.
  • L’analyse de l’objet TDO révèle :
    • trustType : 2 (Active Directory)
    • trustAttributes : 0x8 (TRUST_ATTRIBUTE_FOREST_TRANSITIVE)
    • trustDirection : 2 (Outbound : la forêt de production fait confiance au prestataire).
  • Conclusion forensique : tout compte compromis chez le prestataire infogérant pouvait s’authentifier dans l’ensemble de la forêt de production de l’entreprise.

  1. Attribut trustAttributes dans l’annuaire Active Directory :
    • 0x00000001 : NON_TRANSITIVE
    • 0x00000002 : UPLEVEL_ONLY (Windows 2000+)
    • 0x00000004 : QUARANTINED_DOMAIN (SID Filtering actif)
    • 0x00000008 : FOREST_TRANSITIVE (Forest Trust)
    • 0x00000020 : WITHIN_FOREST (Intra-forêt)
    • 0x00000040 : TREAT_AS_EXTERNAL
  2. Journaux de sécurité des DC (event IDs) :
    • Event ID 4706 : création d’une nouvelle relation d’approbation (A trust relationship to a domain was created).
    • Event ID 4707 : suppression d’une relation d’approbation.
    • Event ID 4716 : modification des attributs d’une relation d’approbation (ex: altération du SID Filtering).

  1. Énumérer exhaustivement les approbations et leurs masques d’attributs : Exécuter le script PowerShell pour inspecter les bits de trustAttributes.
  2. Rechercher les événements de création/modification de confiance : Filtrer les journaux de sécurité des DC sur les Event IDs 4706, 4707 et 4716 sur les 12 derniers mois.
  3. Vérifier l’activation du selective authentication : Vérifier si le flag TRUST_ATTRIBUTE_CROSS_ORGANIZATION (0x10) est activé, limitant l’accès aux seules machines autorisées dans la DACL Allowed-To-Authenticate.

  • PowerShell AD module :
    Fenêtre de terminal
    Get-ADObject -Filter 'objectClass -eq "trustedDomain"' -Properties * |
    Select-Object Name, trustDirection, trustType, trustAttributes, whenCreated, whenChanged
  • Netdom :
    Fenêtre de terminal
    netdom trust <DomainName> /Enum
  • BloodHound : Filtre Match (n:Domain)-[:TrustedBy]->(m:Domain) Return n, m pour visualiser la nature et le sens des liaisons.

  • Les approbations intra-forêt sont transitives et ne filtrent pas les SIDs par défaut.
  • Les approbations de forêt sont transitives entre deux forêts et imposent le SID Filtering.
  • Les approbations externes sont strictement non-transitives.
  • Toute création suspecte d’approbation génère l’Event ID 4706 sur le PDC Emulator.