购物车

您的购物车目前是空的

商品分类
  1. 嘶货 首页
  2. 企业动态

借助ProcessHollowing和代码注入感染合法进程:信息窃取恶意软件FormBook分析

概述

FormBook是一个信息窃取类型的恶意软件。与大多数其他信息窃取类恶意软件一样,它在部署到受害者的计算机上时,会执行许多操作来逃避反病毒厂商产品的检测。当然,正如我们在Ursnif、Hancitor、Dridex和其他木马中看到的那样,有许多变种可以通过多种方式接收Payload。

在过去的一年中,威胁行为者最常用的分发FormBook恶意软件的方法是借助恶意钓鱼邮件并利用CVE-2017-8570漏洞。具体而言,攻击者会使用包含恶意代码的.RTF格式文件来利用这一漏洞。

在本文中,我将重点关注恶意Payload,并详细分析该恶意软件的行为和IoC。

FormBook使用的反分析技术

首先,我们先从FormBook如何阻止恶意软件研究人员调试和分析恶意软件开始。我们参考了其他研究人员的分析成果,了解FormBook首先会遍历受害者主机上正在运行的进程。如果存在任何列入黑名单的进程,那么Payload将会停止感染计算机。

该恶意软件使用了大量的反分析技术,例如:黑名单中的进程列表、虚拟机检测机制、内存中字符串混淆等,这些都是为了避免配置中的memdump,从而防止被安全研究人员发现相关的字符串。

下面是本文中提到的一些列入黑名单中的进程。需要注意的是,除此之外,恶意软件还会查找VMWare和Parallels虚拟机实例,这两种虚拟机都有可能会被研究人员使用:

Vmtoolsd.exe, vmwareservice.exe, vmwareuser.exe, vboxservice.exe, vboxtray.exe, netmon.exe, Sandboxiedcomlaunch.exe, Sandboxierpcss.exe, procmon.exe, filemon.exe, wireshark.exe, prl_tools_service.exe, vmsrvc.exe, Vmusrvc.exe, python.exe, perl.exe, regmon.exe

为了使用procmon进行事件捕获,我选择了“启用启动日志记录”(Enable boot logging)选项,这样一来,就会为procmon创建服务和驱动条目,直至下次启动。这将允许procmon在下次启动时捕获系统事件:

C:\Windows\System32\drivers\PROCMON24.SYS

运行FormBook Payload

现在,我们可以执行Payload,并分析其运行过程。我从VZ中任意选择了一个样本。

SHA-1:ecb7b646b21e4940b9e68b55722f7755057c933c

在主机上部署Payload后,我们就可以查看其进程树:

1.png

这是它在启动后的样子:

2.png

需要注意的是,在整个感染链中,都是用了合法的进程。这是通过进程镂空(Process Hollowing)和代码注入来实现的。

在每次运行时,包括重新启动时,进程树都会有所不同。这些进程中已经被注入代码,并且能够执行恶意软件的功能。

下面是FormBook用于逃避检测所使用的合法进程列表(部分):

taskhost.exe, explorer.exe, svchost.exe, dwm.exe, cscript.exe, netstat.exe, raserver.exe, wscript.exe, wuapp.exe, cmd.exe, ipconfig.exe, lsass.exe, rundll32.exe, msdt.exe, mstsc.exe, msiexec.exe, systray.exe, audiodg.exe, wininit.exe, services.exe, autochk.exe, autoconv.exe, autofmt.exe, cmstp.exe, wuauclt.exe, napstat.exe, lsm.exe, netsh.exe, chkdsk.exe, msg.exe, nbtstat.exe, spoolsv.exe, rdpclip.exe, control.exe

FormBook恶意软件部署流程

我以Admin用户身份运行了样本Payload。

在第一阶段,Payload在%appdata%\local\temp\subfolder文件夹中投放了explorer.vbs脚本以及另一个名为explorer.exe的MZ。当然,这并不是真正的资源管理器,正如我们根据文件哈希值看到的那样:

SHA-1:dbaf9e4fc18d8744d5ee9d80bf7f4ef6e2d18bf7

在这里,我们可以查看.vbs文件的内容,以及添加注册表值的命令。

3.jpg

随后,VBS脚本运行explorer.exe,并终止原始Payload进程。

4.png

在这时,还会注入到合法的explorer.exe:1320,它将会派生出msiexec.exe。这也是接下来要注入到代码中运行的内容。

5.png

经过代码注入后的合法explorer.exe将投放一个类似的Payload,作为另一种持久化方法,它与恶意的explorer.exe是相同的文件。

该可执行文件产生DllHost来写入大部分文件,但我们还发现,该文件也会写入到一些文件之中。针对不同的计算机,其部署的文件名和文件夹名称都在发生变化。

6.png

至此,主机已经被感染,其他相关操作正在执行中。

在我们的样本中,msiexec.exe将保持活跃状态,并注入到浏览器之中,一旦持久化机制被删除,该文件将负责重新感染。

IoC

1. 创建下述文件夹和文件:

(根据我们的测试,文件夹名称和文件名称随主机的不同而发生变化)

· C:\Program Files\Rwpj8mp\mpxpsj78jvx8ftbp.exe

2. 创建下述文件夹和文件:

(针对所有被感染主机,文件夹和文件的名称都相同)

· C:\Users\Test_PC\AppData\Local\Temp\subfolder\explorer.vbs

· C:\Users\Test_PC\AppData\Local\Temp\subfolder\explorer.exe

3. 为保证持久性,将创建2个条目,它们分别对应上述第2点中的条目:

7.png

关于FormBook的更多IoC

在感染链完成之后,我们可以看到恶意软件所使用的进程。我们还可以借助一些工具,来查看这些进程的内部,从而弄清楚恶意软件的工作原理。

例如,在cmd.exe:2524的内存区域中,包含一个具有读写-执行(RWX)权限的内存区域和MZ。由此证明,在大多数情况下,这样的特征都是恶意的。

8.png

9.png

我们已经事先了解,FormBook属于金融类恶意软件,该恶意软件可能会尝试向浏览器注入代码,然后尝试在相关函数上设置挂钩(Hook),以从浏览器中泄露数据。

在Internet Explorer中,我们还可以在具有RWX权限的浏览器内存区域发现恶意软件的踪影。我们还发现了针对记事本(Notepad)的挂钩,该挂钩同样被启用,并且其目的也是为了获取用户信息。

10.png

这些信息是使用GMER工具分析而得到的。

我们发现这些函数挂钩在上述的内存地址中,这里所使用的操作码(Opcode)通常是CALL或者JMP。

在这里,我们发现这个段的起始地址以及保护级别,这也是判断恶意软件存在的一大根据。当然,RWX本身不代表恶意软件,还需要结合更多信息进行综合判断。

当恶意软件新感染一台主机后,或被感染主机启动后,恶意软件将会自动运行,它将触发打印屏幕,并将打印内容发送至C&C服务器,以便进行侦查缓解。

在我的测试中,该文件位于C:\Users\Test_PC\AppData\Roaming\3Q5P0RE0\3Q5logim.jpeg。

11.jpg

文件夹C:\Users\Test_PC\AppData\Roaming\中还临时保存了一些需要在以后删除的文件。

最后一个被恶意软件利用的进程是msiexec.exe:3052,它负责将下面这些文件写入到磁盘中:

· C:\Users\Test_PC\AppData\Roaming\3Q5P0RE0\3Q5log.ini

· C:\Users\Test_PC\AppData\Roaming\3Q5P0RE0\3Q5logri.ini

· C:\Users\Test_PC\AppData\Roaming\3Q5P0RE0\3Q5logrv.ini

总结

随着技术的发展,恶意软件也在逐步使用越来越强大的技术来逃避反病毒产品的检测,我们所分析的FormBook就是这样的一个案例。面对这一现状,安全研究人员在进行研究时,应该使用经过良好配置的沙箱环境,而不应该仅仅使用常见的虚拟机再加上原始的操作系统环境。为防范此类恶意软件,用户应具备良好的安全意识,避免打开可疑的电子邮件,并及时修复漏洞。最后,借助一些行为AI引擎,可以在离线环境下检测并阻止此类FormBook恶意软件。

联系我们

010-62029792

在线咨询: 点击这里给我发消息

电子邮箱:info@4hou.com

工作时间:09:00 ~ 18:00