一个CVE-2017-11882漏洞新变异样本的调试与分析

栏目: 编程工具 · 发布时间: 5年前

内容简介:近日收获一个后缀名为doc的word文档,查看后其实是rtf格式文档。在测试环境打开后发现有网络连接和执行程序的动作,确定该样本是恶意文档。经过初步分析,发现该样本是CVE-2017-11882漏洞的利用新样本。CVE-2017-11882漏洞和CVE-2018-0802漏洞基于Office公式编辑器的处理逻辑错误 ,是最近office恶意攻击文档的常用手段。网络上对该漏洞的成因、利用等分析的已经十分到位,比如360天眼实验室的实验环境:windows 7 x64 sp1中文版,office 2010中文

*本文作者:cgf99,本文属 FreeBuf 原创奖励计划,未经许可禁止转载。

前言

近日收获一个后缀名为doc的word文档,查看后其实是rtf格式文档。在测试环境打开后发现有网络连接和执行程序的动作,确定该样本是恶意文档。经过初步分析,发现该样本是CVE-2017-11882漏洞的利用新样本。CVE-2017-11882漏洞和CVE-2018-0802漏洞基于Office公式编辑器的处理逻辑错误 ,是最近office恶意攻击文档的常用手段。网络上对该漏洞的成因、利用等分析的已经十分到位,比如360天眼实验室的 利用了Office公式编辑器特殊处理逻辑的最新免杀技术分析(CVE-2017-11882) ,以及腾讯电脑管家的 NDAY漏洞CVE-2017-11882与0Day漏洞CVE-2018-0802漏洞组合传播远控木马的样本分析 等技术报告。本次样本与之前各家分析的稍有不同,应是CVE-2017-11882漏洞的又一个变异版本。

一、基本动作

实验环境:windows 7 x64 sp1中文版,office 2010中文版。

漏洞样本打开后,显示的文档内容为乱码,如下图所示。

一个CVE-2017-11882漏洞新变异样本的调试与分析

此外,在%temp%目录下生成并运行一个名为emre.exe的可执行文件。抓包发现emre.exe是从 http://ghthf.cf/ cert/ochicha.exe下载生成。如下图所示。

一个CVE-2017-11882漏洞新变异样本的调试与分析

二、漏洞调试

1、样本形态

winhex打开后如下两幅图所示。文档后面直接跟要显示的内容。

一个CVE-2017-11882漏洞新变异样本的调试与分析

紧随其后的就是object对象,如下图所示。

一个CVE-2017-11882漏洞新变异样本的调试与分析

2、RTF初步分析

用rftobj分析后结果如下图所示。可以看到clsid为0002ce02-0000-0000-c000-000000000046也就是微软公式编辑器对象。

一个CVE-2017-11882漏洞新变异样本的调试与分析

一个CVE-2017-11882漏洞新变异样本的调试与分析

从图中我们可以看到,该对象名字为“eQuatiON native”,对正常对象名字“Equation Native”进行了大小写转换操作,可能也是追求免杀的一种效果。

3、漏洞调试

根据各方对漏洞的分析报告,我们直接调试漏洞所在的函数0041160F。

一个CVE-2017-11882漏洞新变异样本的调试与分析

在经过11次的rep操作后,如下图,堆栈0x0043F775被覆盖。

一个CVE-2017-11882漏洞新变异样本的调试与分析

一个CVE-2017-11882漏洞新变异样本的调试与分析

而EQNEDT32.EXE进程0x0043F775处的值是C3,恰好是指令retn。

一个CVE-2017-11882漏洞新变异样本的调试与分析

执行后跳转到shellcode位置。如下图所示:

一个CVE-2017-11882漏洞新变异样本的调试与分析

4、shellcode调试分析

shellcode的位置在eQuatiON native对象中。

分为两个部分,其中开始的位置0×0826处,B9 C439E66A(见上图0018F354处的反汇编指令)开始到 0851处,紧随其后的就是四个字节0x0043F7F5(EQNEDT32.EXE进程中RETN指令)。第二部分的位置在0x089E处开始一直到结束。

一个CVE-2017-11882漏洞新变异样本的调试与分析

第一部分的shellcode跳转到第二部分的汇编指令如下图所示:

一个CVE-2017-11882漏洞新变异样本的调试与分析

经过分析,发现该段的shellcode进行了一系列的jmp跳转指令操作,因是为了shellcode的混淆和保护。比如下图所示:

一个CVE-2017-11882漏洞新变异样本的调试与分析

跟踪后,发现其实主要的任务就是对 shellcode后段进行解密操作。

shellcode加密部分如下图所示:

一个CVE-2017-11882漏洞新变异样本的调试与分析

解密后的内容如下图所示:

一个CVE-2017-11882漏洞新变异样本的调试与分析

其主要功能就是调用URLDownloadToFile函数从 http://ghthf.cf/cert/ochicha.exe 下载文件保存为%temp%目录下 emre.exe,并调用ShellExecuteEx执行。

4、shellcode加解密算法

shellcode加密部分的解密算法如下所示。

EDI =0
for(解密字符串开始位置处,到结尾,每4个字节进行操作)
{
EDI=EDI * 0x2F5E137B
EDI+=0x11B7CF3D
明文四个字节=四个字节密文 xor EDI
}

5、下载exe情况

emre.exe的属性如下图所示:

一个CVE-2017-11882漏洞新变异样本的调试与分析

运行竟然需要.net环境。

具体的功能就不分析了。

三、样本利用

可以说,样本到手,工具就有。

可以根据该样本进行改造。

1、不替换shellcode主体部分,只是修改下载的链接为自己的链接即可;
2、修改shellcode为自己shellcode,比如不用网络下载,直接把把exe附加在漏洞样本内,从shellcode完成释放和下载动作(或者释放到启动目录下等等)。
3、进行免杀操作。

四、结语

1、动手实践很重要。通过调试分析,进一步掌握该漏洞的具体细节;
2、shellcode有一定借鉴意义,比如利用一堆JMP指令混淆真实解密操作。
3、漏洞样本结构更畸形、简单。只有一个eQuatiON native对象,其他的啥都没有。
4、打开文档要谨慎。
5、及时更新补丁。

*本文作者:cgf99,本文属 FreeBuf 原创奖励计划,未经许可禁止转载。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Beginning ARKit for iPhone and iPad

Beginning ARKit for iPhone and iPad

Wallace Wang / Apress / 2018-11-5 / USD 39.99

Explore how to use ARKit to create iOS apps and learn the basics of augmented reality while diving into ARKit specific topics. This book reveals how augmented reality allows you to view the screen on ......一起来看看 《Beginning ARKit for iPhone and iPad》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具