Que sont les Chemins d'Attaque vers Domain Admin ?
Dans Active Directory, les chemins d'attaque sont des chaînes de relations — appartenances aux groupes, permissions ACL, liens GPO, configurations de délégation, comptes Kerberoastables — qui relient un attaquant peu privilégié à Domain Admin. Aucune mauvaise configuration unique n'a besoin d'être critique isolément : ce qui compte, c'est si elles peuvent être enchaînées.
Les adversaires modernes ne s'exploitent pas des vulnérabilités individuelles. Ils cartographient l'ensemble de l'environnement AD comme un graphe, identifient le chemin le plus court depuis leur position actuelle vers Domain Admin, et suivent ce chemin — un saut à la fois.
Comment ca Fonctionne
L'analyse des chemins d'attaque traite AD comme un graphe orienté :
- Nœuds = utilisateurs, ordinateurs, groupes, GPOs, OUs, domaines
- Arêtes = relations pouvant être abusées (MemberOf, GenericAll, WriteDACL, GpLink, etc.)
Des outils comme BloodHound collectent ces données de graphe et utilisent Neo4j pour trouver les chemins les plus courts entre deux nœuds quelconques. Un attaquant exécutant BloodHound depuis un compte utilisateur standard compromis peut visualiser l'ensemble du chemin vers Domain Admin en quelques minutes.
Catégories de Chemins Courants
| Type de Chemin | Exemple de Chaîne |
|---|---|
| ACL vers DA | Utilisateur A a GenericWrite sur Utilisateur B (membre DA) |
| GPO vers DA | Utilisateur A a des droits d'édition GPO sur une GPO liée à l'OU des DCs |
| Kerberoasting vers DA | Compte de service Kerberoastable ET membre DA |
| Imbrication de groupes | Utilisateur A est dans Groupe X, imbriqué dans Domain Admins |
| ADCS | Utilisateur A peut s'inscrire dans un modèle vulnérable permettant l'usurpation DA |
La Chaine d'Attaque
Etape 1 - Collecter les Données du Graphe AD
# Depuis Linux avec des credentials valides
bloodhound-python -u [email protected] -p password -ns 10.10.0.1 -d corp.local -c All --zip
Etape 2 - Trouver les Chemins les Plus Courts vers Domain Admin
Dans BloodHound ou le navigateur Neo4j :
-- Chemin le plus court depuis n'importe quel utilisateur vers Domain Admins
MATCH p=shortestPath((u:User {enabled:true})-[*1..]->(g:Group {name:"DOMAIN [email protected]"}))
RETURN p ORDER BY length(p) ASC LIMIT 10
-- Trouver tous les utilisateurs Kerberoastables avec chemin vers DA
MATCH (u:User {hasspn:true})-[*1..]->(g:Group {name:"DOMAIN [email protected]"})
RETURN u.name, u.pwdlastset
Etape 3 - Suivre le Chemin le Plus Court
Un chemin réel typique :
- L'attaquant compromet
jmartin(utilisateur standard) via phishing jmartinaGenericWritesursvc_deploy(héritage d'un projet)svc_deployest Kerberoastable avec un mot de passe vieux de 3 ans- L'attaquant craque le mot de passe via Kerberoasting
svc_deployest membre deIT_AdminsIT_Adminsest imbriqué dansDomain Admins- Compromission totale du domaine — 4 sauts, aucun exploit
Détection
Event IDs Windows
| Event ID | Source | Saut de Chemin Détecté |
|---|---|---|
| 4769 | DC | Kerberoasting — demande TGS pour SPN |
| 4662 | DC | DCSync — droits de réplication exercés |
| 4738 | DC | Compte modifié — réinitialisation mot de passe via abus ACL |
| 4728/4756 | DC | Changement d'appartenance au groupe |
| 5136 | DC | GPO modifiée — chemin GPO exploité |
💡 Conseil : Implémentez BloodHound en mode défensif. Exécutez des collectes hebdomadaires et alertez quand de nouveaux chemins les plus courts vers Domain Admin apparaissent.
Remédiation
💡 Action Rapide : Exécutez BloodHound sur votre environnement aujourd'hui. Le premier scan révèle presque toujours au moins un chemin vers Domain Admin depuis un compte non privilégié. Commencez par le chemin le plus court.
1. Éliminer les Chemins les Plus Courts en Premier
Pour chaque chemin, selon le type d'arête :
- Arête ACL : Supprimer l'ACE dangereuse
- Arête d'imbrication de groupe : Retirer le groupe du groupe privilégié
- Arête Kerberoastable : Changer le mot de passe ou migrer vers gMSA
- Arête GPO : Supprimer les droits d'édition du compte non-admin
2. Prioriser les Comptes Kerberoastables dans le Chemin DA
Get-ADUser -Filter {ServicePrincipalName -ne "$null"} -Properties MemberOf, PasswordLastSet |
Where-Object {
(Get-ADUser $_ -Properties MemberOf).MemberOf |
Get-ADGroup | Where-Object {$_.Name -match "Admin"}
} | Select-Object SamAccountName, PasswordLastSet
# Migrer ces comptes vers gMSA immédiatement
Comment EtcSec Détecte Cela
PATH_ACL_TO_DA cartographie chaque chemin basé sur ACL depuis des utilisateurs standards vers Domain Admin, y compris les chaînes multi-sauts.
PATH_GPO_TO_DA identifie les chemins où des droits d'édition GPO sur des politiques liées à des OUs Tier 0 fournissent un chemin indirect vers la compromission du DC.
PATH_KERBEROASTING_TO_DA signale les comptes de service Kerberoastables ayant des privilèges Domain Admin directement ou transitivement.
ℹ️ Note : EtcSec cartographie continuellement les chemins d'attaque dans votre environnement AD. Lancez un audit gratuit pour voir votre surface d'attaque complète.


