CVE-2022-30190 (MSDT) 远程代码执行漏洞分析

阅读量    109920 |

分享到: QQ空间 新浪微博 微信 QQ facebook twitter

 

漏洞背景

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 文件,经过解压发现其文件结构如下。

img

其中的 document.xml.rels 文件包含模板注入链接

其Type属性表明 word 会将该模板文件加载为 OLE 对象。

img

根据其 Id 值可在 word/document.xml 文件中发现模板文件的其他属性。

img

RDF842l.html

模板文件(RDF842l.html)是一个含有 js 脚本的 html 文件,其中第5行到第66行全部为注释,第68行是 window.location.href=”/url”语句。

img

img

第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”。

img

根据对 msdt.exe 处理的”url”的分析,发现其在 PCWDiagnostic 包中嵌入了base64加密的 powershell 命令,解密后得到如下 powershell 命令。

img

最终 msdt.exe 在处理 PCWDiagnostic 包时执行了其中的 powershell 命令。

注:

1,部分操作系统无法实现漏洞触发的原因是未安装 ms-msdt URL 协议无法完成启动链。

img

 

影响范围

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 漏洞的发现能力处于国内外领先地位,为上亿用户上网安全提供安全能力保障。

分享到: QQ空间 新浪微博 微信 QQ facebook twitter
|推荐阅读
|发表评论
|评论列表
加载更多