Chapitre 319 minAvancé
Les attaques contre Active Directory : principe, indices et parades
Par Josselyn C., prof de BTS SIO. Mis à jour le .
À la fin de ce chapitre, tu sauras
- nommer les familles d'attaques contre l'annuaire et leur principe ;
- dire ce que chaque attaque exige au départ et ce qu'elle rapporte ;
- reconnaître les indices qu'elle laisse dans les journaux ;
- associer à chaque attaque la mesure qui la coupe.
4 exercices corrigés
Une attaque contre Active Directory cherche à obtenir un secret (un mot de passe, une empreinte NT, une clé Kerberos, un certificat) ou un droit qui rapproche l'attaquant de l'administration du domaine. Elles portent des noms que tu retrouveras dans les rapports d'audit, les bulletins du CERT-FR et les sujets d'examen : pulvérisation de mots de passe, Kerberoasting, pass-the-hash, relais NTLM, DCSync, golden ticket. Ce chapitre ne décrit pas comment on les mène. Il t'apprend, pour chacune, ce qu'il faut à l'attaquant au départ, ce qu'elle lui rapporte, les indices qu'elle laisse dans les journaux et la mesure qui la rend inopérante, avec le chapitre du cours qui met cette mesure en place. C'est exactement ce qu'on attend d'un administrateur, en entreprise comme à l'écrit E7.
Raisonner en défenseur : faiblesse, mesure, contrôle
Face à un nom d'attaque, un défenseur se pose quatre questions, toujours les mêmes :
- Que faut-il à l'attaquant au départ ? Un simple accès au réseau, un compte du domaine quelconque, des droits d'administrateur sur un poste, ou déjà le contrôle du domaine. Plus la condition de départ est modeste, plus l'attaque est dangereuse, car elle est à la portée de quiconque a piégé un seul poste.
- Quelle faiblesse de configuration la rend possible ? Un mot de passe faible, un secret partagé, un compte trop privilégié, un protocole ancien encore actif.
- Quelle mesure supprime cette faiblesse ? Et quelle mesure se contente de la rendre plus difficile ?
- Comment la voir et vérifier que la mesure tient ? Un événement dans les journaux, une requête, un audit.
Cette grille fonctionne même pour une attaque dont tu n'as jamais entendu parler : tu raisonnes sur les secrets et les droits, pas sur un nom appris par cœur. Elle correspond aussi au triplet attendu à l'examen : constat, risque, mesure.
Les attaques à connaître : point de départ, gain et indices
Le premier tableau dit ce que chaque attaque exige et rapporte, et ce qu'elle laisse dans les journaux des contrôleurs ; le chapitre 9 explique comment activer l'audit qui produit ces événements et comment en faire des alertes.
| Attaque (nom usuel) | Ce qu'il faut au départ | Ce qu'elle rapporte | Indices dans les journaux |
|---|---|---|---|
| Pulvérisation de mots de passe (password spraying) | Un accès réseau à un contrôleur ou à un service exposé (VPN, messagerie web) et une liste de noms de comptes | Un premier compte valide, souvent sans privilège | Beaucoup de 4771 (code 0x18) ou de 4776 sur des comptes différents, depuis une même source |
| Kerberoasting | N'importe quel compte du domaine | Le mot de passe d'un compte de service, souvent privilégié | 4769 avec chiffrement 0x17 (RC4) pour un compte de service, ou rafale de 4769 vers de nombreux SPN |
| Comptes sans pré-authentification | Le nom d'un compte qui a l'option cochée ; aucun mot de passe | Le mot de passe de ce compte, s'il est faible | 4768 avec un type de pré-authentification 0 |
| Pass-the-hash | Des droits d'administrateur sur une machine, pour y lire une empreinte en mémoire | L'accès à toutes les machines où le même compte est valide | 4624 de type 3 en NTLM avec le même compte sur plusieurs machines, en peu de temps |
| Empoisonnement LLMNR / NetBIOS et relais NTLM | Une machine sur le même réseau local que les victimes ; aucun compte | L'authentification d'un utilisateur ou d'un serveur, rejouée vers une autre machine | Connexions NTLM depuis une adresse inattendue ; journal NTLM/Operational des contrôleurs (8004) |
| Abus de délégation, d'ACL ou de GPO | Le contrôle d'un compte ou d'un serveur qui porte le droit mal configuré | Une élévation de privilèges, parfois jusqu'au domaine | 5136 (objet modifié), 4738 (compte modifié), changements de GPO |
| DCSync | Un compte qui a les droits de réplication (contrôleurs, Admins du domaine, ou droit délégué par erreur) | Les empreintes de tous les comptes, dont krbtgt | 4662 avec le droit de réplication des secrets, demandé par un compte qui n'est pas un contrôleur |
| Golden ticket | La clé du compte krbtgt, donc un domaine déjà compromis un jour | Des tickets valides pour n'importe quel compte, tant que la clé n'a pas changé | 4769 sans 4768 préalable pour ce compte, durée de ticket anormale |
| Modèle de certificat dangereux (AD CS) | Un compte autorisé à s'inscrire sur un modèle mal configuré | Un certificat qui authentifie comme n'importe quel compte | Sur l'autorité de certification, 4886/4887 dont le sujet demandé n'est pas le demandeur |
Le second tableau donne, pour les mêmes attaques, la faiblesse exploitée et la mesure qui la coupe :
| Attaque | Faiblesse exploitée | Mesures qui la coupent | Chapitre |
|---|---|---|---|
| Pulvérisation de mots de passe et force brute | Mots de passe prévisibles, aucun verrouillage, comptes exposés sans MFA | Politique de mots de passe longue avec liste de mots interdits, seuil de verrouillage, MFA sur les accès distants | 7 |
| Kerberoasting | Comptes de service utilisateurs avec un SPN et un mot de passe humain ancien ; chiffrement RC4 encore accepté | Comptes de service gérés (gMSA, dMSA), SPN inutiles retirés, AES seulement | 7 et 8 |
| Comptes sans pré-authentification Kerberos | Option « Ne pas exiger de pré-authentification Kerberos » cochée sur des comptes | Décocher l'option partout ; la vérifier à chaque audit | 4 et 7 |
| Pass-the-hash, réutilisation de secrets volés | Même mot de passe d'administrateur local partout ; administrateurs qui se connectent sur des postes ordinaires ; NTLM encore utilisé | Windows LAPS, modèle en tiers, Protected Users, Credential Guard, restriction de NTLM | 5, 6 et 8 |
| Empoisonnement LLMNR / NetBIOS et relais NTLM | Résolutions de noms de secours actives ; signatures SMB et LDAP non exigées | Désactiver LLMNR et NetBIOS, exiger la signature SMB et LDAP et la liaison de canal, restreindre NTLM | 8 |
| Abus de délégation | Délégation non contrainte sur des serveurs ; droits d'écriture larges sur les objets ordinateurs | Supprimer la délégation non contrainte, comptes sensibles non délégables, MachineAccountQuota à 0 | 2, 4 et 8 |
| Abus d'ACL et de GPO | Droits délégués « pour dépanner » et jamais retirés ; GPO modifiables par trop de monde | Audit des délégations, revue des droits sur les GPO et l'objet AdminSDHolder | 4 et 5 |
| DCSync | Droits de réplication accordés à des comptes non contrôleurs ; comptes de tier 0 compromis | Aucun compte non contrôleur avec ces droits ; modèle en tiers ; alerte sur l'événement 4662 correspondant | 4, 5 et 9 |
| Golden ticket | Clé du compte krbtgt volée un jour et jamais changée | Protéger le tier 0, changer le mot de passe de krbtgt régulièrement et deux fois après un incident | 7 et 10 |
| Modèle de certificat dangereux | Modèle d'authentification où le demandeur choisit librement le nom du sujet, ouvert à trop de monde | Retirer l'option ou l'inscription aux utilisateurs ordinaires, approbation par un gestionnaire, audit de l'autorité | 4 et 5 |
| Rançongiciel déployé par GPO | Compte de tier 0 compromis ; sauvegardes joignables depuis le domaine | Tout ce qui précède, plus des sauvegardes hors ligne ou immuables et un plan de reprise | 10 |
Deviner les mots de passe : pulvérisation et force brute
La force brute essaie beaucoup de mots de passe sur un compte ; la pulvérisation essaie un ou deux mots de passe courants (Sorbier2026!, Bienvenue1) sur beaucoup de comptes, pour rester sous le seuil de verrouillage de chacun. Il suffit d'un accès réseau et d'une liste de noms, souvent déduite des adresses de messagerie. Sur les contrôleurs, la trace est une pluie d'échecs de pré-authentification (4771, code 0x18) ou de validations NTLM refusées (4776), un ou deux par compte, venant d'une même adresse. La parade combine une politique de mots de passe longue avec une liste de mots interdits, un seuil de verrouillage raisonnable et la MFA sur tout ce qui est exposé à Internet (chapitre 7).
Voler des secrets Kerberos : Kerberoasting et comptes sans pré-authentification
Le Kerberoasting profite d'une règle normale de Kerberos (chapitre 2) : tout compte du domaine peut demander un ticket de service pour n'importe quel SPN, et ce ticket est chiffré avec la clé du compte qui porte le SPN. L'attaquant emporte le ticket et essaie de retrouver le mot de passe hors ligne, sur sa propre machine, sans limite d'essais ni trace supplémentaire. Seuls les comptes de service utilisateurs, à mot de passe choisi par un humain, sont vulnérables. L'indice : des 4769 avec un chiffrement RC4 (0x17) ou une rafale de demandes vers des SPN que le compte n'utilise jamais. Parade : gMSA, AES seulement, SPN inutiles retirés (chapitres 7 et 8).
Les comptes sans pré-authentification suivent la même logique sans même exiger de compte : quand l'option « Ne pas exiger de pré-authentification Kerberos » est cochée, le contrôleur répond à une demande de TGT pour ce compte par une donnée chiffrée avec sa clé, cassable hors ligne. Indice : un 4768 dont le type de pré-authentification vaut 0. Parade : décocher l'option, que presque aucune application moderne n'exige.
Réutiliser ou relayer un secret : pass-the-hash et relais NTLM
Le pass-the-hash exploite une propriété de NTLM vue au chapitre 2 : l'empreinte NT suffit pour s'authentifier, sans connaître le mot de passe. L'attaquant doit d'abord être administrateur d'une machine pour lire les empreintes présentes en mémoire ; il les réutilise ensuite sur toutes les machines où le même compte est valide. C'est pourquoi un mot de passe d'administrateur local identique sur tous les postes (constat B de Sorbier) est si grave. Indices : des 4624 de type 3 en NTLM pour un même compte sur plusieurs machines en quelques minutes, plus visibles sur les postes et serveurs que sur les contrôleurs. Parades : Windows LAPS, modèle en tiers, Protected Users, Credential Guard (chapitres 5, 6 et 8).
L'empoisonnement LLMNR / NetBIOS et le relais NTLM n'exigent qu'une machine branchée sur le même réseau local : elle répond aux résolutions de noms de secours, reçoit une authentification NTLM et la rejoue aussitôt vers un serveur qui n'exige pas de signature. Indices : des connexions NTLM provenant d'une adresse qui ne correspond pas au poste annoncé, et des usages inattendus dans le journal NTLM/Operational des contrôleurs. Parades : couper LLMNR et NetBIOS, exiger les signatures SMB et LDAP, restreindre NTLM (chapitre 8).
Abuser des droits : délégation, ACL, GPO et DCSync
Un annuaire de cinq ans accumule des droits accordés « pour dépanner » : un groupe du support qui peut réinitialiser le mot de passe d'un administrateur, un compte qui peut modifier une GPO liée aux contrôleurs, un serveur en délégation non contrainte. Aucun n'est une faille logicielle : ce sont des chemins de contrôle, qu'un attaquant ayant pris un compte ordinaire suit de droit en droit jusqu'au domaine. Indices : des 5136 (modification d'objet) et 4738 (modification de compte) sur des objets sensibles, des GPO modifiées hors des changements prévus. Parade : auditer les délégations et les droits sur les GPO (chapitre 4), les ramener au strict nécessaire dans le modèle en tiers (chapitre 5).
Le DCSync est l'aboutissement de ces abus : un compte qui détient les droits de réplication des secrets (Replicating Directory Changes All) demande à un contrôleur, comme le ferait un autre contrôleur, les empreintes de tous les comptes, krbtgt compris. Seuls les contrôleurs et les groupes d'administration du domaine ont ce droit par défaut. Indice : un 4662 portant ce droit, demandé par un compte qui n'est pas un compte d'ordinateur de contrôleur. Parade : vérifier à chaque audit qu'aucun autre compte n'a ces droits, protéger le tier 0 et alerter sur cet événement (chapitre 9).
Rester dans la place : golden ticket et accès cachés
Un attaquant qui a été administrateur du domaine veut pouvoir revenir. Le golden ticket est un TGT fabriqué hors du contrôleur avec la clé de krbtgt volée : il est accepté par tous les contrôleurs tant que cette clé n'a pas changé, quel que soit le mot de passe des comptes. Comme le ticket n'a jamais été demandé au KDC, on voit des 4769 sans 4768 préalable, ou des tickets de durée anormale. D'autres accès cachés sont plus simples : un compte créé (4720), ajouté à un groupe d'administration (4728, 4732, 4756), ou une modification de l'objet AdminSDHolder (5136). Parade : protéger le tier 0, changer le mot de passe de krbtgt régulièrement et deux fois après un incident (chapitre 7), chercher toute persistance avant de rouvrir (chapitre 10).
Les modèles de certificats dangereux (AD CS)
Quand une organisation déploie une autorité de certification d'entreprise (AD CS), les certificats qu'elle délivre peuvent servir à ouvrir une session dans le domaine, à la place d'un mot de passe. Le danger vient de certains modèles de certificats : si un modèle permet l'authentification et laisse le demandeur indiquer lui-même le nom du sujet (option Fournir dans la demande, onglet Nom du sujet de la console Modèles de certificats), et que des utilisateurs ordinaires peuvent s'y inscrire, n'importe lequel d'entre eux peut obtenir un certificat au nom d'un administrateur du domaine. L'ANSSI classe ce point au niveau 1, le plus critique (« Permissions d'enrôlement dangereuses sur des modèles de certificats permettant l'authentification »), et PingCastle le signale par la règle A-CertTempCustomSubject.
Chez Sorbier, il n'y a pas d'AD CS : le risque n'existe pas tant qu'on n'en installe pas. Le jour où l'entreprise en déploie une, l'autorité entre dans le tier 0 (chapitre 1), et l'audit vérifie trois choses : aucun modèle d'authentification ne laisse le demandeur choisir le sujet, ou alors il exige l'approbation d'un gestionnaire de certificats ; l'inscription est réservée aux groupes qui en ont besoin ; l'audit de l'autorité est activé, pour que les demandes (4886) et les certificats délivrés (4887) apparaissent dans les journaux.
Les quatre leviers qui couvrent presque tout
Si tu ne retiens que quatre mesures, retiens celles-ci : elles couvrent à elles seules la majorité des lignes du tableau.
- Le modèle en tiers (chapitre 5) : un compte d'administration ne se connecte jamais sur une machine moins protégée que lui. Il ne laisse donc aucun secret à voler hors de son niveau.
- Des secrets uniques et longs, gérés par la machine : Windows LAPS pour les administrateurs locaux (chapitre 6), gMSA pour les comptes de service (chapitre 7).
- La fin des protocoles anciens (chapitre 8) : NTLM restreint, LLMNR, NetBIOS et SMBv1 coupés, signatures exigées, RC4 abandonné.
- La surveillance et la reprise : journaux des contrôleurs centralisés et alertes (chapitre 9), sauvegardes de l'annuaire hors de portée et testées (chapitre 10).
Vérifier qu'une mesure est réellement en place
Une mesure qui n'est pas vérifiée n'existe pas. Pour chaque levier, prévois un contrôle :
| Mesure | Comment la vérifier |
|---|---|
| Modèle en tiers | La GPO d'interdiction d'ouverture de session s'applique (gpresult /r sur un poste) ; aucun membre de Admins du domaine n'a de session sur un poste ordinaire |
| Windows LAPS | Chaque ordinateur a un mot de passe récent dans l'annuaire (Get-LapsADPassword) |
| Comptes de service | Aucun compte utilisateur avec SPN n'est privilégié ; Test-ADServiceAccount répond True pour chaque gMSA |
| Protocoles anciens | Les journaux d'audit NTLM ne montrent plus que des usages connus et justifiés |
| Surveillance | Une alerte de test (ajout fictif à un groupe surveillé) remonte bien dans le SIEM |
| Sauvegardes | Une restauration de test a réussi ce trimestre |
L'audit du chapitre 4 automatise une grande partie de ces vérifications, et le chapitre 9 transforme les autres en alertes.
Comment ces attaques tombent à l'examen
Les sujets d'E7 ne demandent jamais de mener une attaque. Ils donnent un extrait de rapport d'audit, de journal ou de tableau de bord, et demandent de relever un risque et de proposer une mesure. Le vocabulaire du tableau ci-dessus suffit : nomme la menace, explique la faiblesse en une phrase, propose la mesure précise (le réglage, la GPO, le type de compte). Le chapitre 11 en donne un cas complet corrigé.
Exercices
Exercice 1 sur 4 Associer une mesure à chaque menace Réussi À revoir
Pour chaque menace, choisis la mesure la plus directe dans la liste : (a) Windows LAPS ; (b) gMSA ; (c) désactiver LLMNR et exiger la signature SMB ; (d) changer deux fois le mot de passe de krbtgt ; (e) seuil de verrouillage et liste de mots de passe interdits.
- Pulvérisation de mots de passe. 2. Kerberoasting. 3. Pass-the-hash avec le compte Administrateur local. 4. Golden ticket après un incident. 5. Relais NTLM sur le réseau local.
Voir la réponseMasquer la réponse de l'exercice 1
- (e) : le verrouillage limite les essais, la liste de mots interdits retire les mots de passe que la pulvérisation essaie en premier.
- (b) : le mot de passe d'un gMSA est long, aléatoire et renouvelé automatiquement ; le ticket correspondant n'est pas cassable en pratique.
- (a) : chaque poste a son propre mot de passe, une empreinte volée sur l'un n'ouvre pas les autres.
- (d) : le compte
krbtgtgarde son mot de passe actuel et le précédent ; deux changements invalident tous les tickets fabriqués avec l'ancienne clé. - (c) : sans résolution de noms de secours, le poste ne s'adresse plus à une machine inconnue ; la signature empêche de réutiliser l'échange ailleurs.
Tu avais trouvé ?
Exercice 2 sur 4 Relier un indice à une attaque Réussi À revoir
Voici quatre observations faites sur les contrôleurs de Sorbier. Pour chacune, nomme l'attaque la plus probable, dis ce que l'attaquant possédait au départ et propose la mesure qui la coupe.
- En dix minutes, 180 événements 4771 (code
0x18), un ou deux par compte, sur 150 comptes différents, tous depuis192.168.10.93. - Un 4768 pour le compte
jlefevreavec un type de pré-authentification0. - Un 4662 portant le droit Replicating Directory Changes All, demandé par le compte
svc-sauvegarde. - Le compte
mdupont, une assistante, demande en une minute des tickets de service (4769) chiffrés en RC4 pour douze SPN différents.
Voir la réponseMasquer la réponse de l'exercice 2
- Pulvérisation de mots de passe : peu d'essais par compte, beaucoup de comptes, une seule source. Au départ : un accès au réseau des postes (
.93est dans le VLAN 10) et une liste de noms. Mesures : liste de mots de passe interdits et longueur minimale de 12 caractères, seuil de verrouillage ; isoler le poste192.168.10.93, qui est probablement compromis. - Compte sans pré-authentification : la réponse du contrôleur est exploitable hors ligne. Au départ : seulement le nom du compte. Mesure : décocher « Ne pas exiger de pré-authentification Kerberos » sur
jlefevreet changer son mot de passe. - DCSync : un compte qui n'est pas un contrôleur demande les secrets de réplication. Au départ : un compte doté des droits de réplication, ici
svc-sauvegarde, membre de Admins du domaine (constat C). Mesures : traiter comme un incident (tous les secrets du domaine sont peut-être connus,krbtgtcompris), puis retirer ce compte des groupes d'administration et le remplacer par un gMSA. - Kerberoasting : une rafale de tickets de service en RC4 vers des services qu'une assistante n'utilise pas. Au départ : n'importe quel compte du domaine, ici celui de
mdupont, probablement volé. Mesures : comptes de service gérés (gMSA) et AES seulement ; changer le mot de passe demdupontet examiner son poste.
Tu avais trouvé ?
Exercice 3 sur 4 Faiblesse ou mesure ? Réussi À revoir
Classe chaque élément trouvé lors d'un audit de Sorbier en faiblesse ou mesure déjà en place, puis, pour chaque faiblesse, nomme la menace qu'elle facilite.
(a) le compte svc-sauvegarde a un SPN et un mot de passe de 2021 ; (b) les comptes adm0-* sont membres de Protected Users ; (c) le service Spouleur d'impression tourne sur srv-ad ; (d) l'attribut ms-DS-MachineAccountQuota vaut 0 ; (e) trois comptes ont l'option « Ne pas exiger de pré-authentification Kerberos ».
Voir la réponseMasquer la réponse de l'exercice 3
- (a) Faiblesse : Kerberoasting, d'autant plus grave que ce compte est privilégié.
- (b) Mesure : pas de NTLM, pas de mise en cache, pas de délégation pour ces comptes.
- (c) Faiblesse : le spouleur des contrôleurs a été la cible de vulnérabilités connues (PrintNightmare) et peut servir à forcer une authentification du contrôleur ; on le désactive sur les contrôleurs (chapitre 8).
- (d) Mesure : les utilisateurs ordinaires ne peuvent plus créer de comptes d'ordinateur dans le domaine (la valeur par défaut est 10).
- (e) Faiblesse : ces comptes exposent une réponse Kerberos exploitable hors ligne ; on décoche l'option.
Tu avais trouvé ?
Exercice 4 sur 4 Rédiger trois lignes de rapport Réussi À revoir
Pour les faiblesses (a), (c) et (e) de l'exercice précédent, rédige chacune en une ligne au format « constat → risque → mesure ».
Voir la réponseMasquer la réponse de l'exercice 4
- (a) Compte de service
svc-sauvegardeavec SPN et mot de passe inchangé depuis 2021, membre de Admins du domaine → son mot de passe peut être cassé hors ligne par n'importe quel utilisateur du domaine, ce qui donne le contrôle du domaine → le remplacer par un gMSA aux droits limités à la sauvegarde. - (c) Spouleur d'impression actif sur
srv-ad→ surface d'attaque inutile sur un équipement de tier 0 → désactiver le service sur les deux contrôleurs par GPO. - (e) Trois comptes sans pré-authentification Kerberos → leurs mots de passe deviennent attaquables hors ligne → réactiver la pré-authentification et vérifier ce point à chaque audit.
Tu avais trouvé ?