首页
论坛
专栏
课程

[调试逆向] [病毒木马] [原创]CVE-2017-11882恶意样本调试分析

2019-6-10 21:02 1708

[调试逆向] [病毒木马] [原创]CVE-2017-11882恶意样本调试分析

2019-6-10 21:02
1708

最近无聊,就在Malware-Traffic-Analysis上找了一个传播Lokibot的恶意邮件


其中的purchase order.PNG是一个链接,点击将会下载一个rtf漏洞利用文档,根据VT结果。使用了CVE-2017-11882公式漏洞。通过rtfobj稍微查看了一下也证实了这一点。


该漏洞利用文档使用了简单的rtf混淆,如下。


使用rtfdump.py对列出该rtf中的所有控制字。


这里有好几个控制字,如第二个\object以及第8个\bin。对\bin进行dump分析,可以看到这个就是公式漏洞的数据。


这里我们手动提取出\bin的数据并且编写一个脚本转换。


对提取出的文件使用010editor进行分析。为了方便分析,这里我编写了一个010editor的temple文件。


运行模板之后,得到如下的文件分析结果。


对该样本使用windbg调试,通过gflags添加注册表,当EQNEDT32.exe执行的时候,windbg附加。我们知道cve-2017-11882的触发地址在41160F当中。所以我们在触发漏洞执行链调用4115A7之前下断点,可以看到eax指向的就是我们的shellcode部分。



我们可以看到漏洞触发前的数据。


触发之后,成功将返回地址修改为了0x44F825,并且对应的shellcode也写进去了。


接下来就是对该样本的恶意行为的分析了。我们先看第一阶段的shellcode代码。

第一部分shellcode是为了更好的控制流程,跳出shellcode字节限制。主要使用GlobalLock来获取MTFHerder来进行绕过。



其他的也没有什么了,动态解密数据,得到恶意url以及对应的恶意文件路径等。


解密算法就是一个异或算法如下。


该样本就是一个下载器,下载hxxp://modestworld.top/eaid/eaid.exe到%APPDATA%\eaidproj78364.exe并且执行。


但是该文件已经不存在了,根据该恶意域名,我们看到上面布置了其他的恶意文件如下。


稍微查了一下文件类型之类的,全都是delphi文件,原谅我不想分析delphi了。

本文记录主要是对被混淆了的rtf样本如何分析,并且也顺便温习了11882以及0802这两个洞。昨天看红雨滴团队说啥用了自己写的shellcode提取工具。自己也想写一个,有时间再搞吧。IOC懒得搞了。

注:样本密码为infected.


ref:

https://blog.talosintelligence.com/2018/10/old-dog-new-tricks-analysing-new-rtf_15.html

https://www.anquanke.com/post/id/87311

https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-oleds/3c695db0-943f-48a0-b134-939af3b3a4ca

http://rtf2latex2e.sourceforge.net/MTEF3.html#Header

https://www.anquanke.com/post/id/179908



[公告]安全测试和项目外包请将项目需求发到看雪企服平台:https://qifu.kanxue.com

上传的附件:
最新回复 (2)
petersonhz 2019-6-10 21:45
2
0
看来用delphi写病毒不错啊,大家都不愿意深入分析它了
binlmmhc 2019-7-24 14:06
3
0
mb_ckbeqxfo 楼主我想咨询一个问题
啥子问题
游客
登录 | 注册 方可回帖
返回