Turla 也被称为 Snake、Venomous Bear、Uroburos 和 WhiteBear,是一个臭名昭著的
APT组织据信该组织来自俄罗斯 2004 年以来就一直活跃。
多年来,Turla 开发并维护了一套庞大的攻击工具来攻击世界各地的受害者包括欧
洲美国 乌克兰和阿拉伯等多家。
Turla 通常不与 C&C 服务器直接通信,而是使用其他失陷主机作为代理将
流量转发到真正的 C&C服务器上。
不仅诸如 Crutch 或 Kazuar 之类的知名恶意软件与 Turla 有关近期发生的
Sunburst 也与 Turla 存在关联。
作者发现了一个 Turla 使用的新后门,该后门功能有限且编码风格简单 检测系统很容易放过
它根据遥测 该后门至少在 2020 年就开始使用了。分析发现 在西方撤军导致塔-利-班接管阿
富汗政府前。该后门针对前阿富汗政府攻击。
技术细节
作者通过遥测发现了后门,但是并不知道确切的安装方式后门以名为 w64time.dll的
DLL形式出现描述和文件名看起来像是正常的微软程序。
在 %SYSTEMROOT%\system32目录下有真正的正统文件 w32time.dll 但并没有 w64time.dllWindows
系统有很多 32 位和 64 位的应用程序。通过名称来识别恶意软件并不容易。
攻击者使用类似以下的 .bat文件将后门安装成看起来很正常的 Windows 时间服务。
恶意软件会作为服务运行 隐藏在 svchost.exe进程中。DLL 的 ServiceMain函数主要是
为了执行 main_malware,其中包含后门的代码。
首先,后门从注册表中读取配置并保存在 result结构体中 后续传递给 sConfig。
整个 DLL 文件非常简单 主要有几个函数和循环组成。
首先在 C&C 服务器上注册 解析响应接收命令。C&C 服务器地址以 <IP 地址1> <TcpPort> <IP
地址2> <TcpPort> <IP地址3> <TcpPort>的格式存储在注册表中 空格为分隔符。
如果所有的 C&C 服务器都没有得到预期的响应,host_index等于零。后门等待存储在 <TimeLong>注
册表中的毫秒数,捕获的样本时长为一分钟 再进行请求。
成功建立连接后 后门将每隔 <TimeShort>毫秒就检查命令下发。
C2_GetCommand_ComHandler处理与 C&C 服务器的通信利用类似于
Windows WinHttp API 接收 C&C 命令及其参数。
即使攻击者使用 TLS 加密流量 后门程序也不检查证书。
程序只验证存储在 Security注册表中的密码在 C2_ProcessCommand
函数的起始处就进行检查。
C2_ProcessCommand在接收到命令后使用 switch 处理相关命令。
其功能如下所示:
0x00:身份验证
0x01:执行进程
0x02:执行收集输出
0x03:下载文件
0x04:上传文件
0x05:创建子进程
0x06:关闭子进程
0x07:子进程管道输入/输出
0x08:设置 TimeLong
0x09:设置 TimeShort
0x0A:设置新的'Security'密码
0x0B:设置 Host
在HTTP的头中设置 Title与 GUID 配对例如 Title: 01234567-1234-1
234-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
}