Turla的新武器—TinyTurla

Turla 也被称为 Snake、Venomous Bear、Uroburos 和 WhiteBear,是一个臭名昭著的 APT 组织。据信该组织来自俄罗斯,2004 年以来就一直活跃。

多年来,Turla 开发并维护了一套庞大的攻击工具来攻击世界各地的受害者,包括欧洲、美国、乌克兰和阿拉伯等多家。

Turla 通常不与 C&C 服务器直接通信,而是使用其他失陷主机作为代理,将流量转发到真正的 C&C 服务器上。

不仅诸如 Crutch 或 Kazuar 之类的知名恶意软件与 Turla 有关,近期发生的 Sunburst 也与 Turla 存在关联。

思科发现了一个 Turla 使用的新后门,该后门功能有限且编码风格简单,检测系统很容易放过它。根据遥测,该后门至少在 2020 年就开始使用了。分析发现,在西方撤军导致塔-利-班接管阿富汗政府前,该后门针对前阿富汗政府攻击。

技术细节

思科通过遥测发现了后门,但是并不知道确切的安装方式。后门以名为 w64time.dll的 DLL 形式出现,描述和文件名看起来像是正常的微软程序。

Turla的新武器—TinyTurla_第1张图片

 

在 %SYSTEMROOT%\system32目录下有真正的正统文件 w32time.dll,但并没有 w64time.dll。Windows 系统有很多 32 位和 64 位的应用程序,通过名称来识别恶意软件并不容易。

Turla的新武器—TinyTurla_第2张图片

 

攻击者使用类似以下的 .bat文件将后门安装成看起来很正常的 Windows 时间服务。

Turla的新武器—TinyTurla_第3张图片

 

恶意软件会作为服务运行,隐藏在 svchost.exe进程中。DLL 的 ServiceMain函数主要是为了执行 main_malware,其中包含后门的代码。

Turla的新武器—TinyTurla_第4张图片

 

首先,后门从注册表中读取配置并保存在 result结构体中,后续传递给 sConfig

Turla的新武器—TinyTurla_第5张图片

 

整个 DLL 文件非常简单,主要有几个函数和循环组成。

Turla的新武器—TinyTurla_第6张图片

 

首先在 C&C 服务器上注册,解析响应接收命令。C&C 服务器地址以  的格式存储在注册表中,空格为分隔符。

Turla的新武器—TinyTurla_第7张图片

 

如果所有的 C&C 服务器都没有得到预期的响应,host_index等于零。后门等待存储在 注册表中的毫秒数,捕获的样本时长为一分钟,再进行请求。

成功建立连接后,后门将每隔 毫秒就检查命令下发。

C2_GetCommand_ComHandler处理与 C&C 服务器的通信,利用类似于 Windows WinHttp API 接收 C&C 命令及其参数。

 

即使攻击者使用 TLS 加密流量,后门程序也不检查证书。

image.png-26.7kB

程序只验证存储在 Security注册表中的密码,在 C2_ProcessCommand函数的起始处就进行检查。

Turla的新武器—TinyTurla_第8张图片

 

C2_ProcessCommand在接收到命令后使用 switch 处理相关命令。

Turla的新武器—TinyTurla_第9张图片

 

其功能如下所示:

0x00:身份验证

0x01:执行进程

0x02:执行收集输出

0x03:下载文件

0x04:上传文件

0x05:创建子进程

0x06:关闭子进程

0x07:子进程管道输入/输出

0x08:设置 TimeLong

0x09:设置 TimeShort

0x0A:设置新的'Security'密码

0x0B:设置 Host

在 HTTP 的头中设置 Title与 GUID 配对,例如 Title: 01234567-1234-1234-1234-123456789abc

 

结论

Turla 作为 APT 组织已经活跃多年,他们经常使用复杂的恶意软件。本次思科将该后门归因为 Turla 是因为攻击基础设施的重用。

尽管 Turla 被密切监控,该后门程序仍然被使用了两年,这表明检测能力仍有改进的空间。

Yara

import "pe"
rule TinyTurla {
meta:
author = "Cisco Talos"
description = "Detects Tiny Turla backdoor DLL"
strings:
b = "Hosts" fullword wide
d = "TimeLong" fullword wide
f = "MachineGuid" fullword wide
h = "WinHttpSetOption" fullword ascii
$i = "WinHttpQueryDataAvailable" fullword ascii

condition:
pe.is_pe and
pe.characteristics & pe.DLL and
pe.exports("ServiceMain") and
all of them
}

IOC

030cbd1a51f8583ccfc3fa38a28a5550dc1c84c05d6c0f5eb887d13dedf1da01

参考来源

TalosIntelligence

你可能感兴趣的:(网络安全,系统安全,web安全,安全架构,安全)