导语:来自CSE Cybsec Z-Lab的研究人员分析了一系列新的恶意软件,这些恶意软件是APT28组织开展的一项新的间谍活动的一部分。

一、简介

最近,一系列新的恶意软件样本被提交到主要的在线沙箱。我们注意到一些提交给Virus Total的样本被一些专家归因溯源到俄罗斯APT28组织。

APT28组织(又名Fancy Bear,Pawn Storm,Sednit,Sofacy,和Strontium)至少从2007年以来一直活跃,针对全球的政府、军事和安全组织。该组织还参与了针对2016年美国总统选举的一系列攻击。

在研究人员DrunkBinary(Twitter ,@DrunkBinary)的帮助下,我们获得了一组样本,与我们拥有的样本进行比较,以发现是否存在臭名昭着的APT28后门的新变种X-Agent。

我们所分析的攻击是多阶段的,用Delphi编程语言(APT28在其他行动中使用的语言)编写的初始dropper恶意软件从Internet下载第二阶段有效载荷并执行它。有效载荷使用HTTPS协议与服务器通信,因此无法窃听其生成的恶意流量。

我们还分析了另一个恶意DLL,它显然与以前的样本无关,但与俄罗斯APT组织的其他有效载荷有许多相似之处。这个恶意软件对我们来说特别有意思,因为它与名为“marina-info.net”的命令和控制服务器通联,明确提到意大利军事公司Marina Militare。这导致我们猜测恶意代码是针对意大利Marina Militare或与之相关的其他实体而开发的。

最后一个DLL似乎与之前的样本完全没有关联,但进一步的调查使我们相信它是APT28在此行动中用来攻陷目标系统的附加组件。

APT28拥有丰富的武器库,由大量模块组成,包括我们分析的X-Agent的dll组件。X-Agent是注入受害计算机的持久有效载荷,几乎适用所有计算机操作系统,也可以通过添加开发的新ad-hoc组件来增强特定网络攻击。在我们的案例中,当新的攻击行动正在进行时,该组件已提交到在线沙箱。我们不能排除APT组织开发后门以针对特定组织,包括意大利Marina Militare或任何其他承包商。在分析中,我们无法将恶意dll文件直接连接到X-Agent样本,但相信它们都是APT28支持的协调良好的攻击的一部分。

连接到marina-info.net的DLL可能是仅在特定条件发生时触发的最后阶段的恶意软件,例如当恶意软件感染具有属于特定范围的IP地址的系统时。

二、发现的样本

在本节中,我们将报告调查中分析的所有样本。

狩猎俄罗斯APT28——对其一系列新的恶意软件分析-孤独常伴

狩猎俄罗斯APT28——对其一系列新的恶意软件分析-孤独常伴

狩猎俄罗斯APT28——对其一系列新的恶意软件分析-孤独常伴

狩猎俄罗斯APT28——对其一系列新的恶意软件分析-孤独常伴

狩猎俄罗斯APT28——对其一系列新的恶意软件分析-孤独常伴

狩猎俄罗斯APT28——对其一系列新的恶意软件分析-孤独常伴

三、四个可执行文件背后隐藏着相同的恶意软件

在我们调查的新攻击行动中,上一节中列出的前四个可执行文件被用作感染媒介。样本显示为不同的有效载荷,但进一步的基本静态分析使我们发现它们是相同的恶意软件样本:

· 前两个样本是相同的,唯一的区别是第二个样本使用UPX工具打包。解压缩后,我们发现了相同的有效载荷以及与第一个样本相同的散列

· 第三个和第四个也是相同的,不同之处在于第四个是使用UPX工具打包的。

· 我们有两个不同的样本,然后能够从第二个系列中提取2个文件:经典的“.lnk”文件和“jpg”文件。

狩猎俄罗斯APT28——对其一系列新的恶意软件分析-孤独常伴

图1 – 提取的文件

这些文件似乎是经典的img和链接,但实际上jpg文件是第二个示例的可执行文件,并且在链接文件中隐藏了以下命令:

1. upnphost.exe

执行该文件后,它会联系IP 45.124.132.127,定期发送在操作系统上使用命令行“cmd.exe / c tasklist&systeminfo”收集的一些信息。

根据WHOIS记录,该服务器位于香港:

狩猎俄罗斯APT28——对其一系列新的恶意软件分析-孤独常伴

使用POST方法通过HTTPS通信将信息发送到命令和控制服务器。

狩猎俄罗斯APT28——对其一系列新的恶意软件分析-孤独常伴

图2 – 嗅探的POST流量

一旦恶意软件将有关主机配置的信息发送到C2,它将下载另一个文件upnphost.exe,该文件是最终的有效载荷,存储路径为“%APPDATA%\Local\Temp”。

此外,可执行文件通过设置注册表项来实现持久性机制:

狩猎俄罗斯APT28——对其一系列新的恶意软件分析-孤独常伴

图3 – 持久性机制的注册表项

另一个文件与位于拉脱维亚的另一个命令和控制服务器46.183.218.37通联:

狩猎俄罗斯APT28——对其一系列新的恶意软件分析-孤独常伴

图4 – 关于46.183.218.37的Whois信息

2.我们提交给VirusTotal

我们还发现upnphost.exe文件是由我们提交给Virus Total的,可能是因为dropper实现了evasion技术。

为了分析dropper,我们修补了它。应用修补程序后,我们就能够分析恶意软件的完整恶意行为。

狩猎俄罗斯APT28——对其一系列新的恶意软件分析-孤独常伴

图5 – dropper的补丁点

恶意代码开始联系前面提到的命令和控制服务器并下载“upnphost.exe”文件。

下面是我们获取的在VirusTotal上提交的修补版本的结果:

狩猎俄罗斯APT28——对其一系列新的恶意软件分析-孤独常伴

图6  –  VirusTotal得分

3.AutoIt 脚本

使用AutoIt语言编写的脚本管理与命令和控制服务器的通信。此脚本作为资源嵌入upnphost.exe文件中,并在启动时与HTTPS中的其他服务器通信,发送有关受害者计算机的一些信息。

狩猎俄罗斯APT28——对其一系列新的恶意软件分析-孤独常伴

图7 – 一段反编译代码

上图显示了一段AutoIt脚本的反编译代码,其中IP地址和路径以及用户代理使用十六进制编码伪装。

解码参数后,我们获取了用于通联C&C的IP地址,路径和用户代理,并发回有关目标系统的信息。

狩猎俄罗斯APT28——对其一系列新的恶意软件分析-孤独常伴狩猎俄罗斯APT28——对其一系列新的恶意软件分析-孤独常伴

另一个特点是提供HTTPS通信代码的函数的名称。其名称为checkupdate(),似乎恶意软件被指示定期联系C&C等待新命令。

下图显示了多阶段攻击:

狩猎俄罗斯APT28——对其一系列新的恶意软件分析-孤独常伴

图8 – 多阶段攻击方案

4.sdbn.dll

此文件是从威胁情报平台获取的,并被标记为APT28样本,如同之前的文件。目前尚不清楚此样本是否与之前的样本相关联,但它可能属于同一个感染行动,因为它是在几个在线沙箱中的同一时间段上传的。

与之前文件的另一个共同特点是,它是用Delphi编程语言编写的,就像四个初始dropper文件一样。很难找到用Delphi语言编写的恶意软件,但其他安全公司之前进行的调查证实,APT28组已经在过去的攻击行动中使用过该语言编写的恶意软件。

从sdbn.dll的分析中得出的最重要的证据是,它联系了域名:marina-info.net,明确提到了意大利语Marina Militare。该域名已解析为位于荷兰的IP 191.101.31.250:

狩猎俄罗斯APT28——对其一系列新的恶意软件分析-孤独常伴

图9 – 关于“marina-info.net”的Whois

在本样本中,也通过使用HTTPS协议来执行与C2的通信。我们发现了至少有三条与自定义用户代理标头联系的路径:

狩猎俄罗斯APT28——对其一系列新的恶意软件分析-孤独常伴

表1 – 发现的URL和路径

与upnphost.exe恶意软件一样,此可执行文件会定期联系命令控制服务器等待新命令。但是,我们发现服务器始终响应403状态代码,对恶意软件本身发送的请求也是如此。

狩猎俄罗斯APT28——对其一系列新的恶意软件分析-孤独常伴

图10 – 来自C2C的响应

这种行为可能是服务器实施的服务器端控制的结果,只允许来自特定IP地址的请求,或者只是被攻击者故意禁用,可能是因为他们认为已经被受害者或安全人员发现。它可能是攻击者实施的安全机制,应对安全公司进行严格的调查。此外,我们决定进一步调查VirusTotal上这个新文件的检测率。当我们开始分析它时为零,这意味着威胁完全未被发现,目前恶意代码的检测率为35/65。

四、攻击地图

在本节中,我们展示威胁图,其中包含我们分析的样本所通联的各种IP地址。

狩猎俄罗斯APT28——对其一系列新的恶意软件分析-孤独常伴

图11 – 威胁地图

正如我们所看到的,黑客组织所覆盖的攻击面非常宽:欧洲有两个不同的C2C,另一个在中国,用于误导分析,这会在重建完整的网络攻击时造成混乱。

Yara rules