简单介绍
本文研究了 CVE-2021-40444 的 PoC 和缓解措施,其中还观察到了零日攻击。
本次使用RCE启动计算器的docx文档文件时,验证结果如下。
总之,最好在非通信环境(关闭的虚拟机)中打开它,因为它需要在受保护的视图中打开或与外部通信。
此外,不仅不要打开此文档文件,而且不要打开尚未确认安全的文件,这一点很重要。(很难判断是否安全)
简要总结
CVE-2021-40444已经在多篇文章中进行了说明,但它是一个与名为MSHTML的可执行文件相关的漏洞,以下过程已被确认为实际攻击。
-
打开特制的 .docx 文件
-
特制的 .docx 文件获取外部 HTML 文件(通信)
-
MSHTML执行获取的 HTML 文件并利用 cab 文件进行攻击。
PoC验证
这一次,我使用Github 上列出的以下 PoC 对其进行了验证。如果您尝试此 PoC,计算器将启动。
https://github.com/lockedbyte/CVE-2021-40444
经验证的环境如下
-
kali Linux
-
创建 docx 文件以在Windows 10 中打开
-
打开的docx与之通信的服务器的作用(
python3 -m http.server 80
实现) -
win10
-
打开docx环境
实际执行时,变成如下(注:实际执行后调整位置)
验证缓解措施和应急变通方法
从这里,我们将验证Microsoft 的缓解措施和解决方法。
缓解措施包括 Protected View 和 Application Guard for Office,但我无法在我的个人环境中对其进行验证,因为 Application Guard for Office 是 Microsoft 365 Enterprise 的一项功能。
作为解决方法,它是组策略设置或注册表设置。
受保护视图缓解方法
受保护的视图以受限模式打开“从 Internet 检索的文件”、“潜在不安全位置的文件”和“ Outlook附件”。您可以通过选择“选项”->“信任中心”->“受保护的视图”来检查在受保护的视图中打开了哪些文件。
由于这次是用虚拟机验证的,PoC创建的文件不是受保护视图的目标,所以给它一个ZoneID并设置它在受保护视图中启动。
Zone ID请参考以下@soji256的博客。(如何分配 ZoneID 等 --setodaNote)
结果分配了一个ZoneID,在受保护的视图中打开,计算器没有启动,结果如下。
组策略和注册表缓解方法
组策略和注册表中的ActiveX 控件运行的事项禁用
在组策略中,计算机配置]→[管理模板]→[Windows组件]→[ Internet Explorer]→[Internet控制面板]→[安全页],[在本地计算机区域]中,签署的ActiveX控件下载]和[未签名的ActiveX控件下载可以禁用。
进行此设置后,由于打开文档文件,计算器没有启动。
当我关闭这个文件并再次打开文档文件时,计算器启动了。
此外,通过使用扩展名保存具有以下内容的文本数据来执行注册表设置.reg
。
Windows Registry Editor Version 5.00
[ ]
"1001"=dword:00000003
"1004"=dword:00000003
[ ]
"1001"=dword:00000003
"1004"=dword:00000003
[ ]
"1001"=dword:00000003
"1004"=dword:00000003
[ ]
"1001"=dword:00000003
"1004"=dword:00000003
更新注册表后,重启。
更新重启后打开文档文件时,第一次打开时计算器没有像设置组策略时那样启动,但是当我关闭文档文件然后再次打开时,计算器启动了。
设置了组策略和注册表后,计算器打开两次就启动的原因不清楚。
总结概括
-
验证 PoC 以启动 CVE-2021-40444 的计算器
-
确认在缓解措施的受保护视图中打开时计算器未启动
-
当我在变通方法中执行组策略和注册表设置变通方法时,计算器在我第一次打开时没有启动。
-
计算器在打开两次时启动,暂时导致这种情况的原因不明。
本文始发于微信公众号(军机故阁):验证CVE-2021-40444和应急处理办法
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论