新型恶意软件Bazar 的出现(上)
2020-08-28 10:36:10 Author: www.4hou.com(查看原文) 阅读量:281 收藏

微信截图_20200719010902.png

Cybereason Nocturnus团队正在追踪一种新的Bazar 加载程序和后门,它首次出现于2020年4月,此后一直在不断发展。Bazar可以被用来部署额外的恶意软件、勒索软件,其最终目的是窃取敏感数据。

其最初的目标是针对美国和欧洲:Bazar恶意软件感染的目标是美国和欧洲的专业服务、医疗保健、制造、IT、物流和旅游公司。且配备加载程序和后门能力:Bazar利用Twilio SendGrid电子邮件平台和签名的加载程序文件来逃避传统的安全软件,以及无文件后门程序以建立持久性。且Bazar在持续发展中,在调查过程中,Bazar明显处于积极开发中。最近,活跃的活动消失了,但后来又出现了一个新版本,这表明该组织正在开发周期中。难以捉摸的、令人迷惑的无文件恶意软件,这种隐秘的加载程序通过滥用证书权威机构的信任来逃避检测,很像以前的欺骗木马加载程序。但是,这个加载程序使用EmerDNS (.bazar)域来执行命令和控制,并且非常模糊。它还使用反分析技术来阻止自动和手动分析,并在内存中加载加密后门。两个月后卷土重来,在中断两个月后,一种新的变种在6月中旬出现,改进了它的隐身能力。这与其他网络犯罪组织的运作方式很相似,尤其是Trickbot。Trickbot绑定:加载程序展示的行为使其与以前的Trickbot活动相关。尽管Anchor和Bazar恶意软件之间存在若干变化,包括clientID生成方面的差异,但它们共享相同的顶级Bazar域C2。与Trickbot和Anchor不同,Bazar加载程序和后门是绑在一起的。考虑到这些联系以及Bazar的发展速度,这可能表明攻击者将进行下一代恶意软件攻击的开发。

Bazar恶意软件的出现

自2020年4月以来,Cybereason Nocturnus团队一直在调查Bazar恶意软件的出现,它是一个加载程序和后门,用来收集受感染设备的数据,并部署额外的恶意软件。在这个分析中,我们展示了Bazar恶意软件是如何通过网络钓鱼邮件发送的,这些邮件利用了正在进行的冠状病毒大流行、员工工资报告和客户投诉。Bazar恶意软件似乎与Trickbot活动紧密相关,类似于从2019年12月在Trickbot-Anchor合作中看到的活动。经过进一步调查,很明显,同一感染链提供了Bazar加载程序,而不是通常的Trickbot下载程序。

Bazar加载程序和Bazar后门是根据它们使用的EmerDNS区块链域名命名的,最近,在网络犯罪分子中,使用Bazar域名已经成为一种趋势,因为他们能够避开破坏僵尸网络通信的攻击和破坏。

Bazar加载程序为攻击者提供了它在环境中的最初攻击点,而Bazar后门则建立了持久性。加载程序和后门让攻击者有机会部署其他有效载荷,比如勒索软件,以及开发后的框架,比如CobaltStrike,以及在受感染的设备上窃取数据和远程执行命令。Bazar后门可能导致中断业务连续性、数据丢失和完全的破坏,破坏对组织的信任。

Bazar后门及其加载程序有几个不同版本,这表明该恶意软件正在积极开发中。这篇文章剖析了Bazar加载程序和后门功能,以及显示其与Trickbot合作关系的元素,类似于2019年的Trickbot- anchor。我们的分析主要集中在Bazar加载程序,因为鉴于我们最近对Bazar加载程序的调查结果,它尤其易于规避紧急情况。

1.gif

Bazar加载程序感染链从钓鱼电子邮件链接开始

感染过程

Bazar-2.png

Bazar加载程序感染是通过网络钓鱼电子邮件中的恶意链接传播的

尽管更常见的Trickbot攻击系列使用恶意文件附件来启动Microsoft Office宏并下载Trickbot,但该攻击系列最初会通过使用Sendgrid电子邮件营销平台发送的网络钓鱼电子邮件感染Bazar加载程序的主机。这些电子邮件包含指向Google文档中托管的文档预览的诱饵登录页面的链接。

Bazar-3.webp.jpg

通过Sendgrid发送的带有谷歌文档链接的冠状病毒钓鱼邮件

访问谷歌文档的登录页面可以鼓励用户下载文件,为了说服用户手动下载文件,页面声明文档预览不可用。

Bazar-4.png

感染后的Bazar加载程序有效载荷检索和net.exe命令

Bazar加载程序文件是双扩展可执行文件(如PreviewReport.DOC.exe)签署假证书,如VB CORPORATE PTY. LTD。这与Trickbot小组一致,该小组臭名昭著地通过使用签名的加载程序和恶意软件来逃避安全产品检测,从而滥用了证书颁发机构的信任。在Trickbot-Anchor感染中发现了签名的恶意软件,由于易于获得代码签名证书及其在逃避安全产品方面的有效性,签名的恶意软件将继续在未来的活动中发挥作用。

Bazar-5.png

Trickbot和Bazar加载程序签名文件

加载程序和后门分析

Cybereason Nocturnus团队分析了Bazar加载程序和后门的开发和操作版本,为了区分这两个版本,我们为开发版本保留名称“Team9”,为操作版本保留名称“Bazar”。

首先检查Team9加载程序,然后,分析了加载程序的运行情况。最后,我们分析了该恶意软件的早期开发版本,即Team9后门。我们在下面的表中总结了加载程序和后门版本之间随着时间的推移而开发的变化。

6.png

加载程序的信息

7.png

后门信息

早期开发加载程序(TEAM9)

检查加载程序的开发版本,其中包含“team9 loader”字符串,它从远程服务器下载经过XOR编码的有效负载,然后使用过程空心化或过程多普勒注入技术将有效负载解码并将其注入到目标进程中。

下载Bazar后门时,加载程序会与远程服务器通讯,后者会以加密格式将有效载荷发送到受感染的设备。在第一次检查时,有效载荷没有显示有效的PE头。逆转Team9加载程序样本,显示感染日期的异或密钥,格式为YYYYMMDD (ISO 8601)。

8.png

获取解密有效载荷所需的系统时间

下图显示了负责逐字节解密的循环:

9.png

日期和时间的解密循环

下文要讲到,以上内容是带有混淆和打包变体的共享机制。这个加载程序变体在CurrentVersion\运行时创建一个简单的自动运行密钥,伪装成BackUp Mgr。

10.png

Team9加载程序创建的自动运行秘钥

一旦有效载荷被正确的PE头解码,它将被验证,然后注入内存。这个过程可以在恶意软件的日志中看到。

11.png

日志文件的内容(ld_debug.txt)显示Bazar加载程序感染活动

调试字符串在日志文件“ld_debuglog”中显示Bazar加载程序执行和有效载荷检索状态,该文件指示PE文件签名验证和自删除功能。

该变体将调试日志放在硬编码的“admin”用户文件夹中。

12.png

Bazar加载程序和后门调试日志

BAZAR加载程序运行过程

在加载程序的混淆和打包版本中,使用了一个不常见的API调用来促进代码注入。如下图所示,加载程序使用VirtualAllocExNuma分配新内存并存储返回的基址。在使用RC4算法解密后,一个模糊的shell代码的开头被复制到这个地址。除了shell代码之外,还可以在内存中看到额外的PE。

13.png

内存分配和对shellcode解密的调用

Bazar加载程序还存储一个RSA2密钥,用于打开RC4密钥。

14.png

在加载程序的内存中看到的RSA2 BLOB

看一下'decrypt_shellcode_and_mz '函数的代码,我们发现它与早期的Trickbot变体和TrickBooster中使用的代码非常相似。

15.png

Shellcode解密例程

从密钥BLOB导入RSA2密钥后,将RC4密钥加载到RC4 BLOB中。由于它默认为little-endian格式,因此它是相反的,并且最后附加了结尾的零字节,这是密钥的重要组成部分。

16.png

带有已加载密钥的RC4 BLOB

当数据被解密时,一个相对短的shell代码在MZ字节之前。

17.png

解密的shellcode和PE

此代码复制到先前分配的内存中,在运行时对几个基本的API调用进行模糊处理,例如LoadLibraryA,GetProcAddress,VirtualAlloc和VirtualProtect,所有这些都将用于解析API并分配内存以运行其他PE。

18.png

Shellcode加载程序解析的API

在最终跳转到PE入口点之前,代码将更多的API加载到即将执行的PE中。

19.png

由shellcode加载程序解析PE的API

Bazar加载程序进入加载的PE后,通过检查受感染的计算机上是否安装了俄语来尝试避免针对俄语用户。它调用setlocale,通过向每个字符添加0xf4来模糊化“Russia”字符串,最后解析并调用StrStrA来检查“Russia”是否为当前语言环境的子字符串。如果是这样,则加载程序终止,Bazar后门程序也重复此步骤。

20.png

检查俄语以确定是否应执行

一般来说,PE都是高度模糊的。专用的方法在运行时解析额外的字符串和API调用,使得PE更加难以分析。下面是负责解析.bazar域的方法示例。它加载一个混淆的字符串,并使用域名的第一个字符作为字符串其余部分的XOR秘钥来消除混淆。

21.png

Deobfuscating .bazar域

互斥锁名称先去混淆,然后复制,然后传递给CreateMutexExA,名称为“ld_201127”。

22.png

创建互斥对象

一旦Bazar加载程序下载了其有效载荷Bazar后门,便使用与上述Team9变体相同的方法对其进行解密。

23.png

解密下载的有效载荷

最后,加载程序验证PE报头是否成功解密,然后继续下一步,即通过process hollowing进行代码注入。

24.png

下载的有效载荷的系统时间检索、解密和标头检查

加载程序尝试三个不同的进程:svchost、explorer和cmd,类似于开发版本中的功能。

在成功地将代码注入到上述一个进程后,加载程序将使用几种方法从受害者的设备上自动运行,这意味着代码尚未完成。

25.png

Bazar加载程序,确保它不惜一切代价自动运行

首先,加载程序创建一个计划任务,伪装在名称StartAd - Ad下,就像在Adobe中一样。其他示例使用带有双重扩展名.PDF.exe的诱饵Adobe图标,类似于此处分析的MS Word变体。

26.png

使用taskschd.dll创建计划任务

为了进一步欺骗,开发者也被设置为Adobe。

27.png

在任务调度器中看到的创建的任务

设置计划任务后,Bazar加载程序使用RegSetValueExA将自身写入HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon。这样,加载程序就可以在每次系统登录时执行。

28.png

编写恶意软件以从userinit自动运行

Bazar加载程序将通过在Windows“开始”菜单“启动”文件夹中编写adobe.lnk快捷方式来创建另一个自动运行条目。

29.png

将Bazar加载程序写入启动文件夹

最后,如果autorun overkill过程还不够,恶意软件会使用SHGetSpecialFolderPathW API调用抓取用户的桌面,并让快捷秘钥指向加载程序本身。它打开每个快捷方式位置,通过在应用程序名称前加上下划线重命名目标,最终将自身重命名为原始应用程序,复制到目标文件夹。

30.png

修改了合法的Firefox应用程序,以便可以执行加载程序的另一个副本

例如,上面的屏幕截图显示_firefox.exe是原始应用程序,而firefox.exe实际上是Bazar加载程序的副本。检索文件的哈希值后即可确认。

31.png

对恶意加载程序副本和合法Firefox应用程序进行哈希处理

在扩展名为.bin的文件夹中创建另一个小的二进制文件,其中包含更多加密的数据。

本文翻译自:https://www.cybereason.com/blog/a-bazar-of-tricks-following-team9s-development-cycles如若转载,请注明原文地址:


文章来源: https://www.4hou.com/posts/lD0M
如有侵权请联系:admin#unsafe.sh