内容简介:TA505是Proofpoint一直关注的攻击组织,该组织从2014年开始活跃。最近,研究人员发现该组织在传播一些远程访问木马(remote access Trojans,RATs)和其他收集、加载和监控的工具。tRAT就是其中一款恶意软件,该恶意软件是模块化的RAT,用Delphi语言编写。本文价绍对该恶意软件参与的攻击活动和恶意软件进行分析。2018年9月,Proofpoint检测到一起垃圾邮件攻击活动中使用启动宏的恶意word文档来下载之前没有记录过的RAT。恶意文档滥用Norton品牌,伪装为安全
TA505是Proofpoint一直关注的攻击组织,该组织从2014年开始活跃。
最近,研究人员发现该组织在传播一些远程访问木马(remote access Trojans,RATs)和其他收集、加载和监控的工具。tRAT就是其中一款恶意软件,该恶意软件是模块化的RAT,用Delphi语言编写。本文价绍对该恶意软件参与的攻击活动和恶意软件进行分析。
攻击活动
2018年9月,Proofpoint检测到一起垃圾邮件攻击活动中使用启动宏的恶意word文档来下载之前没有记录过的RAT。恶意文档滥用Norton品牌,伪装为安全产品保护的文档。消息中的主题使用了社会工程技术,启用了嵌入宏来安装tRAT。
图1: 9月27日攻击活动中的诱饵文件
图2: 9月27日攻击活动中的TripAdvisor诱饵
10月11日,研究人员发现一起由TA505传播tRAT的垃圾邮件活动。攻击活动非常复杂,使用了Microsoft Word和Publisher文件,攻击目标主要是商业银行的用户。
攻击活动中使用了不同邮件地址来发送信息,主题行的格式为:Inovice (sic) [random digits] – [random digits],附件名为inv-399503-03948.pub。含有恶意word附件的邮件地址来自Vanessa Brito,但显示不同的发件地址,消息中的附件名report.doc。
图3:10月11日的垃圾邮件样本
在所有的样本中,附件都含有宏,启用宏后就会下载tRAT。
图4: 10月11日的样本诱饵文档
恶意软件分析
下面分析tRat恶意软件。研究人员分析样本发现,恶意软件会复制二进制文件到以下路径来保持驻留:
C:\Users\<user>\AppData\Roaming\Adobe\Flash Player\Services\Frame Host\fhost.exe
然后,tRat会在开始菜单创建一个LNK文件在系统启动后执行二进制文件:
C:\Users\<user>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\bfhost.lnk
大多数tRat的重要字符串都是加密保存并十六进制编码的。用来解密字符串的 python 脚本位于GitHub: https://github.com/EmergingThreats/threatresearch/blob/master/tRat/decrypt_str.py 。
tRat使用TCP 80端口进行C2通信,数据是加密存储的,十六进制编码传输。为了生成解密密钥,tRAT会将3个字符串拼接起来,结果就是大写十六进制编码的。样本中的字符串如下所示:
"<a href="/cdn-cgi/l/email-protection" data-cfemail="0a4c724a">[email protected]</a>%gJ_2oK" "AC8FFF33D07229BF84E7A429CADC33BFEAE7AC4A87AE33ACEAAC8192A68C55A6" "&LmcF#7R2m"
目前还不清楚不同样本中的字符串是不是一样。除了生成key以外,tRat在解密过程中会用1536字节的表。截至目前,研究人员还不能确定表中元素的意义和是否改变。但可以确定的是解密过程使用了表中数据和加密数据的XOR值。表的索引是基于key值的,样本中的表和python脚本都在Github上可以看到,也可以用于解密通信。
tRat的初始网络请求叫做AUTH_INF,解密示例如下:
MfB5aV1dybxQNLfg:D29A79D6CD2F47389A66BB5F2891D64C8A87F05AE3E1C6C5CBA4A79AA5ECA29F8E8C8FFCA6A2892B8B6E
字符串中含有2个子字符串,是用:分开的。第一个子字符串是以加密字符串形式保存的硬编码的id;第二个子字符串含有加密的系统数据,如下所示:
FASHYEOHAL/nXAiDQWdGwORzt:3A176D130C266A4D
这些数据含有受感染主机的计算机名、系统用户名和tRat bot ID,但研究人员目前还不清楚bot ID是如何生成的。
为了响应AUTH_INF,C2会用[P]或命令列表响应。如果tRat收到[P],就会响应[G]。这看着像轮询命令,但是命令列表的格式、命令、模块数据都是未知的。目前,研究人员相信loader中唯一支持的命令就是MODULE,其中含有一个模块名和一个输出名。为了接收模块,Trat会顺序执行以下动作:
·发送"[GET_MODULE]"
· 如果接收到"[WAIT_FOR_AUTH_INF]",发送AUTH_INF数据
· 如果接收到"[WAIT_FOR_MODULE_NAME]",发送模块名
· 响应可以包括以下内容之一:
· "[ERR_MODULE_NOT_FOUND]"
· "[ACCESS_DENIED]"
· 模块长度
· 如果接收到模块长度,就发送"[READY]”
· 接收模块
· 该模块使用的加密与C2通信相似,但是使用的key不同
· 解密后,模块会以DLL加载,并使用接收到的export名执行。
目前研究人员还没有发现C2传输的模块,所以不确定恶意软件增加了什么功能。
总结
TA505因为其攻击的体量、频率和复杂性,一度改变邮件威胁情景。研究人员最近发现其新的邮件攻击活动中使用了Locky这样的恶意软件和FlawedAmmyy这样不太常用的恶意软件。
以上所述就是小编给大家介绍的《tRat:新模块化RAT》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Android模块化改造以及模块化通信框架
- Laravel 模块化开发模块 – Caffienate
- 前端模块化架构设计与实现(二|模块接口设计)
- 模块化编程的实践者 disconver 更新了用户模块
- ASP.NET Core模块化前后端分离快速开发框架介绍之4、模块化实现思路
- JavaScript模块化
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Code Reading
Diomidis Spinellis / Addison-Wesley Professional / 2003-06-06 / USD 64.99
This book is a unique and essential reference that focuses upon the reading and comprehension of existing software code. While code reading is an important task faced by the vast majority of students,......一起来看看 《Code Reading》 这本书的介绍吧!