CVE-2013-3897样本分析学习笔记

之前,看到FireEye上的CVE-2013-3893分析,看利用方式比较类似,以为是同一个,分析学习下,发现导致问题的对象不一致,也没有利用ms-help加载office的hxdl构造ROP,后来在BinVul论坛上看到有人发了该样本,才知道是CVE-2013-3897。不正确地方还请扶正。

1. 概述

该样本攻击对象为韩国和日本的WinXP IE8用户,利用了IE8的CDisplayPointer对象的一个Use-After-Free漏洞,利用DEPS HeapSpray技术进行堆喷射,通过msvcrt.dll构造ROP链绕过DEP进行利用。成功利用后,会注入Shellcode到explorer 进程,尝试检查结束Kaspersky、AhnLab V3Lite、AhnLab V3 365 Clinic、NaverVaccine、ALYac安全软件,之后从网络服务器上下载执行伪造成GIF的恶意程序。

2. 样本分析

1) 通过DIV元素设置和清除title属性字符串,大量的申请释放大小为0×48的堆空间,激活LFH机制,防止cache分配空间,用0×14141414填充,作为后续vtable jmp

2) 检查用户电脑环境是否满足: Windows XP + IE8 + 韩国/日本

3) 如果为韩国日本用户,替换为msvcrt.dll对应的ROP链,然后进行HeapSpray

2) 由于不是韩国或日本的windows xp系统,跳转到77bd18d5(本应该msvcrt.dll的)指向的ROP链不正确,触发了异常, 修改跳转地址,重新调试

3) 此时对象空间已经被DIV的title属性值的str字符串所填充

看下问题代码的上下文, 在进行CLSID为_IID_IProxyManager的接口查询时,使用被释放的对象指针触发异常

在 call CDoc::GetLineInfo以及Call QIClassID处下断点

4) 在DEBUG信息swap时激活

导致问题产生的可能是CDisplayPointer对象,利用代码也表明触发问题的对象在winxp IE8下大小为0×48,与CDisplayPointer一致
此时还没有被释放

4. Shellcode分析

1) 换成日本window xp, 通过在msvcrt上构造ROP,调用VirtualProtect来过DEP

3. 漏洞分析

1) 样本本身带了比较多的调试信息, 利用样本已有调试信息,先观察下exp执行的过程

然后跳转到1414148c开始执行shellcode,经过一些nop指令后,进行XOR 0×94自解密

2) 之后会注入shellcode代码到explore进程

 

3) 注入到explore后,首先通过检查是否存在”c:¥Program Files¥Kaspersky Lab”目录(日本操作系统路径显示为¥),来
判断是否安装卡巴斯基,如果不存在继续执行。

4) sleep 10分钟后,杀软检测函数根据参数1-4执行不同杀软的判断结束操作

参数1时,检测是否安装安博士v3杀毒软件,如果安装调用其自身的卸载程序,然后通过获取卸载确定按钮,通过模拟鼠标
点击来进行卸载。

 

参数2时,检测是否安装AhnLab V3 365 Clinic。参数4时,检测是否安装ESTsoft ALYac。如果安装卸载方式同上

参数3时,检测是否安装NaverVaccine安全软件,如果存在,通过ntsd尝试强制结束对应的进程

 

5) 之后,调用URLDownloadToFileA从http://1.234.31.154/mii/fird.gif下载文件保存到临时目录为main001.gif,如果main001.gif
满足大于1KB小于500KB,则会调用WinExec隐藏执行。

6) 恶意程序分析时URL已经失效,没有分析,该处有对该恶意文件的分析

参考
————

http://blog.vulnhunt.com/index.php/2013/12/16/cve-2013-3897_analysis/
http://www.fireeye.com/blog/technical/cyber-exploits/2013/09/operation-deputydog-part-2-zero-day-exploit-analysis-cve-2013-3893.html
http://blog.spiderlabs.com/2013/10/another-day-another-ie-zero-day.html
https://www.corelan.be/index.php/2013/02/19/deps-precise-heap-spray-on-firefox-and-ie10/

[via@南京瀚海源]