这款客人邮政是由Vishal Thakur,Csirt / Salesforce编写的。有关更多关于Vishal的,请在博客结束时阅读他的生物。

QuantLoader是一个木马下载程序,已经在地下论坛上出售了相当一段时间了。它已被用于一系列恶意软件的活动,包括勒索软件、银行木马和rat病毒。我们要分析的竞选活动是在为后门服务。

在这篇文章中,我们将采取高级外观竞选流程,以及深入潜入恶意软件如何执行,重点是网络功能。我们将挖掘二进制文件以分析恶意软件的执行方式以及它如何连接到C2。我们还将分析一些有趣的调用恶意软件,例如调用和执行netsh命令来更改本地防火墙规则。

最新版本的QuantLoader正在通过一个使用一些有趣技术的钓鱼活动提供服务。该活动始于一个钓鱼电子邮件,附带一个链接,为受害者提供最初的JS下载程序。有趣的是,他们选择了file:// (SMB)协议而不是传统的http://-可能是为了通过一些proxy /防火墙。

分析

首先,让我们来看看竞选流程:

phish> js下载> quanlloader(> c2)>有效载荷(后门)> c2

js下载器,一如既往地,有很多代码,所有人都被困扰:

我们前进并打印主函数的输出(在这种情况下AXXA),我们得到舞台2 URL:

这是对JS Downloader的快速分析,让我们提供URL。

QuantLoader可执行

我们将尽可能多地开始执行流程:

让我们来看看汇编代码:

接下来,在执行之前,它将自身复制到上面的位置:

设置权限(ACL):

在这里,我们可以看到,用户的许可已被设置为“读取”。

堆叠视图:

让我们来看看进程执行和持久性机制。

正如您在上面看到的,进程成功地将自己复制到不同的位置后,会生成一个新的进程。重要的是不要将它与dwm.exe(一个合法的Windows进程(桌面窗口管理器))混淆。注意,持久化机制也已经启动。

让我们深入了解它产生的过程,以及它是如何生成的。

首先,创建目录:

完成后,将调用CreateFile以创建空文件。

此时,它是一个空文件——里面没有数据。稍后会复制过来。

请注意,此时文件的大小为0字节。

然后将文件复制过来:

现在,您可以看到文件已被复制,大小为46080字节:

现在该过程将从这个位置推出。

你可以修改它,如果你想:

一旦这一进程成功启动,我们想看看下一个重要步骤。它将调用WININET dll来开始建立与管理员的连接。

执行后,它将尝试连接到其管理服务器:

这里是连接:

TCP localhost:49690 49.51.228.205:HTTP建立

这是您可以看到的主机加载到下面的堆栈中。

现在我们将更深入地了解这在堆栈中是如何展开的。

第一步是加载WININET DLL。它是通过LoadLibrary函数调用的:


现在,让我们看一下在反汇编程序中介绍我们(突出显示和评论)的函数。我们稍后会潜入其中几个:


这是堆栈,可以在操作中可以看到上述功能(添加的变量值):

此时,让我们继续调用以下称为:Winhttp.dll的下一个DLL。

现在让我们看一下从这里调用的函数:

正如您所看到的,以上所有功能都是“WinHTTP”。

让我们看看一些更有趣的功能:

winhttpcreateurl.

这将通过组合主机和路径将完整的URL放在一起。让我们踏入它。


这是与jsproxy.dll的完整URI被称为WinInet的自动代理支持:

最后,我们应该看看内存转储,看看URI是如何加载到内存中的:

看看下面的堆栈截图。您可以看到URL加载到堆栈上并准备好调用。

让我们来看看并行的内存。您可以看到URL已经成功加载,并且可以使用URLDownloadToFile调用来调用它了。

您可以在上面可以在上面的屏幕截图中看到的有趣ASCII字符串向您展示了恶意软件如何将规则添加到防火墙,指定过程,然后指定操作的方向(OUT)“允许”。这是为了确保允许使用恶意软件的出站请求,并成功地使用管理员登记。

这是堆栈中的视图:


这是CPU中的样子:

使用的命令是:netsh。

这是过程图像的视图:

以下是在防火墙上成功创建和部署的规则:

其他一些有趣的电话:

抗VM.

77028A50> -ff25 F4030877 JMP DWORD PTR DS:[<&AP-MS-WIN-CORE文件>;kernelba.getdiskfreespaceexa.
0018F234 |7029160E)p;从KERNEL32回来。GetTickCount, WININET.7029160E

环境标识

77028DA0> -FF25 A8070877 JMP DWORD PTR DS:[<&AP-MS-WIN-CORC-PROC>;kernelba.getenvironmentstringsa.

网络

0018年e9b8 | 7029818 c;ASCII“getaddrinfo”

*/从一个ANSI主机名到一个地址的独立协议转换

0018年e9c0 | 70298198;ASCII“getnameinfo”

* /协议 - 独立名称从地址到ANSI主机名的分辨率以及从端口号到ANSI服务名称

0018年fb84 [70272 c72;从DNSAPI /返回。DnsGetProxyInformation, WININET.70272C72
0018FB88 0051E4B0°ÄQ;| arg1 = Unicode“wassronledorhad.in”

* /返回DNS服务器名称解析策略表的代理信息

一旦使用管理服务器(C2)建立了连接,就会提供有效载荷。每个广告系列的管理员挑选有效载荷,可以是任何恶意软件类型。在这个广告系列中,它恰好是一个后门。

下载有效载荷的URL已从内存中提取。我们不会分析有效载荷以获得本练习的目的,但我已将详细信息包含在本篇文章末尾的详细信息。

结论

QuantLoader代码具有一些有趣的位和碎片,例如防火墙规则操作。它是一个相当直接的恶意软件,并确实它已经发展到了。广告系列管理员有能力使用相同的下载更改最终有效载荷并运行不同的广告系列。

据报道,这是一种勒索软件,但它似乎是基于一个记忆字符串,其中有洛奇的参考,这看起来像是一个旧活动的残余。

Z: \ var \ www \ \文件\ cryptors \ admin \ Loc2.exe测试

另外,它是通过SMB而不是传统的HTTP协议提供的,这很有趣。

来自广告系列的文件

JS下载:

MD5 - 6 f2b5a20dba3cdc2b10c6a7c56a7bf35
SHA256 - DB078628CDC41E9519E98B7A491BD2D5D8E49EF6708F129E1B8

https://www.virustotal.com/#/File/DB078628CDC41E9519E98B7EA56232085B7EA56232085B7EA56232085B7EA56232085B7A491BD2D5D8E49EF6708F129E1B8/DET.

QuantLoader:

MD5 - 4394536E9A53B94A2634C68043E76EF8
SHA256 - 2B53466EBD2C65F81004C567DF9025CE68017241E421ABCF33799BD3E827900

https://www.virustotal.com/#/file/2b53466eebd2c65f81004c567df9025ce68017241e421abcf33799bd3e827900/detection.

有效载荷后门:

MD5 - 6 c6d772704abf4426c5d7e5a52c847d7
SHA256 - 0D100FF26A764C65F283742B9C9014F4FD64DF4F1E586B57F3CDCE6EADECD.

https://www.virustotal.com/#/file/0d100ff26a764c65f283742b9c9014f4fd64df4f1e586b57f3cdce6eadedcd/detection.


Vishal Thakur有在InfoSec工作多年,专攻事件响应和恶意软件分析。目前,他在CSIRT(计算机安全事件响应团队)的Salesforce工作,在那之前是澳大利亚联邦银行CSIRT的一部分。