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

攻防最前线:黑客团伙TA505利用垃圾邮件散布远控木马tRat

0
0

攻防最前线:黑客团伙TA505利用垃圾邮件散布远控木马tRat

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

活动分析

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


攻防最前线:黑客团伙TA505利用垃圾邮件散布远控木马tRat

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


攻防最前线:黑客团伙TA505利用垃圾邮件散布远控木马tRat

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

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

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

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


攻防最前线:黑客团伙TA505利用垃圾邮件散布远控木马tRat

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

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


攻防最前线:黑客团伙TA505利用垃圾邮件散布远控木马tRat

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

tRat分析

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

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

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

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

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

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

"Fx@%gJ_2oK" "AC8FFF33D07229BF84E7A429CADC33BFEAE7AC4A87AE33ACEAAC8192A68C55A6" "&LmcF#7R2m"

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

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

MfB5aV1dybxQNLfg:D29A79D6CD2F47389A66BB5F2891D64C8A87F05AE3E1C6C5CBA4A79AA5ECA29F8E8C8FFCA6A2892B8B6E

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

FASHYEOHAL/nXAiDQWdGwORzt:3A176D130C266A4D

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

对于phone-home network请求,C&C将使用“”或命令列表进行响应。如果tRat收到“”,它将“[G]” 作为响应。虽然这看起来像命令轮询,但命令列表、命令和模块数据的准确格式是未知的。目前,Proofpoint认为loader中唯一支持的命令是“MODULE”,它至少包含一个模块名和导出名。为了接收模块,tRat需要执行以下步骤: 发送“[GET_MODULE]” 如果收到“[WAIT_FOR_AUTH_INF]”,则发送AUTH_INF数据 如果收到“[WAIT_FOR_MODULE_NAME]”,则发送模块名 响应可能是以下之一: “[ERR_MODULE_NOT_FOUND]” “[[ACCESS_DENIED]]” 模块长度 如果收到的是模块长度,则发送一个“[READY]” 接收模块 模块本身的加密方式与C&C通信类似,但似乎使用了随模块一起发送的不同密钥 解密后,模块将作为DLL加载,并使用收到的导出名执行

Proofpoint表示,目前还没有观察到C&C提供的任何模块,因此他们无法确定有哪些功能可能会被添加。

总结

鉴于TA505所发起活动的数量、频率和复杂程度,该组织往往会在电子邮件威胁领域掀起波澜。对于该组织而言,开始测试新的恶意软件并不是什么稀罕事,因为他们在过去的活动中已经使用了BackNet、Cobalt Strike、Marap、Dreamsmasher和 Bart 。另外,他们也曾使用过类似 Locky 这样的新型恶意软件,以及一些分布并不广泛的恶意软件,如 FlawedAmmyy 。此外,他们在今年对RAT的使用反映了出一种更为广泛的向loader、窃取程序和其他恶意软件的转变。这些恶意软件被设计用于驻留在受感染设备上,并为威胁行为者提供长期的投资回报。

声明:本文来自黑客视界,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如需转载,请联系原作者获取授权。


Viewing all articles
Browse latest Browse all 12749