// 红队渗透 · 2026-02-19

AD CS证书服务缺陷配置

AD CS 证书服务最常见的缺陷配置集中在证书模板、CA 全局设置、权限与身份映射四大类。下面按攻击场景(ESC 编号)整理最常见、最易被滥用的缺陷配置。


一、证书模板核心缺陷(最常见,ESC1–ESC4)

1. ESC1:可自定义 SAN + 客户端认证 EKU(最经典)

缺陷配置(同时满足):

  • 启用 Client Authentication(OID 1.3.6.1.5.5.7.3.2)或 Smart Card Logon(OID 1.3.6.1.4.1.311.20.2.2)、PKINIT Client Authentication(OID 1.3.6.1.5.2.3.4)
  • 主题名称:Supply in the request(CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT)= 启用
  • 无 CA 管理员批准(Requires Management Approval = False)
  • 注册权限开放给低权限组:Domain Users / Authenticated Users 有 Enroll 权限

风险:普通用户可申请证书并在 SAN 中填入域管 UPN,直接以高权限身份登录域。

2. ESC2:无 EKU / 任意用途 EKU

缺陷配置:

  • 模板 无 EKU 或 Any Purpose(OID 2.5.29.37.0)
  • 允许低权限用户注册

风险:证书可被用于任意目的(含身份冒充)。

3. ESC3:注册代理滥用

缺陷配置:

  • 模板启用 Certificate Request Agent EKU(OID 1.3.6.1.4.1.311.20.2.1)
  • 允许低权限用户注册该代理模板
  • CA 未限制代理可代申请的模板/用户范围

风险:攻击者先拿代理证书,再代申请任意用户(含管理员)的登录证书。

4. ESC4:模板权限过大

缺陷配置:

  • 普通用户对模板有 Write / WriteDacl / GenericWrite / Full Control 权限
  • 可直接修改模板属性(如开启 ESC1 配置)

风险:攻击者篡改模板后申请高权限证书,再恢复配置隐藏痕迹。


二、CA 全局配置缺陷(ESC6、ESC8)

1. ESC6:CA 启用 EDITF_ATTRIBUTESUBJECTALTNAME2

缺陷配置:

  • CA 注册表/属性启用 EDITF_ATTRIBUTESUBJECTALTNAME2(允许在请求属性中指定 SAN)
  • 该标志对 所有模板生效,即使模板本身未开放自定义 SAN

风险:攻击者可在证书请求中注入任意 SAN,冒充高权限账户。

2. ESC8:AD CS Web 注册(CEP/CES)未启用身份验证

缺陷配置:

  • 启用 Certificate Enrollment Web Service (CES) / CEP
  • Web 端点 允许匿名访问 或 NTLM 中继

风险:攻击者中继用户身份到 AD CS,自动获取用户证书。


三、身份映射与强绑定缺陷(ESC9、ESC10)

1. ESC9:模板禁用安全扩展(NO_SECURITY_EXTENSION)

缺陷配置:

  • 模板启用 CT_FLAG_NO_SECURITY_EXTENSION(不包含 szOID_NTDS_CA_SECURITY_EXT)
  • 导致证书无法触发强绑定,即使系统配置 StrongCertificateBindingEnforcement=2

风险:攻击者可通过弱映射(如 UPN 匹配)冒充任意用户。

2. ESC10:弱证书映射(UPN 匹配)

缺陷配置:

  • 未安装 KB5014754(强绑定补丁)
  • CertificateMappingMethods 包含 0x04(UPN 映射)
  • StrongCertificateBindingEnforcement = 0(无强验证)

风险:AD 信任任何包含匹配 UPN 的证书,无需强绑定验证。


四、快速检测与加固要点

检测(用 Certipy / Certify)

# 扫描所有漏洞模板
certipy find -u user@domain.com -p password -dc-ip <DC_IP> -vulnerable

加固(按优先级)

  1. 模板:关闭 ENROLLEE_SUPPLIES_SUBJECT;仅保留必要 EKU;注册权限最小化;强制管理员批准
  2. CA:移除 EDITF_ATTRIBUTESUBJECTALTNAME2;禁用匿名 Web 注册
  3. 系统:安装 KB5014754;设置 StrongCertificateBindingEnforcement=2;禁用 0x04 UPN 映射
  4. 权限:限制普通用户对模板/CA 的写权限

五、常见漏洞配置速查表

缺陷类型 核心配置 风险等级
ESC1 自定义 SAN + 客户端认证 EKU + 开放注册 极高
ESC6 CA 启用 EDITF_ATTRIBUTESUBJECTALTNAME2 极高
ESC9 模板 NO_SECURITY_EXTENSION 高
ESC10 弱 UPN 映射 + 无强绑定 高
ESC4 模板写权限过大 高
ESC8 Web 注册匿名/中继 中高

原文 https://blog.csdn.net/2301_79518550/article/details/158206452