Skip to content

16. 最新AD/基础设施攻击

16.1 ADCS攻击演进(ESC1-ESC16完整攻击思路)

ADCS(Active Directory Certificate Services)是域内最强大的提权路径之一。从ESC1到ESC16,每个编号代表一种独立的攻击面。

攻击分类全景:

ESC# 类型 核心原理 利用思路
ESC1 模板配置错误 模板允许请求者自定义SAN(Subject Alternative Name) 低权限用户注册证书时指定SAN=域管 → 用该证书认证 → 获取域管TGT
ESC2 EKU过宽 模板Any Purpose EKU → 可用于任何目的 类似ESC1但不需要Client Authentication EKU
ESC3 注册代理 存在注册代理EKU的模板 → 可代表其他用户注册 两阶段: 先注册代理证书 → 再用代理证书为目标用户注册认证证书
ESC4 模板ACL可控 对模板有写权限 修改模板配置→使其变成ESC1 → 然后按ESC1利用
ESC5 CA ACL可控 对CA对象有控制权 直接控制CA → 可批准任何请求/修改任何模板
ESC6 CA级别SAN CA启用EDITF_ATTRIBUTESUBJECTALTNAME2 任何模板都可以指定SAN → 直接伪造域管证书(2022.05补丁后需配合ESC10)
ESC7 CA管理权限 ManageCA/ManageCertificates权限 启用已禁用模板/任命自己为Certificate Officer/直接批准pending请求
ESC8 NTLM Relay Web Enrollment启用 PetitPotam强制DC认证 → Relay到AD CS HTTP端点 → 以DC身份注册证书 → DC Sync
ESC9 无安全扩展 模板不包含szOID_NTDS_CA_SECURITY_EXT(SID安全扩展) 配合GenericWrite权限: 修改目标用户UPN为域管UPN → 注册证书 → 恢复原UPN → 用证书认证为域管
ESC10 弱证书映射 DC的StrongCertificateBindingEnforcement=0/1 类似ESC9但利用DC级别配置 → Schannel UPN映射无需SID验证。⚠2025.09后Full Enforcement成唯一选项
ESC11 RPC Relay ICPR端点未强制加密(IF_ENFORCEENCRYPTICERTREQUEST未设置) 类似ESC8但目标是RPC端点 → NTLM Relay到RPC → 以被Relay的身份注册证书
ESC12 外部密钥 CA私钥存储在外部设备(YubiHSM)且注册表中有明文认证密码 获取CA服务器Local Admin → 从注册表提取YubiHSM密码 → 离线伪造任意证书
ESC13 OID组链接 证书模板的发布策略(Issuance Policy)OID链接到AD组 注册带特定OID策略的证书 → 自动获得链接AD组的成员权限(可能就是Domain Admins)
ESC14 altSecurityIdentities 用户/计算机账户的显式证书映射配置弱 修改目标的altSecurityIdentities指向攻击者控制的证书 → 冒充目标
ESC15 EKUwu CVE-2024-49019 V1模板的CSR中msPKI-Application-Policy可覆盖模板EKU 内置WebServer模板是V1模板 → 请求时覆盖为Client Authentication EKU → 用Web Server证书做域认证。每个ADCS安装都有WebServer模板
ESC16 全局安全扩展移除 CA级别禁用安全扩展 移除全局SID嵌入 → 所有证书都不含SID → 回退到弱UPN映射

实战攻击决策树:

1. 有网络位置(未认证)? → ESC8(HTTP Relay) / ESC11(RPC Relay)
2. 有域用户权限? → 检查可注册模板(ESC1/ESC2/ESC3)
3. 有模板写权限? → ESC4(改模板为ESC1)
4. 有GenericWrite? → ESC9(UPN篡改)
5. 有CA服务器Local Admin? → ESC5/ESC12(提取私钥)
6. 有ManageCA? → ESC7(启用模板+任命Officer)

工具: Certify(C#) / Certipy(Python,推荐) / ADCSKiller(自动化) 检测: BloodHound(ADCS边支持ESC1-ESC10)

重要时间线: - 2025.02: Microsoft Full Enforcement默认开启(StrongCertificateBindingEnforcement=2) - 2025.09: Compatibility Mode永久移除,Full Enforcement成唯一选项 → ESC9/ESC10窗口关闭 - 2024.11: ESC15(CVE-2024-49019)补丁发布 → V1模板Application Policy覆盖被修复

16.2 Shadow Credentials攻击

  • 利用msDS-KeyCredentialLink属性添加自控密钥→PKINIT→获取TGT
  • 前提: 目标对象可写 + Windows Server 2016+域功能级别
  • 工具: Whisker / PyWhisker

16.3 重大基础设施CVE(2024-2026)

CVE 产品 影响
CVE-2024-3400 Palo Alto GlobalProtect 任意命令执行(无需认证)
CVE-2024-21762 Fortinet FortiOS Out-of-Bound Write RCE
CVE-2023-46805/48788 Ivanti Connect Secure 认证绕过+RCE
CVE-2024-29847 Ivanti EPM SQL注入→RCE
CVE-2024-23897 Jenkins 任意文件读取通过CLI
CVE-2024-1709 ConnectWise ScreenConnect 认证绕过
CVE-2025-22788 - Windows提权(新增)

16.4 Linux后渗透新增

eBPF Rootkit: 利用eBPF程序在内核层拦截/修改系统调用→隐藏进程/文件/网络连接 - 工具: TripleCross / ebpfkit

K8s攻击框架: kube-hunter / kube-bench / checkov