最近无聊,就在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
[CTF入门培训]顶尖高校博士及硕士团队亲授《30小时教你玩转CTF》,视频+靶场+题目!助力进入CTF世界