Emotet银行木马宏样本分析
一、简介
Emotet银行木马首次发现是在2014年6月份,此银行木马主要通过垃圾邮件的方式进行传播感染目标用户,是一款比较著名且复杂的银行木马。
二、样本运行流程
三、分析
邮件附件DOC样本(重命名为2021-1-13-Emotet.doc),如下所示:
打开文档之后,如下:
3.1宏代码分析
使用oletools 套件的olevba,查看里面包含宏代码,如下:
3.2动态调试
从上面中我们隐约可以看到调用了WMI和一堆混淆。
我们这里直接去该文档的VBA编辑器,动态的调试,看到到底发生了什么。
此处我们可以看到由Document_open()函数调用Bn2p1rxokklh_9o8
此处一共有3处函数,其中Bn2p1rxokklh_9o8()、Ipls8rqp952u2lk1(V8_prqa_b590f6uz6z)、Cws3jiyt47ovpsrhug(Mhb7dz_hsybhf0ic7)
现在 这里我们直接在函数Ipls8rqp952u2lk1中的结束处进行下断点。让我们运行下看看
我们这里注意V8_prqa_b590f6uz6z 和Ipls8rqp952u2lk1这两个变量
在这里我们可以看到V8_prqa_b590f6uz6z变量为混淆的内容,而 Ipls8rqp952u2lk1最终的解密后的值为winmgmts:win32_process,这里混淆的key为最后一处函数 Cws3jiyt47ovpsrhug(Mhb7dz_hsybhf0ic7),其中的 Replace引起了我们的注意,而w]xm[v就是我们的key
就像这样,如下图所示
当执行到最后,我们也可以看到完整的执行代码
而完整的混淆代码为如下图所示
使用key对其进行替换,如下图所示
最终得出来的代码为如下图所示。
下面为执行的过程。调用cmd 进行弹窗和调用powershell
3.3 PowerShell 分析
我们对其powershell中的base64进行解密。得出的代码如下图所示
我们可以看到powershell 也是进过混淆的,其中字符串的混淆为打乱排序,经过下图的类似的处理后
代码整理如下图所示
大体该脚本执行的流程为
1.创建目录为下面下载的文件提供路径。
2.下载DLL文件并命名为S93E.dll
3.调用rundll32执行DLL。
3.4DLL执行
在上述过程中我对其中几个url分别进行验证。只有两个网址是可以下载DLL的
两个DLL的md5是不同的,但是其功能是相同的,下图为完整的执行过程。
在这里调用rundll32 执行dll文件使用期函数showdialogA。对其释放和执行另一个dll文件,最后进行自我删除第一个DLL的动作
并对其进行注册表修改,添加启动项,为其进行后期的控制。
同时我们可以看到 该DLL对外进行通信
四、IOC
1 | 文件名:"QD0948945078TQ.doc" |
参考链接:
https://app.any.run/tasks/beef10b6-bc74-4f38-adf4-b9a3e83082b3/