★且听安全★-点关注,不迷路!
★漏洞空间站★-优质漏洞资源和小伙伴聚集地!
2022 年 5 月 27 日,安全研究员发现了一个从白俄罗斯 IP 上传到 VirusTotal 的恶意 Word 文档。该文档使用 Microsoft Word 远程模板功能链接恶意 HTML 文件, `Winword.exe` 程序处理该恶意 HTML 文件中的脚本代码时发现其中使用 `ms-msdt` 协议的 URL, 随即启动 Windows 诊断程序(Microsoft Support Diagnostics Tool)处理该 URL,导致内嵌在 URL 中的命令得到执行。5 月 30 日,微软公布该漏洞编号 CVE-2022-30190。漏洞影响几乎所有 Windows 版本,危害非常大。
通过分析,我们发现这个 CVE-2022-30190 和去年的 CVE-2021-40444 其实都是同样的利用策略,同时发现类似的程序 URL 其实在 Windows 中还有很多。
打开恶意 Word 文档会向指定 HTTP 服务器请求恶意网页 `exploit.html` :
该网页中使用 `ms-msdt` 链接来打开 Windows 中的诊断程序,并传入一个特制的参数,使其能够执行指定的命令:
<script>
location.href = "ms-msdt:/id PCWDiagnostic /skip force /param "IT_RebrowseForFile=? IT_LaunchMethod=ContextMenu IT_BrowseForFile=/../../$(\\localhost\c$\windows\system32\calc)/.exe"";
</script>
查看 `msdt.exe` 进程的创建信息,发现其父进程就是 `winword.exe` ,可见 Word 程序确实能够通过网页打开 Windows 诊断程序:
Windows 诊断程序运行后,指定的命令即被执行,弹出计算器程序:
进一步分析 `calculator.exe` 进程的启动过程,可以看到是诊断程序通过 `rpc` 调用由 `svchost.exe` 进程来执行启动计算器的命令:
通过分析,我们发现这个 CVE-2022-30190 和去年的 CVE-2021-40444 其实都是同样的利用策略,都是通过 Word 的 OLE 对象实现 HTTP 请求并下载一个网页:
而下载的网页中也都是使用一个 Windows 中的程序 URL 来启动特定的程序,如果该程序存在参数解析方面的问题,即可通过构造特定的参数来实现任意命令执行(比如这次使用的 `ms-msdt`):
我们研究发现类似的程序 URL 其实在 Windows 中还有很多,任何程序都可以通过注册表实现浏览器的 URL 启动。比如 `ms-mmsys`:
那么我们就可以通过浏览器打开对应的程序:
经过深入研究,特别是对一些需要用户输入参数的程序 URL 进行分析,我们发现 `ms-officecmd` 这个 URL 具有较高的研究价值。该默认链接对应的程序是 `LocalBridge.exe` ,在去年年底就曾爆出参数注入漏洞。该漏洞通过 Microsoft Teams Electron 应用程序的 `--gpu-launcher` 参数注入任意操作系统命令:
在较老的 Windows 10 操作系统上( `Version 10.0.18363.1801`),使用特定参数就可以使 `LocalBridge.exe` 进程崩溃:
除此以外,Windows 上还有很多其他的类似程序,它们可能接受用户参数,我们利用自动化脚本梳理了 Windows 中的所有程序,下一步将针对所有可疑的目标进行漏洞挖掘分析。我们梳理了 200 多条程序的 URL 。CVE-2022-30190 漏洞是很值得进一步深入研究的,有兴趣的小伙伴可以加入漏洞空间站进行交流。
由于传播、利用此文档提供的信息而造成任何直接或间接的后果及损害,均由使用本人负责,且听安全团队及文章作者不为此承担任何责任。
★且听安全★-点关注,不迷路!
★漏洞空间站★-优质漏洞资源和小伙伴聚集地!
原文始发于微信公众号(且听安全):CVE-2022-30190 聊一聊MSDT RCE漏洞的拓展尝试与新玩法
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论