背景
MSRC在 2024年11月12日披露了一个名为Active Directory 证书服务特权提升漏洞(CVE-2024-49019)漏洞,分数为7.8分(更有可能被利用),表明攻击者可以通过攻击ADCS(证书服务)中的使用版本 1 证书模板创建某一些证书模板达到权限提升的目的。
-
证书模板版本为1; -
使用者名称源可以请求中提供
漏洞复现
本次漏洞复现的环境如下:
-
ADCS:192.168.70.178 -
其他服务器:192.168.70.156 -
域名:rd.com
ADCS中安装配置了如下的服务:
在ADCS中配置了如下的证书模板
-
使用.Certify.exe find /dc:rd.com列出ADCS的证书模板;发现WebServer模板存在漏洞利用:
-
Schema Version: 1(证书模板版本为1)
-
msPKI-Certificate-Name-Flag: ENROLLEE_SUPPLIES_SUBJECT (表示使用者名称源可以请求中提供)
2.申请WebServer模板
设置备用名称,用户主体名称为administrstor;
到目前为止,漏洞复现完成。
漏洞分析
AD CS 模板版本
用户没有办法新建证书模板,只可以在证书模板中进行复制会修改后发布,如果复制的证书模板为版本1,复制之后会自动将生成的模板转换为版本2。
增强型密钥用法和应用程序策略
应用程序策略类似于证书中的扩展密钥使用 (EKU) 扩展,因为它们都使用一个或多个对象标识符来规定证书中的公钥必须如何使用。Windows Server 2003 支持扩展密钥使用以支持使用此扩展的 PKI,但使用应用程序策略代替 EKU。
应用程序策略是 Microsoft 特有的,其处理方式与扩展密钥用法非常相似。如果证书的扩展包含应用程序策略,并且还包含 EKU 扩展,则 EKU 扩展将被忽略。但是,如果证书只有 EKU 扩展,则 EKU 扩展将被视为应用程序策略扩展。如果证书包含应用程序策略扩展和 EKU 属性,则证书的有效策略是 EKU 属性对象标识符和应用程序策略对象标识符之间的通用策略。
分析:
1.证书模板版本1中,我们可以看到模板中包含增强型密钥用法并没有包含应用程序策略。
可以知道证书模板版本1和2是存在一定的区别的。
漏洞核心成因
而增强型密钥用法只是包含了证书模板中定义的值,例如在这个申请的证书模板定义的值为服务器身份认证,那么申请下来的证书的增强型密钥用法只有服务器身份认证:
如此如果攻击者拥有注册权限,还可以申请证书模板版本1的话,可以利用只有的方法进行利用。
总结:漏洞利用比较苛刻,都是人为错配才会导致存在这种漏洞。
原文始发于微信公众号(黑白天实验室):EKUwu-CVE-2024-49019
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论