Quantcast
Channel: CodeSection,代码区,网络安全 - CodeSec
Viewing all articles
Browse latest Browse all 12749

tRat:一种出现在多起垃圾电子邮件活动中新模块化RAT

$
0
0

tRat:一种出现在多起垃圾电子邮件活动中新模块化RAT

TA505 是 Proofpoint 所追踪的最多产的黑客组织之一。从 2014 年开始,该组织发起了数百起 Dridex 活动,并在 2016 年和 2017 年期间发起了大规模的 Locky 活动,其中许多活动都涉及到在全球范围内传播数亿条恶意信息。最近,该组织一直在分发各种远程访问木马( RAT ),以及其他信息窃取、加载和侦察工具,包括一个被我们称为“ tRat ”的之前未被报道过的恶意软件。 tRat 是一种采用 Delphi 编写的模块化 RAT ,于今年 9 月和 10 月出现在各种活动中( TA505 是参与者之一)。在这篇博文中,我们讨论这些活动,并对该恶意软件进行简要分析。

活动分析

2018 年 9 月 27 日, Proofpoint 发现了一起垃圾电子邮件活动,其中的恶意 Microsoft Word 文档使用宏下载了一种此前未被报道过的 RAT 。这些文件滥用了诺顿( Norton )的品牌,文档的名称和内嵌的图像都想要体现出它们受到了安全产品的保护。电子邮件的主题行强化了社会工程,声明“我已经安全地与您共享了文件”,而启用内嵌的宏就会导致 tRat 被安装。这起活动是由一个未知黑客组织发起的,而在 9 月 29 日再次出现了一起与之明显存在关联的活动,滥用了猫途鹰( TripAdvisor )的品牌(图 2 )。


tRat:一种出现在多起垃圾电子邮件活动中新模块化RAT

图 1 :来自 2018 年 9 月 27 日活动的诱饵文档,滥用品牌和社会工程来诱骗收件人启用恶意宏


tRat:一种出现在多起垃圾电子邮件活动中新模块化RAT

图 2 :在 2018 年 9 月 29 日活动中使用的 TripAdvisor 诱饵文档,再次滥用品牌和社会工程诱骗用户启用宏

在 10 月 11 日,我们观察了另一起分发 tRAT 的垃圾电子邮件活动,它的发起者是 TA505 。这起活动更加复杂,使用了 Microsoft Word 和 Microsoft Publisher 文件,以及不同的主题行和发件人,似乎针对的是商业银行机构的用户。

在这起活动中,携带恶意 Microsoft Publisher 文档的电子邮件声称与 “ 发票 ” 有关,并涉及到各种发件地址。电子邮件的主题行采用了 “Inovice ( sic ) [ 随机数字 ] [ 随机数字 ]” 这样的格式,并且携带了名为 “inv-399503-03948.pub” 的附件。在另一种情况下,携带恶意 Microsoft Word 附件的电子邮件声称来自 “Vanessa Brito” ,同样涉及到各种发件地址。附件在这些电子邮件中被命名为 “Report.doc” ,电子邮件主题行采用了“ Call Notification -[ 随机数字 ] [ 随机数字 ] ”这样的格式。

图 3 展示了其中一封电子邮件样本:


tRat:一种出现在多起垃圾电子邮件活动中新模块化RAT

图 3 : 2018 年 10 月 11 日活动的电子邮件样本

对于所有电子邮件而言,附件都包含宏,当启用时,会下载 tRat 。


tRat:一种出现在多起垃圾电子邮件活动中新模块化RAT

图 4 : 2018 年 10 月 11 日的诱饵文档样本

tRat分析

在我们继续分析该恶意软件的同时,我们也明确了它的一些功能。在我们所分析的样本中, tRat 通过将二进制文件复制到以下位置来实现持久性:

C:\Users\<user>\AppData\Roaming\Adobe\Flash Player\Services\Frame Host\fhost.exe

接下来, tRat 会在 Startup 目录下创建一个 LNK 文件,用于在启动时执行二进制文件:

C:\Users\<user>\AppData\Roaming\Microsoft\windows\Start Menu\Programs\Startup\bfhost.lnk

tRat 的大多数重要字符串都是在经过十六进制编码和加密后存储的。在我们的 Github 页面上,有一个 python 脚本可用来解密这些字符串。

tRat 使用 TCP 端口 80 来进行命令和控制( C & C )通信, 数据同样在经过十六进制编码和加密后进行传输。为了生成解密密钥, tRat 连接到三个字符串,而结果是大写的十六进制编码。在我们所分析样本中的字符串如下所示:

1. “Fx@%gJ_2oK”

2. “AC8FFF33D07229BF84E7A429CADC33BFEAE7AC4A87AE33ACEAAC8192A68C55A6”

3. “&LmcF#7R2m”

目前尚不清楚这些字符串是否因样本不同而存在差异。除了生成密钥之外, tRat 还在解密过程中使用了一个 1536 字节的表。在撰写本文时,我们无法确定表中所有元素的含义,也无法确定其是否会发生更改。但是,我们能够确定的是,解密过程涉及到使用被加密的数据与表中的值进行异或运算。来自分析样本的表和 Python 脚本都可以我们的 Github 页面上找到,可用于解密通信。

tRat 的初始 phone-home network 请求称为 “AUTH_INF” 。解密后的样本如下所示:

MfB5aV1dybxQNLfg:D29A79D6CD2F47389A66BB5F2891D64C8A87F05AE3E1C6C5CBA4A79AA5ECA29F8E8C8FFCA6A2892B8B6E

这个字符串由一个 “ : ” 分隔为两个子字符串。第一个子字符串是是作为加密字符串存储的硬编码标识符。第二个子字符串包含加密的系统数据,如下所示:

FASHYEOHAL/nXAiDQWdGwORzt:3A176D130C266A4D

这些数据包含受感染主机的计算机名称、系统用户名和 tRat bot ID ,但我们尚未确定 bot ID 是如何生成的。

对于 phone-home network 请求, C & C 将使用 “” 或命令列表进行响应。如果 tRat 收到 “” ,它将 “[G]” 作为响应。虽然这看起来像命令轮询,但命令列表、命令和模块数据的准确格式是未知的。目前,我们认为 loader 中唯一支持的命令是 “MODULE” ,它至少包含一个模块名和导出名。为了接收模块, tRat 需要执行以下步骤: l 发送 “[GET_MODULE]” l 如果收到 “[WAIT_FOR_AUTH_INF]” ,则发送 AUTH_INF 数据 l 如果收到 “[WAIT_FOR_MODULE_NAME]” ,则发送模块名

l 响应可能是以下之一:

l “[ERR_MODULE_NOT_FOUND]” l “[[ACCESS_DENIED]]”

l 模块长度

l 如果收到的是模块长度,则发送一个 “[READY]”

l 接收模块

l 模块本身的加密方式与 C & C 通信类似,但似乎使用了随模块一起发送的不同密钥

l 解密后,模块将作为 DLL 加载,并使用收到的导出名执行

目前我们还没有观察到 C & C 提供的任何模块,因此我们不确定它们可能会添加哪些功能。

总结 鉴于 TA505 所发起活动的数量、频率和复杂程度,该组织往往会在电子邮件威胁领域掀起波澜。对于该组织而言,开始测试新的恶意软件并不是什么稀罕事,因为他们在过去的活动中已经使用了 BackNet 、 Cobalt Strike 、 Marap 、 Dreamsmasher 和 Bart 。另外,他们也曾使用过类似

Viewing all articles
Browse latest Browse all 12749

Trending Articles