← All Threat Hunting ReportsThreat Hunting Exercise

Threat Hunting Exercise: Analyzing AD CS ESC1 Certificate Template Abuse Dataset

This hunt covers a modern, high-impact AD attack path: a simulated Windows Security + Certificate Services log dataset (adcs_esc1_certificate_template_abuse_2022-09-08T111500.json) capturing T1649: Steal or Forge Authentication Certificates, where an adversary exploits a misconfigured Active Directory Certificate Services template (the well-known "ESC1" pattern: enrollee-suppliable Subject Alternative Name + client-auth EKU + low-privilege enroll rights) to request a certificate impersonating a Domain Admin account, then authenticates as that account without ever touching its password or hash.

Step 1: Hypothesis Formation

Hypothesis: A low-privileged domain user requests a certificate from a vulnerable template (e.g., a custom "VPN-User" template with CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT enabled), supplying a Subject Alternative Name (SAN) of administrator@theshire.local or another privileged UPN, receives a valid certificate, and uses it (via Rubeus or certreq) to request a Kerberos TGT (PKINIT) as the impersonated privileged account. Indicators:

Null Hypothesis: Legitimate smartcard/certificate-based authentication rollout for privileged accounts, issued through an approved, properly-scoped template. Invalidate via the requesting principal's identity not matching the certificate subject, and the template's known misconfiguration (enrollee-suppliable SAN combined with broad enroll permissions for low-privilege groups like "Domain Users").

Rationale: AD CS misconfigurations (the ESC1-ESC8 family cataloged by SpecterOps' Certified Pre-Owned research) are now one of the most common paths to domain compromise in real assessments, and complement this series' Kerberoasting and DCSync hunts as a third distinct route to the same objective: acting as Domain Admin.

Step 2: Data Sources and Scope

Step 3: Key Findings

Parsed events (8 shown) confirm a textbook ESC1 exploitation: certificate request with a spoofed SAN, issuance from a vulnerable template, and successful PKINIT authentication as Administrator.

Timestamp (UTC)Event ID/SourceKey DetailsIOC/Why Suspicious?
2022-09-08 11:15:001 (Proc Create) / SysmonImage=certreq.exe; CommandLine="certreq.exe -submit -attrib \"SAN:upn=administrator@theshire.local\" request.inf"; User=jbrown; Host=WORKSTATION19.Core IOC: jbrown (standard user) explicitly requests a certificate with a SAN naming the Administrator UPN - the defining ESC1 exploitation step.
2022-09-08 11:15:024886 (Cert Request) / CertSvcRequesterName=THESHIRE\jbrown; TemplateName=VPN-User; RequestedSAN=administrator@theshire.local.Template IOC: The vulnerable "VPN-User" template accepted an enrollee-supplied SAN from a low-privileged account - confirms the misconfiguration is actively exploitable, not just theoretical.
2022-09-08 11:15:034887 (Cert Issued) / CertSvcCertificateSubject=CN=jbrown; CertificateSAN=administrator@theshire.local; SerialNumber=3F0A...; RequesterName=THESHIRE\jbrown.Issuance IOC: CA issued the certificate despite the Subject (jbrown) and SAN (administrator) mismatch - the template's low approval bar let this through without manual review.
2022-09-08 11:15:301 (Proc Create) / SysmonImage=rubeus.exe (unsigned); CommandLine="Rubeus.exe asktgt /user:administrator /certificate:cert.pfx /getcredentials"; User=jbrown; Host=WORKSTATION19.Exploitation IOC: Rubeus (or certreq+kinit equivalent) uses the issued certificate to request a TGT via PKINIT, impersonating Administrator.
2022-09-08 11:15:314768 (TGT Request) / SecurityTargetUserName=Administrator; CertificateIssuerName=MORDORCA; CertificateSerialNumber=3F0A...; IpAddress=WORKSTATION19's IP.Core IOC: Domain Administrator's TGT issued via certificate-based pre-auth, originating from a standard user's workstation that has never hosted an Administrator interactive/service session.
2022-09-08 11:15:324672 (Special Privileges) / SecurityTargetUserName=Administrator; Privileges=SeDebugPrivilege, SeEnableDelegationPrivilege, SeTcbPrivilege.Full domain-admin privilege set now available to the attacker's tooling on WORKSTATION19.
2022-09-08 11:16:004662 (Obj Access) / SecuritySubjectUserName=Administrator (via the stolen TGT); ObjectName=nTDSDSA on MORDORDC; AccessMask=0x100 (replication rights).Escalation IOC: Actor immediately pivots to a DCSync-style replication request using the impersonated Administrator ticket - full domain compromise achieved.
2022-09-08 11:17:304768 (TGT Request) / SecurityTargetUserName=Administrator; renewed ticket request, same certificate serial, same IP.Ticket renewal shows sustained persistence using the stolen certificate - this access survives until the certificate is revoked or the template is fixed, independent of any password reset.

Validation:

Step 4: Recommendations & Next Steps

Hypothesis confirmed - ESC1 certificate template abuse leading to full domain compromise via certificate-based Administrator impersonation! This is now one of the highest-priority hunts to run in any AD CS-enabled environment, alongside the Kerberoasting and DCSync hunts already in this series.