AD-ADCS-014: ESC11: CA does not require encryption for ICPR requests¶
medium high Certificate services MITRE ATT&CK T1649, T1557 Reads: CA registry probe
A CA does not require packet privacy on its RPC enrollment interface (IF_ENFORCEENCRYPTICERTREQUEST off), so coerced authentication can be relayed to it for a certificate.
Also known as: esc11
Why it matters¶
AD CS accepts certificate requests over RPC through the ICertPassage (MS-ICPR) interface. The
CA's IF_ENFORCEENCRYPTICERTREQUEST flag controls whether that interface demands
RPC_C_AUTHN_LEVEL_PKT_PRIVACY, where every packet is signed and encrypted. It is on by
default but is sometimes turned off for legacy clients.
With it off, an attacker who can coerce a victim (for example a domain controller, through PetitPotam or PrinterBug) into authenticating to a host they control can relay that NTLM authentication to the CA's RPC endpoint and request a certificate as the victim. A certificate for a DC's machine account yields DCSync and domain compromise. It is the RPC counterpart of ESC8 (AD-ADCS-010), which relays over HTTP.
How ad-doctor detects it¶
ad-doctor reads CA\InterfaceFlags from the CA registry over \pipe\winreg and reports
the CA when the IF_ENFORCEENCRYPTICERTREQUEST bit (0x200) is not set. ad-doctor does
not send any ICPR request; the finding is read from the flag alone. When the CA holds
requests for a manager, that is noted and the severity drops.
Attributes and probes read
CA\InterfaceFlags (IF_ENFORCEENCRYPTICERTREQUEST)policy\RequestDisposition
Severity¶
High: NTLM authentication coerced from a privileged account, a domain controller for
instance, can be relayed to the CA's RPC enrollment interface (MS-ICPR) and turned into a
certificate for that account, which under strong mapping leads to DCSync. Drops to medium
when the CA holds every request for a manager (RequestDisposition has REQDISP_PENDING),
which adds a manual approval step but does not remove the exposure.
False positives and limits¶
- Mitigated elsewhere. The relay still needs a coercion primitive and a machine that will authenticate. Enforcing SMB and LDAP signing, Extended Protection, and blocking coercion reduce the practical risk, but the flag is the control this check measures, so it is still reported until the flag is set.
Fix¶
-
Require packet privacy on the CA and restart the service:
-
Investigate why it was off: only very old clients need the lower level. Update or isolate them rather than leaving the interface open.
-
Reduce coercion and relay generally: enforce SMB and LDAP signing and channel binding on domain controllers, and keep the CA host patched against coercion techniques.
Verify¶
To accept the risk instead, add an entry to the file passed with --accept (see accepted risks):
[[accept]]
check = "AD-ADCS-014"
objects = ["..."] # optional; without it the whole check is accepted
reason = "..."
expires = 2027-03-31
Related checks¶
References¶
Microsoft and vendors
Specifications
Research
Tools
MITRE ATT&CK
New in the next release.