Microsoft AD CS Security: Common Attacks and How to Harden Your CA

Summarize this article with AI:

Table of Contents

AD CS security needs three fixes: patch every CA, lock down web enrollment, and remove risky certificate template settings. Attackers seldom break AD CS itself. Instead, they abuse settings that let a low-privileged user obtain a certificate for a domain admin or domain controller.

Microsoft’s October 2026 report shows this path in two real intrusions. This guide maps each common attack to its fix, in the order to apply them.

Quick Definition
Active Directory Certificate Services (AD CS) is the Windows Server role that runs a Microsoft certificate authority. It issues certificates that users, devices and services use to sign in and encrypt traffic. Because domain controllers accept those certificates for Kerberos sign-in, a forged certificate works like a stolen password.

Why Do Attackers Target Microsoft AD CS?

Attackers target AD CS because domain controllers accept a valid certificate as proof of identity for Kerberos sign-in. A single wrongly issued certificate can therefore let an attacker act as a domain admin or a domain controller.

Four factors make this path attractive:

  • Certificates outlive passwords. According to Microsoft Threat Intelligence (October 2026), a password reset does not revoke an issued certificate.
  • The CA mints identities. Whoever controls issuance controls which accounts the domain will trust.
  • AD CS gets overlooked. NCC Group notes that security audits often skip it, so old weaknesses stay in place.
  • Inventory gaps. A cryptographic posture management program helps you find forgotten templates and certificates.

AD CS issues private certificates that only your domain trusts. Public websites need public CAs, which SSLInsights explains in its free certificate guides.

What Are the Most Common AD CS Attacks?

Most AD CS attacks abuse configuration, not software bugs. SpecterOps named escalation classes ESC1 through ESC8 in its 2021 research, and later researchers added more.

The table lists the classes that matter most and the fix for each:

ClassWeaknessWhat the attacker gainsFix
ESC1Authentication template lets the requester set the subject, with broad enrollment and no approvalA certificate for any user, including a domain adminRemove requester-supplied subjects, narrow enrollment, require approval
ESC2, ESC3Any Purpose or no-EKU template, or an open Certificate Request Agent templateCertificates on behalf of other usersSet specific purposes, restrict enrollment agents
ESC4Low-privileged accounts can edit a templateA template rewritten into ESC1Limit write rights to PKI admins
ESC6CA flag EDITF_ATTRIBUTESUBJECTALTNAME2 is onAny enrollable template accepts a chosen identityTurn the flag off
ESC7Wrong accounts hold ManageCA or ManageCertificatesControl of CA settings or request approvalLimit both rights to a few PKI admins
ESC8Web enrollment accepts relayed NTLMA certificate for the relayed accountRequire HTTPS and EPA, disable NTLM
ESC9, ESC10Template drops the security extension, or weak mapping settingsImpersonation through weak mappingKeep strong mapping enforcement
ESC11CA accepts unencrypted RPC certificate requestsA relay path through the RPC interfaceEnforce encrypted requests

Microsoft’s 2026 intrusion report involved ESC1 and ESC8, so check those two first. Community tools now list ESC1 through ESC16, so re-audit after every template change.

What Did Microsoft’s October 2026 Intrusion Report Show?

Microsoft described two intrusions on October 30, 2026 that began with Teams help desk impersonation and Quick Assist. Microsoft reported no Teams vulnerability, and both cases relied on weak AD CS settings.

The two cases then split at the certificate layer:

  • Case 1 (ESC1): The attacker used a vulnerable template to get certificates for 3 privileged accounts, then 8 more about 90 minutes later.
  • DCSync: One privileged certificate was enough to authenticate to a domain controller and run DCSync within seconds.
  • The excluded account: One privileged account sat outside automated containment. The attacker later used it to copy file-server data to an external SFTP site.
  • Case 2 (ESC8): The attacker coerced a domain controller with PetitPotam and relayed its NTLM login to Web Enrollment. The result was a domain controller certificate for Kerberos PKINIT.
  • Outcome: The customer isolated the workstation after alerts, and no further progress was observed.

These cases show how one skipped control can undo the others. Microsoft’s guidance targets exactly those gaps: template review for ESC1, and HTTPS with EPA for ESC8.

Reality Check
Resetting a password or reimaging a workstation does not revoke an issued certificate. Clients also learn about a revocation only after they fetch fresh CRL or OCSP data.

What Is Certighost (CVE-2026-54121) and How Do You Patch It?

Certighost is CVE-2026-54121, an improper authorization flaw (CWE-285) in AD CS. The National Vulnerability Database lists a CVSS 3.1 score of 8.8 and a network attack vector with low privileges required.

Microsoft shipped the fix in its July 14, 2026 security updates. Researchers published a working proof-of-concept on July 24, 2026, so unpatched CAs now carry real risk.

Check each CA against these minimum builds from the NVD record:

  • Windows Server 2016: build 10.0.14393.9339 or later
  • Windows Server 2019: build 10.0.17763.9020 or later
  • Windows Server 2022: build 10.0.20348.5386 or later
  • Windows Server 2025: build 10.0.26100.33158 or later

How Do You Stop NTLM Relay to AD CS Web Enrollment?

Require HTTPS and Extended Protection for Authentication (EPA) on every enrollment web endpoint, or remove the endpoint. This breaks the relay step that ESC8 and PetitPotam depend on.

Apply these KB5005413 steps on each AD CS server that hosts web enrollment:

  1. List your Certificate Authority Web Enrollment and Certificate Enrollment Web Service endpoints, and remove any you do not need.
  2. In IIS Manager, enable Require SSL so only HTTPS connections work.
  3. Set Extended Protection to Required for both services.
  4. For Certificate Enrollment Web Service, also set extendedProtectionPolicy to Always in its web.config file.
  5. Restart IIS with iisreset /restart from an elevated prompt.
  6. Disable incoming NTLM on AD CS servers where possible, using Group Policy.

Test Kerberos-only authentication before you disable NTLM broadly. Microsoft’s October 2026 report also advises validating it before broad enforcement.

Pro Tip
Run iisreset /restart in a maintenance window. Microsoft notes that the command stops all running IIS services before it restarts them.

AD CS Security Checklist: Templates, CA Settings and CA Keys

Harden certificate templates first, then CA settings, then the keys and servers behind them. Each layer closes a different group of ESC attacks.

Work through this checklist on every CA:

  • Templates (ESC1 to ESC4): Publish only the templates you use. Remove supply-in-request from authentication templates, narrow enrollment, and require manager approval where possible.
  • CA flags and permissions (ESC6, ESC7): Confirm EDITF_ATTRIBUTESUBJECTALTNAME2 is off. Limit ManageCA and ManageCertificates to a few PKI admins.
  • RPC enrollment (ESC11): Enable the IF_ENFORCEENCRYPTICERTREQUEST flag so the CA requires encrypted certificate requests.
  • Strong mapping (ESC9, ESC10): Microsoft’s KB5014754 made Full Enforcement the default with the February 2025 update. After the September 9, 2025 update, Microsoft no longer supports the registry fallback, so weakly mapped certificates fail authentication.
  • CA servers and keys: Treat every CA like a domain controller, separate CA admin roles, and store CA keys in hardware security modules where possible.

Watch Out
Setting the 0x00080000 bit in msPKI-Enrollment-Flag stops a template from adding the SID extension. Use it only if those certificates never support Kerberos PKINIT or already carry another strong mapping. Attackers abuse templates that skip the extension, a weakness known as ESC9.

What Should You Monitor, and How Should You Respond?

Send CA and domain controller events to your SIEM, and alert on certificates issued for privileged accounts. Microsoft advises enabling the Certification Services audit subcategory and the CA audit filter.

Watch these Windows events:

  • Events 4886 and 4887: The CA received a certificate request, then issued a certificate.
  • Event 4768: A Kerberos ticket request, which carries certificate details when PKINIT is used.
  • Events 4899 and 4900: A certificate template or its security settings changed.
  • Event 5136: A directory object changed on a domain controller, including template objects.
  • Kdcsvc events 39, 40 and 41: A certificate lacks a strong mapping or carries a mismatched SID.

If you find an unauthorized certificate, revoke it and publish updated revocation data. Then review Kerberos activity, because revocation does not cancel tickets that already exist.

Frequently Asked Questions About AD CS Security

What is an AD CS attack?

An AD CS attack abuses a certificate authority to obtain a certificate for an identity the attacker does not control. The attacker then uses that certificate to sign in through Kerberos. Common paths include weak templates (ESC1) and NTLM relay to web enrollment (ESC8).

What is ESC1 in AD CS?

ESC1 is a template misconfiguration. It lets a low-privileged user request an authentication certificate and supply any subject name, with no approval step. Fix it by removing requester-supplied subjects, narrowing enrollment, or requiring manager approval.

How do I secure Active Directory Certificate Services?

Patch every CA, lock down web enrollment with HTTPS and EPA, and clean up templates and CA flags. Then protect CA keys, treat CAs as Tier 0, and monitor certificate events. Work in that order, because the first two steps close the paths seen in 2026 intrusions.

What is ESC8 and how do you prevent it?

ESC8 is an NTLM relay attack against AD CS web enrollment. The attacker relays a machine or user login and requests a certificate as that account. Prevent it by removing unused endpoints, requiring HTTPS with EPA, and disabling NTLM where feasible.

Does resetting a password stop an AD CS attack?

No. A password reset does not revoke an issued certificate or invalidate Kerberos tickets that already exist. Revoke the certificate, publish revocation data, and review tickets as separate steps.

What are the best practices for AD CS?

Use a two-tier hierarchy with an offline root CA, and keep CAs off domain controllers. Publish only needed templates, limit CA admin roles, store keys in HSMs, and audit the CA. Then re-check templates after every change.