CVE-2021-40444-Microsoft MSHTML远程命令执行漏洞分析(一)

声明

出品|且听安全(ID: QCyber)
===================

以下内容,来自且听安全公众号的作者原创,由于传播,利用此文所提供的信息而造成的任何直接或间接的后果和损失,均由使用者本人负责,长白山攻防实验室以及文章作者不承担任何责任。

漏洞概述

2021年9月8日,微软发布安全通告,披露了Microsoft MSHTML远程代码执行漏洞,攻击者可通过制作恶意的ActiveX控件供托管浏览器呈现引擎的 Microsoft Office文档使用,成功诱导用户打开恶意文档后,可在目标系统上以该用户权限执行任意代码。

CVE-2021-40444

https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-40444

完整的攻击流程借用了微软分析文章里面的图:

Microsoft Security Blog

https://www.microsoft.com/security/blog/2021/09/15/analyzing-attacks-that-exploit-the-mshtml-cve-2021-40444-vulnerability/在这里插入图片描述

快速样本分析

在恶意样本在线查询网站下载到样本

938545f7bbe40738908a95da8cdeabb2a11ce2ca36b0f6a74deda9378d380a52.zip

样本的MD5值为:

1d2094ce85d66878ee079185e2761beb。可以看到该样本早在9月2号就被该网站收录了。

注意该网站的样本解压密码为:

infected解压后可以得到一个docx文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-As1gqMDz-1655342874485)(https://mmbiz.qpic.cn/mmbiz_png/wQ0FicTls5iauNXqMkJeBQdmUF1W8WSY0rKPlhYZnEH5yT3Up7ibCFCPRM8Lx53G8iadkMb9olkqmnwtzTU7fFPibtA/640?wx_fmt=png)]

熟悉的小伙伴都知道,docx文件其实就是一个zip压缩包,使用7zip等解压软件能够轻松将其解压出来:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0B4ws2Zg-1655342874486)(https://mmbiz.qpic.cn/mmbiz_png/wQ0FicTls5iauNXqMkJeBQdmUF1W8WSY0riasA3oeQrK1AsdZWqVD93u1CdLy8maravQlstPfIzeRIxX5Megn6cZg/640?wx_fmt=png)]

通过简单浏览,很快就能发现一个可疑的文件:

word\_rels\document.xml.rels,其中有个可疑的下载链接:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bkZUKj2P-1655342874486)(https://mmbiz.qpic.cn/mmbiz_png/wQ0FicTls5iauNXqMkJeBQdmUF1W8WSY0rs414VtLNHWeZn7HeIlS52lnuFicb4I9Cazmkm9Xhr5Dbh5PjmT9cr7Q/640?wx_fmt=png)]

尝试去下载该side.html文件,发现服务器无法访问了,经验证h****.com这个域名已经失效:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dBEhPSw3-1655342874486)(https://mmbiz.qpic.cn/mmbiz_png/wQ0FicTls5iauNXqMkJeBQdmUF1W8WSY0rrEhx18ACHH8CoGHY3NGKP0mR7EwpHTzRLKwGymxdFt5ajRaGXDFAPA/640?wx_fmt=png)]

尝试通过网络搜索该域名信息,可以找到域名对应的真实IP2:3.106.***.***

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4j4bLluj-1655342874487)(https://mmbiz.qpic.cn/mmbiz_png/wQ0FicTls5iauNXqMkJeBQdmUF1W8WSY0r5mDQxxJcYmkoVEO5XKV0dibern8GTE3JOF3LJiciaZsbhUDby1FxTccFQ/640?wx_fmt=png)]

抱着试试看的心情,用该IP来尝试下载,居然成功下载到可疑的html页面:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qwQ6MHj4-1655342874487)(https://mmbiz.qpic.cn/mmbiz_png/wQ0FicTls5iauNXqMkJeBQdmUF1W8WSY0r8R8cdozIzvFibglXCcwtef68ApR0Fvh7gz0Nd9IVibrGSn2WbpGibFf9w/640?wx_fmt=png)]

那就接着看一个这个神秘的html文件,发现文件中有一段更神秘的javascript代码:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FcnXFsG8-1655342874488)(https://mmbiz.qpic.cn/mmbiz_png/wQ0FicTls5iauNXqMkJeBQdmUF1W8WSY0rMapZLrIjjTdFTB6naSumzUT0x6u0LaJxxebWKhFYBcDoh1R64wZdCg/640?wx_fmt=png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d2Bpl8Gv-1655342874488)(https://mmbiz.qpic.cn/mmbiz_png/wQ0FicTls5iauNXqMkJeBQdmUF1W8WSY0rgcL63Bfjd9XKIJHVibD4qczKiaibCBJZxspcBw5cn4RpcDcSrZEAsvp5A/640?wx_fmt=png)]

简单浏览side.html里面的javascript代码,又发现了一个可疑的下载链接http://hi***.com/e8c76295a5f9acb7/ministry.cab:

在这里插入图片描述

javascript代码明显是经过某种混淆后的结果,幸好代码不算复杂,我们通过vscode的js插件先将代码整理一下,最终通过手动分析和去混淆后可以得到如下的代码:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fHzbraTV-1655342874489)(https://mmbiz.qpic.cn/mmbiz_png/wQ0FicTls5iauNXqMkJeBQdmUF1W8WSY0rMAXtMPXjGLgboyX2q9rTts8maDA3IH8RLWje4I5L3PCKY4ZafoELQg/640?wx_fmt=png)]

这段代码功能大概就是先利用XMLHttpRequest对象下载ministry.cab文件(这个地方可能是多余的,后面ActiveX也能实现下载),然后利用ActiveX控件自动从网络下载安装ministry.cab。

最后利用Control Panel objects (.cpl)来执行championship.inf文件(该文件暂时不知道从哪里来的),直接通过IP地址将ministry.cab下载回来:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Wl2Xvw3j-1655342874489)(https://mmbiz.qpic.cn/mmbiz_png/wQ0FicTls5iauNXqMkJeBQdmUF1W8WSY0rYZ1F1QyzKXAOkyn16cer412ayULWaRW6iafefokicjVYibF8sJIIaq34g/640?wx_fmt=png)]

接着分析这个ministry.cab文件,可以看到确实是微软的cab文件,尝试用cabextract解压发生错误(起初以为文件被破坏了,后来才知道这个异常却是漏洞利用的关键):

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5bxgFNCe-1655342874490)(https://mmbiz.qpic.cn/mmbiz_png/wQ0FicTls5iauNXqMkJeBQdmUF1W8WSY0ricZr2lbwYy2UNOyTGYXz0tDIQicHkXSibibWs1IkgjKvydauAdAj7QHowg/640?wx_fmt=png)]

不过该cab文件中确实有champion-ship.inf这个文件,这就与javascript代码对上了。

这样整个样本的快速分析基本就到这里了,这里再理一下样本的利用思路:

  1. 发送恶意docx文件给用户点开

  2. docx文件利用OleObject对象实现下载并解析side.html

  3. side.html利用ActiveX控件实现下载ministry.cab,并释放championship.inf文件

  4. 最后利用Control Panel objects (.cpl)来执行championship.inf文件

好了,样本分析就到这里了,下一篇我们将进行漏洞复现和漏洞分析。关注我,不迷路!

参考

  1. https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-40444

  2. https://www.microsoft.com/security/blog/2021/09/15/analyzing-attacks-that-exploit-the-mshtml-cve-2021-40444-vulnerability/

<think>好的,用户想复现CVE-2020-16911漏洞,我需要先了解这个漏洞的具体信息。首先,CVE-2020-16911是什么类型的漏洞?根据微软的安全公告,这个漏洞涉及Microsoft Outlook的远程代码执行漏洞,当软件无法正确处理内存中的对象时可能被利用。攻击者可以通过发送特制的电子邮件或文件来触发该漏洞,从而执行任意代码。 接下来,用户需要复现环境搭建的步骤。根据常见的漏洞复现流程,可能需要安装特定版本的Outlook,但微软产品通常不容易降级或配置旧版本,这可能是个挑战。此外,漏洞利用可能需要特定的触发条件,比如构造恶意的.eml或.msg文件。 然后,漏洞复现的具体步骤可能包括:1. 配置存在漏洞的Outlook版本(如Microsoft Outlook 2019版本低于某个更新);2. 生成恶意邮件文件;3. 在测试环境中发送或打开该文件,观察是否触发漏洞。不过,由于微软可能已经发布补丁,用户需要确保测试环境未安装相关更新。 另外,考虑到漏洞复现可能涉及潜在的安全风险,需要提醒用户在隔离环境中操作,避免影响真实系统。同时,需要验证是否有公开的PoC(概念验证代码),如果有的话,可以参考其构造恶意文件的方法。若没有公开的PoC,复现难度较大,可能需要分析漏洞公告和补丁差异来逆向工程。 最后,根据用户提供的引用内容,虽然引用了其他CVE的复现方法,但CVE-2020-16911可能涉及不同的组件和利用方式,需要单独处理。需要引导用户查找针对该漏洞的具体复现资料,并注意环境搭建的注意事项。</think>### CVE-2020-16911漏洞复现分析 CVE-2020-16911是Microsoft Outlook的远程代码执行漏洞,攻击者可通过构造恶意邮件触发内存损坏,从而控制目标系统[^1]。以下是复现步骤的关键点: #### 1. 环境搭建 - **受影响版本**:Microsoft Outlook 2016/2019及Office 365(需未安装2020年10月安全更新)。 - **配置虚拟机**:建议使用Windows 10 + Office 2019(版本低于16.0.13231.20372)。 - **禁用防护**:关闭杀毒软件和Windows Defender实时监控,避免干扰漏洞触发。 #### 2. 漏洞触发条件 - **恶意文件构造**:需生成包含特殊HTML/CSS内容的.eml或.msg文件,利用Outlook预览窗格的内存处理缺陷。 - **示例代码片段**(模拟PoC原理): ```html <!-- 模拟触发内存损坏的CSS选择器结构 --> <style> a[href^="\0"] { color: expression(恶意代码); /* 触发内存异常 */ } </style> <a href="\0x41414141">点击</a> ``` #### 3. 复现步骤 1. **生成恶意邮件**:通过Python脚本构造.eml文件,注入异常CSS/HTML标签。 2. **发送至目标**:在本地SMTP测试服务器中发送邮件,或直接导入到Outlook收件箱。 3. **触发漏洞**: - 若预览窗格开启,打开收件箱时自动触发。 - 若禁用预览,需用户手动打开邮件。 4. **验证执行**:成功触发后,可观察崩溃日志(如Windbg)或植入的测试代码(如弹计算器)。 #### 4. 关键风险点 - **无交互利用**:通过预览窗格即可触发,无需用户点击。 - **补丁对比**:微软修复了`MSHTML`引擎中CSS解析的内存释放逻辑,可通过比对补丁前后的二进制文件定位漏洞函数。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值