ADCS ESC6 EDITF_ATTRIBUTESUBJECTALTNAME2 配置错误不当

前言:ADCS ESC6 EDITF_ATTRIBUTESUBJECTALTNAME2配置错误不当

参考文章:https://learn.microsoft.com/en-us/defender-for-identity/security-assessment-edit-vulnerable-ca-setting

关于EDITF_ATTRIBUTESUBJECTALTNAME2标志位

ESC6涉及滥用CA配置中的EDITF_ATTRIBUTESUBJECTALTNAME2标志,此标志允许任何客户端请求具有不同主题备用名称SAN(Subject Alternative Name)的任何证书,从而导致再次以域管理员身份请求证书,从而提升域特权。

知识点:每个证书都通过其主题字段SN(Subject Name)与一个实体相关联。但是证书还包括一个主题备用名称(Subject Alternative Name) 字段,该字段允许证书对多个实体有效。

SAN字段通常用于托管在同一服务器上的Web服务,支持使用单个HTTPS证书,而不是为每个服务使用单独的证书。

当特定证书也适用于身份验证时,通过包含适当的 EKU(例如客户端身份验证),它可以用于对多个不同的帐户进行身份验证,能够在SAN设置中指定用户的未经授权的用户可能会立即导致入侵,并给您的组织带来巨大风险。

还需要知道的一个点是,当CA中的一个这反过来会影响所有证书模板,无论他们是否启用了EDITF_ATTRIBUTESUBJECTALTNAME2标志位。

EDITF_ATTRIBUTESUBJECTALTNAME2和CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT的关系

CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT标志涉及的是主题名称(Subject Name)字段,而不是备用名称(Subject Alternative Name,SAN)字段。

  • 主题名称(Subject Name)

这是证书中用来标识持有者身份的主要字段,通常包含诸如通用名称(CN)、组织(O)、组织单位(OU)、国家(C)等信息。

当CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT标志被设置时,证书申请者可以提供并定义这个字段的值。

  • 备用名称(Subject Alternative Name,SAN)

这是证书中的一个扩展字段,用来指定主题的其他身份信息,举个简单的例子,可以理解为一个ip可以对应多个解析域名记录

SAN字段的处理和设置与EDITF_ATTRIBUTESUBJECTALTNAME2标志相关,而不是CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT。

因此,CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT标志允许注册人在证书申请时自行定义证书的主题名称,而不是备用名称。

漏洞检测

如果有一个模板EDITF_ATTRIBUTESUBJECTALTNAME2启用了该设置,并且该模板对于身份验证有效,则攻击者可以注册一个可以模仿任意帐户的证书。

这边可以通过远程注册表判断CA是否开启SAN标识,执行如下命令

certutil -config "adcs.zpchcbd.com\adcs" -getreg "policy\EditFlags"

漏洞复现

执行下面的命令,让当前CA环境开启EDITF_ATTRIBUTESUBJECTALTNAME2标志位,如下图所示

certutil -setreg policy\EditFlags +EDITF_ATTRIBUTESUBJECTALTNAME2

重启服务,使其EDITF_ATTRIBUTESUBJECTALTNAME2标志位生效,如下图所示

net stop certsvc
net start certsvc

![](https://img2024.cnblogs.com/blog/1586953/202402/1586953-20240209041407467-19879939.png

如果启用了EDITF_ATTRIBUTESUBJECTALTNAME2标志,则每个用户都可以为其证书请求指定SAN设置,这里的话可以通过Certipy工具来直接进行利用,如下图所示

certipy req -u attacker -p 'P@ssw0rd' -target 192.168.1.2 -ca 'lab-DC-CA' -template User -upn administrator@lab.lan

注意:当使用 Certipy 申请具有指定 UPN 的新证书时,它将自动检测并利用此漏洞。

posted @   zpchcbd  阅读(46)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
历史上的今天:
2020-02-09 ICMP协议
2020-02-09 实现:ARP探测存活主机
2020-02-09 学习:ARP协议/数据包分析
点击右上角即可分享
微信分享提示