CVE-2017-11826漏洞利用程序的分析

2017 年 11 月 6 日 黑白之道


前言


在最近的周二补丁日(10月17日)中,微软发布了62个漏洞补丁,其中有个补丁负责修复СVE-2017-11826漏洞。СVE-2017-11826漏洞是一个非常严重的零日漏洞,攻击者可借此实施针对性攻击行动,所有版本的Microsoft Office软件都会受此漏洞影响。


攻击者所使用的漏洞利用程序为一个RTF文档,其中包含一个DOCX文档,该文档利用Office Open XML解析器中存在的СVE-2017-11826漏洞。



漏洞利用载荷本身为word/document.xml格式,如下所示:



根据Office Open XML文件格式标准(ECMA-376)中的描述,“font”元素用来描述文档中使用的字体,正常的“font”元素如下所示:



在漏洞利用程序主体中并没有出现/w:font这个闭合标签。紧跟在w:font标签之后的是o:idmap/对象元素,这种情况会导致OOXML解析器出现“类型混淆(type confusion)”现象。使用任何对象元素都可以成功利用这个漏洞。在漏洞利用点之前,我们必须通过某个检查步骤,具体方法是在w:font标签之前设立一个OLEObject元素,其中的name属性值从UTF-8编码转换为Unicode编码后长度必须大于或等于32个字节。


从UTF-8编码转换为Unicode编码后,E8 A3 AC E0 A2 80会变成EC 88 88 08。



如果这些条件全部满足,这个指针会被解除引用,控制流程会移交给“该地址+4”处所对应的内容。



如果想控制0x088888EC地址处的内存内容,攻击者需要将常见的heap spraying技术与ActiveX组件结合使用。



漏洞利用程序使用msvbvm60.dll中的ROP以及gadget(指令代码)来绕过ASLR(地址空间布局随机化)以及DEP(数据执行保护)机制。RTF文档会使用与msvbvm60.dll文件相关联的CLSID来加载这个DLL模块。




ROP的第一部分功能是设置ESP寄存器的值:



ROP的第二部分内容会被忽略掉,其作用是将EIP寄存器设置为0x088883EC。最后的“pop eax; retn”指令会将0x729410D0地址填充到EAX中。这个地址是msvbvm60.dll导入(Imports)表中VirtualProtect指针所对应的地址(VirtualProtect位于Kernel32.dll中)。



下一个ROP gadget会使用这个VirtualProtect指针来调用VirtualProtect(0x8888C90, 0×201, 0×40, 0x72A4C045)函数。执行这个操作后,程序控制权会移交给0x8888F70地址处的shellcode,这段shellcode会解密并执行内嵌的DLL:



附录


卡巴斯基实验室安全解决方案将СVE-2017-11826漏洞利用程序标记为:


MSWord.Agent.ix


MSOffice.CVE-2017-11826.a


HEUR:Exploit.MSOffice.Generic


对应的IOC为:


cb3429e608144909ef25df2605c24ec253b10b6e99cbb6657afa6b92e9f32fb


原文链接:https://securelist.com/analyzing-an-exploit-for-%D1%81ve-2017-11826/82869/


你会喜欢


iPhone的Wi-Fi芯片漏洞利用POC公布,赶紧更新系统吧

黑客利用Windows PPT漏洞植入恶意软件!

xxe-recursive-download:利用XXE漏洞递归下载工具


登录查看更多
0

相关内容

XPath即为XML路径语言,它是一种用来确定XML(标准通用标记语言的子集)文档中某部分位置的语言。XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。起初 XPath 的提出的初衷是将其作为一个通用的、介于XPointer与XSLT间的语法模型。但是 XPath 很快的被开发者采用来当作小型查询语言。
【2020新书】实战R语言4,323页pdf
专知会员服务
98+阅读 · 2020年7月1日
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
190+阅读 · 2020年6月29日
一份简明有趣的Python学习教程,42页pdf
专知会员服务
76+阅读 · 2020年6月22日
【电子书】C++ Primer Plus 第6版,附PDF
专知会员服务
83+阅读 · 2019年11月25日
漏洞预警丨Xstream远程代码执行漏洞
FreeBuf
4+阅读 · 2019年7月25日
用Now轻松部署无服务器Node应用程序
前端之巅
16+阅读 · 2019年6月19日
Linux挖矿病毒的清除与分析
FreeBuf
14+阅读 · 2019年4月15日
基于Web页面验证码机制漏洞的检测
FreeBuf
7+阅读 · 2019年3月15日
I2P - 适用于黑客的Android应用程序
黑白之道
28+阅读 · 2019年3月6日
文本分析与可视化
Python程序员
8+阅读 · 2019年2月28日
DiscuzX 3.4 Phar反序列化漏洞
黑客工具箱
8+阅读 · 2019年1月4日
威胁情报驱动:F3EAD 之利用
计算机与网络安全
4+阅读 · 2018年12月28日
Neo4j 和图数据库起步
Linux中国
8+阅读 · 2017年12月20日
[软件方法]涉众利益和基本路径
UMLChina
4+阅读 · 2017年9月2日
Arxiv
3+阅读 · 2019年3月1日
Learning Recommender Systems from Multi-Behavior Data
Arxiv
4+阅读 · 2018年5月24日
Arxiv
8+阅读 · 2018年4月12日
Arxiv
6+阅读 · 2018年3月19日
VIP会员
相关VIP内容
【2020新书】实战R语言4,323页pdf
专知会员服务
98+阅读 · 2020年7月1日
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
190+阅读 · 2020年6月29日
一份简明有趣的Python学习教程,42页pdf
专知会员服务
76+阅读 · 2020年6月22日
【电子书】C++ Primer Plus 第6版,附PDF
专知会员服务
83+阅读 · 2019年11月25日
相关资讯
漏洞预警丨Xstream远程代码执行漏洞
FreeBuf
4+阅读 · 2019年7月25日
用Now轻松部署无服务器Node应用程序
前端之巅
16+阅读 · 2019年6月19日
Linux挖矿病毒的清除与分析
FreeBuf
14+阅读 · 2019年4月15日
基于Web页面验证码机制漏洞的检测
FreeBuf
7+阅读 · 2019年3月15日
I2P - 适用于黑客的Android应用程序
黑白之道
28+阅读 · 2019年3月6日
文本分析与可视化
Python程序员
8+阅读 · 2019年2月28日
DiscuzX 3.4 Phar反序列化漏洞
黑客工具箱
8+阅读 · 2019年1月4日
威胁情报驱动:F3EAD 之利用
计算机与网络安全
4+阅读 · 2018年12月28日
Neo4j 和图数据库起步
Linux中国
8+阅读 · 2017年12月20日
[软件方法]涉众利益和基本路径
UMLChina
4+阅读 · 2017年9月2日
相关论文
Arxiv
3+阅读 · 2019年3月1日
Learning Recommender Systems from Multi-Behavior Data
Arxiv
4+阅读 · 2018年5月24日
Arxiv
8+阅读 · 2018年4月12日
Arxiv
6+阅读 · 2018年3月19日
Top
微信扫码咨询专知VIP会员