您的位置:首页 > 其它

CVE-2012-0158样本分析

2019-03-19 17:26 84 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/yuanfengfengyuan/article/details/88233973

样本分析记录

样本概述

类型 信息
样本名 个人简历.doc
md5 18C6A011C63390195EE12CCD43C3C829
分析工具 x32db wireshark

样本行为总结

样本doc漏洞:CVE-2012-0158

样本行为: 通过DOC溢出执行shellcode,访问phone.ftp.sh/c.png下载c.png文件保存到本地并执行,而c.png为木马功能主体,由于URL已经失效,因此无法确认c.png具体功能行为。

IOCphone.ftp.sh/c.png

DOC样本行为分析

1.通过X32db动态加载DOC样本,通过设置“改变命令行”的参数设置,配置好调试环境

2.在Kernel32.dll的WinExec函数处设置断点

3.按F9一直运行到断点处,x32db停在WinExec函数入口处

4.查看堆栈地址,发现返回地址为0x194d90,该地址属于当前栈地址,因此可以确认之前已经发生了栈溢出,并且栈里面的信息已经被破坏了。

5.常见的office CVE栈溢出原理图如下所示,因此当前x32db栈中存放的就是shellcode,但是需要找到shellcode的起始位置。


6.通过回溯栈信息,该样本溢出后,返回了3个地址,通过返回地址也可以找到shellcode的某个执行阶段,但是需要不断的下硬件断点来调试也能找到shellcode的起始位置,个人考虑在溢出执行前的栈内下硬件断点,并根据栈里面的内容进行判定溢出是否发生。

7.调试中发现0x27583c30 jmp esp 栈中函数返回值被覆盖,跳转到栈上执行恶意代码,即shellcode,溢出点为“rep movsd”。


8.对shellcode代码进行单步调试,解密生成IOC URL(http://phone.ftp.sh/c.png) ,通过urlmon.URLDownloadtoFileA访问并下载文件。


9.如果下载成功后,会调用WinExec函数执行“cmd /c a.exe”执行EXE。

10、退出进程

总结

这是一个比较老的样本,有下载的URL失效了,因此没法查看木马功能行为,主要锻炼一下对office 溢出的调试技能。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: