再看Zebrocy:APT28通过Delphi后门执行了哪些命令?

当受害者遭后门入侵并被攻击者控制时会发生什么?这是一个很难回答的问题,即使通过****代码也难以完全解析。而在本文中,我们将分析Sednit组织在近期行动中发送到目标的命令。

Sednit组织,也被称为APT28, Fancy Bear(奇幻熊), Sofacy 或STRONTIUM,是一个自2004年以来运行的攻击组织,其主要目的是窃取目标的机密信息。他们的行动在过去几年中经常成为头条新闻。

去年九月,我们披露了一个名为LoJax的UEFI rootkit的存在,并将其归于Sednit组织。UEFI rootkit允许黑客在目标计算机上植入持久性恶意软件,这些恶意软件能在硬盘驱动器擦除后继续存在。此次发现也表明Sednit可以使用非常复杂的工具来进行间谍活动。

三年前,Sednit组织在中东和中亚各国传播了一类恶意软件新组件——Zebrocy。从那时起,组件的数量和多样性开始急剧增加。我们的研究人员和其他安全研究机构的同行们对这些组件做了很多研究,不过在本文中,我们将重点关注受害者系统运行了Zebrocy Delphi后门后,攻击者的举动。

“熊”的诱饵

在2018年8月底,Sednit组织发起了一项鱼叉式网络钓鱼电子邮件活动,邮件中包含的短链接会跳转到Zebrocy组件第一阶段恶意软件的下载站点。在过去,Sednit也使用过类似的技术进行凭证钓鱼,但是使用此技术直接传递其恶意软件组件的行为是不常见的,在这之前,Sednit一般只利用漏洞来传递和执行第一阶段的恶意软件,而在此项行动中,Sednit则完全依靠社交工程来吸引受害者进入感染链。图1中显示了Sednit在此系列行动中使用的短链的Bitly统计信息。

再看Zebrocy:APT28通过Delphi后门执行了哪些命令?

图1.Bitly URL的统计信息

在创建URL的同一周内,这个链接记录了大约20次点击,不过实际下载数应该是少于20个的,因为可能有点击两次甚至多次的情况发生。

虽然遥测数据显示该URL是通过鱼叉式钓鱼邮件发送的,但我们没有此类邮件的样本,无法了解攻击者的意图。下载的档案包含两个文件:第一个是一个可执行文件,而第二个是一个诱饵PDF文档。中国菜刀

再看Zebrocy:APT28通过Delphi后门执行了哪些命令?

图2.从存档中提取的文件(乌克兰语的“CATALOGUE – (2018).exe”和“Order 97.pdf”)

请注意,可执行文件的文件名中存在拼写错误——应该是“ДОВIДНИК”而不是“ДОВIДНIК”。 执行二进制文件后,会弹出一个密码提示的对话框,密码验证的结果总是显示错误,但在几次尝试验证之后会打开诱饵PDF文档。该文档看似是空的,实际使用Delphi编写的下载器继续在后台运行。在硬编码到第一个二进制下载器的URL中也使用了IP地址。

“熊”的巢穴

第一阶段的下载程序将下载并执行一个用C ++编写的新下载器,它与其他Zebrocy下载器没有太大区别,之后该下载器将创建ID并下载一个新后门,此后门由Delphi编写。

正如我们在最近关于Zebrocy的博文中所解释的那样,后门的配置存储在资源部分中,并分为四个不同的十六进制编码的加密数据块,各个数据块包含不同部分的配置。

再看Zebrocy:APT28通过Delphi后门执行了哪些命令?

图3.包含不同部分配置的数据块

一旦后门发送出受害者系统的基本信息,攻击者就会控制后门并立即开始发送命令。下载程序运行后与攻击者发送的第一个命令之间的时间间隔仅为几分钟。

捕获“熊”的踪迹

在本节中,我们将更详细地描述攻击者通过Delphi后门手动执行的命令。天空彩

可用的命令位于前面提到的一个配置数据块中(图3中的“commands”数据块),命令数量随着版本的迭代而增加,在最新版本的后门中支持的命令超过了30个。由于我们没有按照调用命令的顺序识别模式,因此我们认为攻击者是手动执行它们的。

第一组命令收集有关受害者计算机和环境的信息:

再看Zebrocy:APT28通过Delphi后门执行了哪些命令?

上述命令通常在攻击者首次连接到新**的后门时执行。它们的Argument都为空,不过光看名称也不言自明。在这些后门被**后不久通常会执行其他的命令,如下:

再看Zebrocy:APT28通过Delphi后门执行了哪些命令?

那些已经读过我们之前关于Zebrocy的文章的读者会注意到,前几个阶段会一次又一次地发送或多或少相同类型的信息。信息是在初始入侵后几分钟内请求的,攻击者将不得不处理相当大的数据量。

为了收集更多的信息,Zebrocy的操作人员会不时地在受害者的机器上上传和使用dumper。目前的dumper与该组织以前使用的dumper有一些相似之处。在本例中,Yandex Browser、Chromium、7Star Browser(一种基于chrome的浏览器)和CentBrowser以及从1997年到2016年版本的Microsoft Outlook都是目标:

再看Zebrocy:APT28通过Delphi后门执行了哪些命令?

这些dumper通过创建日志文件来指示是否存在要转储的潜在数据库:

再看Zebrocy:APT28通过Delphi后门执行了哪些命令?

当没有要转储的数据库时,当前dumper包含以下输出:

%LOCALAPPDATA%\Yandex\YandexBrowser\User Data\Default\Login Data not found
%LOCALAPPDATA%\Chromium\User Data\Default\Login Data not found
%LOCALAPPDATA%\7Star\7Star\User Data\Default\Login Data not found
%LOCALAPPDATA%\CentBrowser\User Data\Default\Login Data not found

这些dumper一旦完成工作就会被迅速删除。此外,后门还包含一个与下面列出的软件证书相关的文件名列表(数据库名):二四六

再看Zebrocy:APT28通过Delphi后门执行了哪些命令?

如果这些数据库存在于受害者的计算机上,操作人员将负责检索它们。

再看Zebrocy:APT28通过Delphi后门执行了哪些命令?

操作人员使用DOWNLOAD_LIST命令在机器上检索这些文件。最后,根据攻击者对受害者的感兴趣程度,决定是否部署另一个自定义后门。这个后门是使用CMD_EXECUTE命令执行的:

再看Zebrocy:APT28通过Delphi后门执行了哪些命令?

这里有一些有趣的地方, 首先,攻击者使用COM对象劫持来保证恶意软件在系统上的持久性,哪怕自定义后门只需要安装几个小时;其次,自定义后门的C&C使用的是十六进制编码的字符串,而Delphi后门的C&C嵌入在配置中。

两个Delphi后门非常相似,但也有一些不一样的调整:

再看Zebrocy:APT28通过Delphi后门执行了哪些命令?

我们当前还不清楚做这个定制后门的目的,但它与之前的常规后门相比,检测率明显较低。这个后门在系统上运行的时间非常短,这使得检索变得更加困难,而且一旦它的操作者完成目的,他们很快就会将其移除。

总结

通过对攻击者在野外使用命令的观察,能够表明他们正在收集关于受损目标的大量信息,而且也不关心数据是否存在大量重复,并且从带有自定义配置和模块的后门被非常小心地部署的过程中也能看出,攻击者准备了一些预防措施,以避免最终落入研究人员之手。

第一组命令是相同的,并且在很短的时间内执行,这就提出了另一个问题:它是自动执行的吗?

IoC

分发恶意软件第一部分的链接:

http://45.124.132[.]127/DOVIDNIK - (2018).zip

C&C服务器:

http://45.124.132[.]127/action-center/centerforserviceandaction/service-and-action.php

SHA-1和ESET的检测名称:

48f8b152b86bed027b9152725505fbf4a24a39fd – Win32/*Downloader.Sednit.CMT

1e9f40ef81176190e1ed9a0659473b2226c53f57 – Win32/HackTool.PSWDump.D

bfa26857575c49abb129aac87207f03f2b062e07 – Win32/PSW.Agent.OGE

各模块具体ID、名称、功能和详细信息请见文章末端附录表