漏洞背景
2022年5月27日,一位名为 nao_sec 的安全研究员发现了一个从白俄罗斯 IP 上传到 VirusTotal 的恶意 Word 文档。该文档使用 Microsoft Word 远程模板功能链接恶意 HTML 文件,Winword.exe 程序处理该恶意 HTML 文件中的 js 代码时发现其中使用”ms-msdt”协议的 URL, 随即启动 msdt.exe 程序(Microsoft Support Diagnostics Tool)处理该 URL,导致内嵌在 URL 中的 powershell 命令得到执行。
2022年5月30日,微软公布该漏洞编号 CVE-2022-30190。
漏洞状态
漏洞细节 | 漏洞POC | 漏洞EXP | 在野利用 |
---|---|---|---|
公开 | 存在 | 存在 | 存在 |
漏洞等级
风险级别 | CVSS 评分 | 攻击复杂度 | 可用性 |
---|---|---|---|
高危 | 7.8 | 低 | 高 |
漏洞复现
2022年5月30日,360沙箱云安全研究员第一时间进行了漏洞复现,演示如下:
漏洞检测
360沙箱云现已支持该漏洞检测。
样本分析
52945AF1DEF85B171870B31FA4782E52.docx
样本为一个 docx 文件,经过解压发现其文件结构如下。
其中的 document.xml.rels 文件包含模板注入链接
其Type属性表明 word 会将该模板文件加载为 OLE 对象。
根据其 Id 值可在 word/document.xml 文件中发现模板文件的其他属性。
RDF842l.html
模板文件(RDF842l.html)是一个含有 js 脚本的 html 文件,其中第5行到第66行全部为注释,第68行是 window.location.href=”/url”语句。
第5行到第66行的注释作用为增加模板文件体积使文件大小大于4096字节,原因和CVE-2021-40444一致,如果文件大小小于4096字节,将会导致客户端使用mshtml!CDwnStm::Read从服务端期望读取4096字节数据时失败,进而导致其调用mshtml!CDwnBindData::TerminateOnApt终止 html 页面的处理,并最终导致其不会调用 mshtml!PostManExecute 执行模板文件中的 js 代码。
第68行的 ”url” 部分开头的 “ms-msdt” 指明其使用的 URL 协议为 “ms-msdt”,而根据注册表 ”HKEY_CLASSES_ROOT\ms-msdt” 中的信息可知 “ms-msdt” 协议的处理程序为 msdt.exe,故 winword.exe 在执行模板文件中的 js 代码时便会启动 msdt.exe 处理该 “url”。
根据对 msdt.exe 处理的”url”的分析,发现其在 PCWDiagnostic 包中嵌入了base64加密的 powershell 命令,解密后得到如下 powershell 命令。
最终 msdt.exe 在处理 PCWDiagnostic 包时执行了其中的 powershell 命令。
注:
1,部分操作系统无法实现漏洞触发的原因是未安装 ms-msdt URL 协议无法完成启动链。
影响范围
Windows Server
2012 R2 (Server Core installation)
2012 R2
2012 (Server Core installation)
2012
2008 R2 for x64-based Systems Service Pack 1 (Server Core installation)
2008 R2 for x64-based Systems Service Pack 1
2008 for x64-based Systems Service Pack 2 (Server Core installation)
2008 for x64-based Systems Service Pack 2
2008 for 32-bit Systems Service Pack 2 (Server Core installation)
2008 for 32-bit Systems Service Pack 2
2016 (Server Core installation)
2016
20H2 (Server Core Installation)
2022 Azure Edition Core Hotpatch
2022 (Server Core installation)
2019 (Server Core installation)
2019
Windows RT 8.1
Windows 8.1
x64-based systems
32-bit systems
Windows 7
x64-based Systems Service Pack 1
32-bit Systems Service Pack 1
Windows 10
1607 for x64-based Systems
1607 for 32-bit Systems
x64-based Systems
32-bit Systems
21H2 for x64-based Systems
21H2 for ARM64-based Systems
21H2 for 32-bit Systems
20H2 for ARM64-based Systems
20H2 for 32-bit Systems
20H2 for x64-based Systems
21H1 for 32-bit Systems
21H1 for ARM64-based Systems
21H1 for x64-based Systems
1809 for ARM64-based Systems
1809 for x64-based Systems
1809 for 32-bit Systems
Windows 11
ARM64-based Systems
x64-based Systems
解决办法
目前微软并未更新该漏洞补丁,其缓解办法是禁用 MSDT URL 协议以阻止使用该漏洞的恶意攻击。
禁用 MSDT URL 协议可防止故障排除程序作为链接启动,包括整个操作系统的链接。
使用以下步骤禁用:
1.以管理员身份运行命令提示符。
2.备份注册表项,执行命令“reg export HKEY_CLASSES_ROOT\ms-msdt [filename ]”
3.执行命令“reg delete HKEY_CLASSES_ROOT\ms-msdt /f”。
如何撤消禁用:
1.以管理员身份运行命令提示符。
2.恢复注册表项,执行命令“reg import [filename]”
关于我们
360沙箱云是 360 自主研发的在线高级威胁分析平台,对提交的文件、URL,经过静态检测、动态分析等多层次分析的流程,触发揭示漏洞利用、检测逃逸等行为,对检测样本进行恶意定性,弥补使用规则查杀的局限性,通过行为分析发现未知、高级威胁,形成高级威胁鉴定、0day 漏洞捕获、情报输出的解决方案;帮助安全管理员聚焦需关注的安全告警,过安全运营人员的分析后输出有价值的威胁情报,为企业形成专属的威胁情报生产能力,形成威胁管理闭环。解决当前政企用户安全管理困境及专业安全人员匮乏问题,沙箱云为用户提供持续跟踪微软已纰漏,但未公开漏洞利用代码的 1day,以及在野 0day 的能力。
360混天零实验室成立于2015年,负责高级威胁自动化检测项目和云沙箱技术研究,专注于通过自动化监测手段高效发现高级威胁攻击;依托于 360 安全大数据,多次发现和监测到在野漏洞利用、高级威胁攻击、大规模网络挂马等危害网络安全的攻击事件,多次率先捕获在野利用 0day 漏洞的网络攻击并获得厂商致谢,在野 0day 漏洞的发现能力处于国内外领先地位,为上亿用户上网安全提供安全能力保障。