Joohn 是谁:Sofacy 组织(APT28)全球活动情况分析

概述

正如我们之前在分析 Cannon 工具的文章中所提到,Sofacy 组织(也称为 Fancy Bear、APT28、STRONTIUM、Pawn Storm、Sednit)从 2018 年 10 月中旬到 2018 年 11 月中旬期间,持续攻击了世界各地的政府和组织机构。他们所针对的大多数目标都是北约中的国家,当然还有一些前苏联国家。这些攻击主要通过部署 Zzebrocy 工具变种来实现。正如 ESET 之前报告的,交付文档中包含 Cannon 或 Zebrocy Delphi 变种。自从我们在 2015 年年中开始追踪 Zebrocy 以来,我们发现该工具的部署频率显著增加。与 Sofacy 组织的其他后门工具相比,Zebrocy 在攻击活动中的使用范围要更加广泛。

我们在这篇文章中,主要围绕着每个交付文档中共同的作者名称 Joohn 进行分析。我们最开始分析的样本,是以 crash list ( Lion Air Boeing 737 ) .docx 为文件名的交付文档,其中包含恶意 Zebrocy 工具。通过利用我们的 AutoFocus 威胁情报平台,以及从 VirusTotal 收集的数据,我们可以从其元数据和行为中发现 Cannon 工具的痕迹,以及其他许多交付文档、Payload 和目标。所有这些攻击的媒介似乎都是鱼叉式网络钓鱼,攻击者使用注册在合法电子邮件提供商的电子邮件帐户,而没有使用具有迷惑性的电子邮件地址或此前被入侵的帐户。这些邮箱帐户的名称看起来类似于合法的政府组织名称,或其他受信任的第三方实体。交付文档的功能完全相似,使用 Microsoft Word 中的远程模板功能,在第一阶段从 C&C 检索恶意宏,并加载和执行 Payload。大多数交付文档都包含一个通用的诱导图像,要求受害者启用宏,攻击者似乎仅仅依靠文件名来诱导受害者启动恶意文档。

我们截获了 2018 年 10 月 17 日至 2018 年 11 月 15 日期间的 9 个武器化文档,这些文档的作者都是 Joohn,并且这些文档中都包含 Zebrocy 或 Cannon 恶意软件的变种。被感染用户的范围横跨四大洲,上至联邦机构,下至地方政府,都在被感染的范围之中。此外,我们还使用收集到的数据进行了时间轴分析,从而更加清楚地看到 Sofacy 组织在 Dear Joohn 恶意活动中如何开展他们的攻击,以及如何使用自动化工具来执行攻击。

攻击细节

从 2018 年 10 月 17 日开始,我们共收集到 9 份交付文档,这些文档被发送到世界各地的众多组织,其中包括北美的外交事务组织、欧洲的外交事务组织以及前苏联国家的政府实体。我们还发现了疑似针对全球执法机构发动攻击的证据,包括北美、澳大利亚和欧洲。我们的监测还显示了该恶意组织疑似针对非政府组织、营销公司和医疗行业组织发动攻击。这些攻击的媒介都是鱼叉式网络钓鱼,使用在电子邮件提供商 Seznam 注册的免费邮箱发送恶意邮件。Seznam 是一家位于捷克的大型网络服务提供商。

在此次活动中,Sofacy 组织依靠文件名来诱导受害者打开武器化文档。文档的文件名涉及英国脱欧、狮航飞机坠毁、以色列火箭袭击等热点事件。我们搜集到的完整文件名列表可在下文中看到。尽管文件名具有高度针对性,并且与受害者相关,但文档的实际诱导内容是通用的,如下图所示。

2018 年 11 月,恶意组织改变了战术,开始将武器化文档改为非通用式的诱导内容。我们收集了 3 个主要针对北约国家发动攻击的样本,它们使用了 3 种不同的诱导方式,如下图所示。

在其中的一份文档中,攻击者向受害者提供了一份经过模糊处理后的文件,其中包含北约 EOD 印章和文字说明,暗指目标国家。在解压缩并打开文档后,可以看到未经模糊处理的图像与北约研讨会相关。其中的两个文件之间非常相似,都是首先显示乱码的文本,然后指导受害者如何正确查看文件。有趣的是,其中的一个文件中包含俄语的说明,这可能表明其针对的目标是使用俄语的国家。

这些武器化文档都使用相同的策略发动攻击。在打开文档后,利用 Microsoft Word 中的功能检索远程模板,并加载恶意宏文档,如下图所示。

如果 C&C 服务器在打开文档时处于活动状态,那么将成功检索到恶意宏,并将其加载到同一个 Microsoft Word 会话中。然后,与任何恶意宏文档一样,受害者将看到 " 启用内容 " 的提示,如下图所示。如果此时 C&C 服务器没有处于活动状态,那么下载将会失败,受害者不会收到 " 启用内容 " 的提示,也不会下载恶意宏。

归类

在 10 月和 11 月期间使用的交付文档之间存在大量相似之处,如下表所示,这样就能让我们将这些活动拼凑在一起。最值得注意的是,作者名称 Joohn 在每份交付文档中反复使用。在 11 月收集到的文档中,尽管最后一次修改者的名称为 Joohn,但创建者变成了默认的 USER 用户。

上述交付文档检索到的远程模板文档,也具有相同的作者名称,即 xxx。下表展示了此次攻击活动中交付文档下载的远程模板。在本报告中的表格和文本中,为了提高可读性,我们只给出了 SHA256 哈希值的前几位,完整的哈希值和元数据请在这里查询 CSV 文件(https://github.com/pan-unit42/iocs/blob/master/dearjoohn/dearjoohn_iocs.csv)。

如上面表格所示,交付文档从 4 个 C&C 服务器访问其各自的远程模板,C&C 副武器的 IP 地址如下:

185.203.118 [ . ] 198

145.249.105 [ . ] 16

188.241.58 [ . ] 170

109.248.148 [ . ] 42

这些初始 C&C IP 地址不仅托管了随后加载第一阶段 Zebrocy 或 Cannon Payload 的远程模板,还托管了第一阶段 Payload 本身。在 Dear Joohn 恶意活动中,使用的所有 C&C 服务器都是基于 IP 地址的,并且这些 IP 地址与此前 Zebrocy 或 Sofacy 恶意活动中使用的 IP 没有重复或相关性。Dear Joohn 恶意活动的直观示意图如下所示。

我们根据收集到的数据,创建恶意活动的时间表,发现有两次集中的攻击活动,分别集中在 10 月中下旬和 11 月中旬,如下图所示,其时间戳如下表所示。

根据我们获得的时间戳,最初在 2018 年 9 月 11 日 04:22(UTC)创建了四份交付文档。然后,在 2018 年 10 月 13 日 08:21 对这四个文件进行了修改。此次改动将三个不同的 C&C 位置嵌入这些交付文档之中,从而可以指示使用自动化工具,经过改动后的交付文档的时间戳仍然完全相同。使用基于命令行的渗透测试工具包(例如 Phishery)可以允许攻击者利用简单的脚本,使用不同的输入同时生成多个文档。从文档编辑完成,到这些文档首次出现在野外,平均有 2 周的时间间隔。总体来说,这四份文档从最初创建到发动攻击,平均需要经过 46 天。基于 Dear Joohn 恶意活动中模块化攻击的特点,以及从最初创建到实际发动攻击经历的漫长时间,我们认为 Payload 或基础架构还需要额外的开发,并不能直接进行部署。另外一种可能的情况是,攻击者可能已经有了自己的攻击计划,希望在特定的时间范围内执行攻击,时间线可以佐证这一推断,他们有两次集中的攻击活动,一次发生在 2018 年 10 月中下旬,另一次是 2018 年 11 月中旬。随着恶意活动的推进,Dear Joohn 恶意活动的节奏不断加快,从文件创建到首次在野外发现的时间间隔降至平均 2 天。

我们将交付文档的时间戳与远程模板文档的时间戳进行比较,发现攻击时间与最后一次修改模板的时间直接相关。平均而言,运营者最后一次修改模板文档到首次在野外观察到交付文档之间的时间间隔为 13.8 小时。这样一来,我们相信交付文档确实是分阶段来生成的,首先是创建初始文档,然后对其进行修改从而可以与 C&C 服务器通信,最后在实际发起攻击前生成远程模板文档。

但是,借助于时间戳的分析并不一定是真实的。例如,文件名为 Rocket attack on Israel.docx(SHA256:34bdb5b364 …)的文档中就包含相互矛盾的创建时间和最后一次修改时间。根据时间戳,其创建时间位于最后一次修改时间之后。针对这种情况,一种可能的解释就是文档被复制到系统时间设置不正确的另一个系统上,然后以不正确的时间保存。该文档也是 11 月中旬的攻击中所使用的以 USER 用户创建、以 Joohn 用户修改的文件之一,这个情况进一步支持了我们的推断。

Payload

攻击活动中的交付文档负责加载远程模板,远程模板中的恶意宏负责安装第一阶段的 Payload 变种。除了 Cannon 工具之外,第一阶段中还利用了 Zebrocy 木马的几乎所有变种。这一恶意活动中提供的 Zebrocy 变种,是以几种不同的语言编写而成的,其中包括 Delphi、C# 和 VB.NET。有关第一阶段 Payload 的具体信息,如下表所示。

在此次攻击活动中所使用的 Zebrocy 的 Delphi 变种,与我们之前在 2018 年 6 月发表的 Zebrocy 分析文章中提及的 Delphi 下载工具非常相似。尽管这个 Delphi 变种是已知的,但此次活动中另外使用的 C# 和 VB.NET 版本都是未知的。关于这些 Payload,有一个值得注意的地方是,Delphi 编写的所有 Payload 都使用 UPX 进行了加壳,而其他 Payload 则没有进行加壳。尽管我们只能推测,但我们怀疑其原因是,只有 Zebrocy 的 Delphi 变种已知并且已经被研究人员广泛分析,所以 Sofacy 可能只想对 Delphi 进行加壳,从而增大成功逃避检测的几率。

通过收集和分析其他 Cannon 样本,我们相信我们还发现了一个使用 Delphi 编写的 Cannon 变种。我们已经发现 Sofacy 使用多种语言来编写 Zebrocy 木马的变种,那么显然恶意组织也可以使用多种编程语言来编写 Cannon 的其他变种。

C# 版本 Cannon 分析

从我们最初对 Cannon 恶意软件进行分析以来,我们就在持续收集 Cannon 的样本,以便更好地了解它的起源。目前来看,第一个已知的 Cannon 样本是在 2018 年 4 月 18 日创建的,从此之后至少有 7 个样本产生。下表中展示了已知的 Cannon 样本、编译时间以及用于 C&C 通信的电子邮件账户。

正如我们在最初的分析文章中提到的那样,控制 C&C 的电子邮件地址是 sahro.bella7 [ at ] post.cz,但以前所有的 Cannon 样本都使用了 sym777.g [ at ] post.cz。此外,所有以前的 Cannon 样本都是用了 kae.mezhnosh 的帐户名来接收来自被感染计算机的电子邮件,同时使用帐户 vebek.morozh30、g0r7tsa45s 和 marvel.polezha 向被感染计算机发出电子邮件。

正如我们之前对 Cannon 的分析中所说,该工具使用 POP3S 协议登录到电子邮件帐户,并检查具有特定文件名的电子邮件,将该文件保存到系统中并运行。我们分析的原始样本查找了一个名为 auddevc.txt 的附件,但其他 Cannon 样本查找了以下文件名:

· wmssl.txt

· audev.txt

Delphi 版本 Cannon 分析

在寻找其他 Cannon 样本的过程中,我们发现了另一个使用电子邮件进行 C&C 通信的工具。该工具的文件名同样为 wmssl.txt,是一个可执行文件,Cannon 将会移动 wmssl.txt 附件,修改文件名,并执行辅助 Payload。初步分析表明,该文件可能与 Cannon 原始工具有微妙的联系。然而,在我们收集了 Delphi Cannon 的其他样本后,我们发现了另外的关联性。下表中具体展示了我们收集的 Delphi Cannon 样本,包括样本 215f7c08c2 …,该样本与 ESET 研究中所分析的木马非常相像。

上表中的编译时间表明,Cannon 的 Delphi 变种早于最初发现的 Cannon 版本,第一个已知的 Delphi 样本是在 2018 年 1 月编译的,而第一个已知的 Cannon 样本是在 2018 年 4 月编译的。Cannon 的 Delphi 变种不使用合法 Web 邮件服务商提供的电子邮件帐户进行 C&C 通信,而是使用攻击者拥有的域名 ambcomission [ . ] com 作为邮件服务器。通过这一域名,我们可以追溯到 ThreatConnect 报告的更广泛的 Sofacy 恶意活动。尽管 Delphi Cannon 使用了 POP3S 和 SMTPS 作为其 C&C 通信的方式,但显然使用攻击者自行创建的域名能更加有效,因为 Seznam 这样的合法电子邮件提供商可以轻易封锁攻击者的邮箱帐户。

目前已知最早的 Delphi 变种样本(SHA256:5a02d4e5f6 …),为我们展现出了 Delphi Cannon 和 Cannon 之间更强大的关联性,因为这个样本会收集系统信息,并将其发送到 C&C 邮箱地址,其中包含正在运行的进程的路径,会将其附加到 RunningPlace 字符串中。下图所展示的 Cannon 样本(SHA256:4405cfbf28 …)中的 inf 方法,展示了通过电子邮件收集到 C&C 服务器的信息,特别是 RunningPlace 和 LogicalDrives 头部字符串:

当我们比较两个 Cannon 变种时,我们在 Delphi Cannon 样本(SHA256:5a02d4e5f6 …)中找到了一个方法,展现出使用 Running place 和 Logical_Drivers 作为头部字符串,收集信息并通过电子邮件的方式发送到 C&C 服务器。尽管这两个字符串名称不完全相同,但下图中展现了这些类似的头部字符串,并验证了我们的假设,即两个变种确实相关:

如本章最开始的表格所示,有一个 Delphi Cannon 样本(SHA256:cac630c11c …)没有任何关联的电子邮件地址,因此该样本似乎没有任何 C&C 相关功能。相反,该样本会从名为 ta.bin 的文件中读取 "tasks"(任务),然后另一个未知工具负责写入并处理 C&C 功能。同样值得注意的是,这个特定的样本具有相同的资源名称(L30),其中包含与表格中其他样本相同的加密电子邮件地址,使用了 heatlth500@ambcomission [ . ] com 作为 C&C 邮箱(与 ecc5805898 …相同),但却不包含任何访问资源或解密其内容的代码。

VB.NET 版本 Zebrocy 变种分析

VB.NET 变种(SHA256:e5aece694d …)与其他的 Zebrocy 变种非常相似。其中包括用于 C&C 信标的存储卷序列号,使用 Scripting.FileSystemObject 对象从 Environment.SpecialFolder.LocalApplicationData 中存储的路径调用 GetDriveName。然后,使用从 GetDriveName 函数获取的存储卷,并调用 GetDrive 来获取存储设备的 SerialNumber(序列号)。然后,VB.NET 变种通过运行以下命令来收集系统信息并运行其他 Zebrocy 变种:

systeminfo & tasklist

将系统信息、运行进程和屏幕截图发送到 C&C 服务器的 URL 形式如下:

hxxp://109.248.148 [ . ] 42/agr-enum/progress-inform/cube.php?res= [ 序列号 ]

Zebrocy 的 VB.NET 变种使用对上面 URL 的 HTTP POST 请求来传输收集的数据,其中包含 HTTP POST 数据,其结构如下(注意 & 符号,及其前后的空格):

data= [ 系统信息和运行中进程 ] & arg= [ BMP 格式的屏幕截图 ]

C# 版本 Zebrocy 变种分析

Zebrocy 的 C# 变种在功能上与其他变种类似,但也有一些值得讨论的独特之处。与其他 Zebrocy 工具一样,C# 变量收集存储卷序列号,并将其用于 C&C 服务器的出站信标。在这一变种中,恶意软件使用了 Windows API 函数 GetVolumeInformation 来获取 C 盘的序列号。Zebrocy 的这一变种还以 JPEG 格式保存屏幕截图,并传输到 C&C 服务器上。

除了使用的编程语言不同之外,Zebrocy 的这一变种还有一点最显著的不同之处,就是收集系统信息和运行中进程的方式。C# 版本的 Zebrocy 使用 WMI 查询来收集这一信息,而不再使用 systeminfo 和 tasklist 命令。该工具运行以下 WMI 查询列表:

wmic logicaldisk get Caption, Description,VolumeSerialNumber,Size,FreeSpace wmic diskdrive get Model, SerialNumber wmic computersystem get Manufacturer, Model, Name, SystemTypec wmic os get Caption, OSArchitecture, OSLanguage,SystemDrive,MUILanguages wmic process get Caption,ExecutablePath

将系统信息、运行进程和屏幕截图发送到 C&C 服务器的 URL 形式如下:

hxxp://145.249.105 [ . ] 165/resource-store/stockroom-center-service/check.php?fm= [ 序列号 ]

Zebrocy 的 C# 变种使用对上面 URL 的 HTTP POST 请求来传输收集的数据,其中包含 HTTP POST 数据,其结构如下:

spp= [ 通过 WMI 查询获取的系统信息 ] &spvg= [ JPEG 格式的屏幕截图 ]

总结

Sofacy 组织持续使用类似的策略和技术,不断攻击全球范围内的组织。我们观察到,该恶意组织在 2018 年 10 月底到 11 月期间,通过鱼叉式网络钓鱼电子邮件进行攻击,并经常利用文件名中包含的热点事件来诱导收件人打开恶意附件。该恶意组织很明显倾向于使用 Zebrocy 这样简单的下载工具来投递第一阶段的 Payload。该恶意组织不断开发使用 VB.NET 语言和 C# 语言编写的 Zebrocy 新变种,并且根据判断,他们在此前的攻击活动中也使用了 Cannon 工具的不同变种。

IoC

交付文档哈希值

· 2cfc4b3686511f959f14889d26d3d9a0d06e27ee2bb54c9afb1ada6b8205c55f

· c20e5d56b35992fe74e92aebb09c40a9ec4f3d9b3c2a01efbe761fa7921dd97f

· abfc14f7f708f662046bfcad81a719c71a35a8dc5aa111407c2c93496e52db74

· 40318f3593bca859673827b88d65c5d2f0d80a76948be936a60bda67dff27be9

· 5749eb9d7b8afa278be24a4db66f122aeb323eaa73a9c9e52d77ac3952da5e7d

· af77e845f1b0a3ae32cb5cfa53ff22cc9dae883f05200e18ad8e10d7a8106392

· 34bdb5b364358a07f598da4d26b30bac37e139a7dc2b9914debb3a16311f3ded

· 79bd5f34867229176869572a027bd601bd8c0bc3f56d37443d403a6d1819a7e5

· 77ff53211bd994293400cb3f93e3d3df6754d8d477cb76f52221704adebad83a

远程模板哈希值

· f1e2bceae81ccd54777f7862c616f22b581b47e0dda5cb02d0a722168ef194a5

· 86bb3b00bcd4878b081e4e4f126bba321b81a17e544d54377a0f590f95209e46

· 2da5a388b891e42df4ed62cffbc167db2021e2441e6075d651ecc1d0ffd32ec8

· 0d7b945b9c912d205974f44e3742c696b5038c2120ed4775710ed6d51fbc58ef

· fc69fb278e12fc7f9c49a020eff9f84c58b71e680a9e18f78d4e6540693f557d

· ed8f52cdfc5f4c4be95a6b2e935661e00b50324bee5fe8974599743ccfd8daba

· b9f3af84a69cd39e2e10a86207f8612dd2839873c5839af533ffbc45fc56f809

远程模板 URL

· hxxp://188.241.58 [ . ] 170/live/owa/office.dotm

· hxxp://185.203.118 [ . ] 198/documents/Note_template.dotm

· hxxp://145.249.105 [ . ] 165/doc/temp/release.dotm

· hxxp://145.249.105 [ . ] 165/messages/content/message_template.dotm

· hxxp://188.241.58 [ . ] 170/version/in/documents.dotm

· hxxp://109.248.148 [ . ] 42/officeDocument/2006/relationships/templates.dotm

· hxxp://109.248.148 [ . ] 42/office/thememl/2012/main/attachedTemplate.dotm

Zebrocy 哈希值

· 5173721f3054b92e6c0ff2a6a80e4741aa3639bc1906d8b615c3b014a7a1a8d7

· 61a1f3b4fb4dbd2877c91e81db4b1af8395547eab199bf920e9dd11a1127221e

· 6ad3eb8b5622145a70bec67b3d14868a1c13864864afd651fe70689c95b1399a

· 9a0f00469d67bdb60f542fabb42e8d3a90c214b82f021ac6719c7f30e69ff0b9

· b41480d685a961ed033b932d9c363c2a08ad60af1d2b46d4f78b5469dc5d58e3

· c91843a69dcf3fdad0dac1b2f0139d1bb072787a1cfcf7b6e34a96bc3c081d65

· e5aece694d740ebcb107921e890cccc5d7e8f42471f1c4ce108ecb5170ea1e92

Zebrocy C&C URL

· hxxp://188.241.58 [ . ] 170/local/s3/filters.php

· hxxp://185.203.118 [ . ] 198/en_action_device/center_correct_customer/drivers-i7-x86.php

· hxxp://145.249.105 [ . ] 165/resource-store/stockroom-center-service/check.php

· hxxp://109.248.148 [ . ] 42/agr-enum/progress-inform/cube.php

Cannon 哈希值

· 861b6bc1f9869017c48930af5848930dd037fb70fc506d8a7e43e1a0dbd1e8cb

· 4405cfbf28e0dfafa9ea292e494f385592383d2476a9c49d12596b8d22a63c47

· 174effcdeec0b84c67d7dc23351418f6fa4825550d595344214cc746f1a01c1a

· a23261e2b693750a7009569df96ec4cf61e57acc9424c98d6fe1087ff8c659ce

· 651d5aab82e53711563ce074c047cbaa0703931673fa3ad20933d6a63c5c3b12

· 68df0f924ce79765573156eabffee3a7bb0fa972d2b67d12dd91dea3ec255d24

· 5a02d4e5f6d6a89ad41554295114506540f0876e7288464e4a70c9ba51d24f12

· d06be83a408f4796616b1c446e3637009d7691c131d121eb165c55bdd5ba50b4

· 78adc8e5e4e86146317420fa3b2274c9805f6942c9973963467479cb1bbd4ead

· 054c5aa73d6b6d293170785a82453446429c0efc742df75979b760682ac3026b

· cac630c11c4bf6363c067fbf7741eae0ec70238d9c5e60d41f3ed8f65b56c1d1

· ecc5805898e037c2ef9bc52ea6c6e59b537984f84c3d680c8436c6a38bdecdf4

· 215f7c08c2e3ef5835c7ebc9a329b04b8d5215773b7ebfc9fd755d93451ce1ae

Cannon 相关邮箱地址

· sym777.g [ at ] post.cz

· kae.mezhnosh [ at ] post.cz

· vebek.morozh30 [ at ] post.cz

· g0r7tsa45s [ at ] post.cz

· marvel.polezha [ at ] post.cz

· sahro.bella7 [ at ] post.cz

· trala.cosh2 [ at ] post.cz

· Bishtr.cam47 [ at ] post.cz

· Lobrek.chizh [ at ] post.cz

· Cervot.woprov [ at ] post.cz

· heatlth500 [ at ] ambcomission [ . ] com

· trash023 [ at ] ambcomission [ . ] com

· trasler22 [ at ] ambcomission [ . ] com

· rishit333 [ at ] ambcomission [ . ] com

· tomasso25 [ at ] ambcomission [ . ] com

· kevin30 [ at ] ambcomission [ . ] com

发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章

推荐文章

'); })();