CVE-2022-34689:Windows CryptoAPI漏洞PoC公布
2023-2-9 12:2:38 Author: 嘶吼专业版(查看原文) 阅读量:22 收藏

CryptoAPI是Windows系统处理与加密相关事务的API。在证书处理方面,负责读取和分析证书来验证是否经过验证的CA。浏览器也会使用CryptoAPI用于TLS证书验证。

2022年,美国国家安全局(NSA)和国家网络安全中心(NCSC)发现了CryptoAPI的一个安全漏洞,漏洞编号CVE-2022-34689,CVSS评分7.5分。攻击者利用该漏洞可以进行身份欺骗,并执行认证、以伪造的目标证书进行代码签名等行为。微软已经2022年8月修复该漏洞。

该漏洞产生的根源在于证书缓存索引密钥(certificate cache index key),该密钥是基于MD5的,而其安全性假设是无碰撞的。但自2009年起,MD5已被证明是可碰撞的。

攻击流程分为2个阶段。第一个阶段要求有一个合法的证书,并修改,然后给受害者。第二个阶段包括创建一个MD5与修复后的合法证书的新证书,并使用新证书来欺骗原始证书主体的身份。

图 攻击流程

构建给定MD5值的证书叫做原像攻击(Preimage Attack),目前在计算上是不可行的。但是可以生成2个具有给定前缀MD5指纹的证书,这叫做选定前缀碰撞。

图 选定前缀攻击

研究人员检索了使用CryptoAPI的可能受到欺骗攻击的应用,发现Chrome v48及之前版本和基于Chromium的应用都可以被利用。研究人员认为受影响的应用还有很多。

研究人员给出了2个漏洞PoC,包括利用Chrome v48和crypt32.dll中有漏洞的MD5检查。

漏洞利用代码中包含2个Python脚本和最终生成的微软身份。Chrome v48攻击流如下:

PoC视频参见:https://user-images.githubusercontent.com/114926055/214040642-beb765f7-4788-45e8-836c-a08dc441b5b4.mp4

本地漏洞利用会范围证书chainContext的trustStatus,即使第一个证书是合法的,但第二个证书是非法的,因此可以证明crypt32.dll有漏洞的MD5检查。

漏洞利用PoC代码参见:https://github.com/akamai/akamai-security-research/tree/main/PoCs/CVE-2022-34689

更多关于漏洞利用的技术细节参见:https://www.akamai.com/blog/security-research/exploiting-critical-spoofing-vulnerability-microsoft-cryptoap

参考及来源:https://www.bleepingcomputer.com/news/security/exploit-released-for-critical-windows-cryptoapi-spoofing-bug/


文章来源: http://mp.weixin.qq.com/s?__biz=MzI0MDY1MDU4MQ==&mid=2247557232&idx=3&sn=ca560dae23f1c31f1cfa8686b7bff606&chksm=e914304ade63b95c9a94b05581be027f11fa484d095e13865d92c8b400d60b054b903161f940#rd
如有侵权请联系:admin#unsafe.sh