ESET 研究人员分析了 OilRig APT 组织的两项活动:Outer Space (2021) 和 Juicy Mix (2022)。这两项网络间谍活动均专门针对以色列组织,这符合该组织对中东的关注,并使用相同的策略:OilRig 首先入侵一个合法网站用作 C&C 服务器,然后使用 VBS droppers 传递 C# /.NET 后门给受害者,同时还部署了各种主要用于目标系统上的数据泄露的攻击后工具。
在他们的Outer Space活动中,OilRig 使用了一个简单的、以前未记录的 C#/.NET 后门(我们将其命名为 Solar),以及一个新的下载程序 SampleCheck5000(或 SC5k),该程序使用 Microsoft Office Exchange Web 服务 API 进行 C&C 通信。在 Juicy Mix 活动中,威胁行为者对 Solar 进行了改进,创建了 Mango 后门,该后门拥有额外的功能和混淆方法。除了检测恶意工具集之外,我们还向以色列 CERT 通报了受感染的网站。
这篇博文的要点:ESET 观察到了 2021 年(Outer Space)和 2022 年(Juicy Mix)发生的两次 OilRig 活动。这些运营商专门针对以色列组织,并破坏合法的以色列网站以用于其命令与控制通信。他们在每个活动中都使用了一个新的、以前未记录的 C#/.NET 第一阶段后门:Solar in Outer Space,然后是其后继者 Mango in Juicy Mix。这两个后门都是由 VBS droppers 部署的,大概是通过鱼叉式网络钓鱼电子邮件传播的。这两个活动中都部署了各种攻陷后工具,特别是使用 Microsoft Office Exchange Web 服务 API 进行 C&C 通信的 SC5k 下载程序,以及从 Windows 凭据管理器窃取浏览器数据和凭据的多个工具。
OilRig,也称为 APT34、Lyceum 或 Siamesekitten,是一个网络间谍组织,至少自 2014 年以来一直活跃,通常认为总部位于伊朗。该组织的目标客户是中东政府和各种垂直行业,包括化学、能源、金融和电信。OilRig 在2018 年和2019 年开展了 DNSpionage 活动,目标是黎巴嫩和阿拉伯联合酋长国的受害者。2019 年和 2020 年,OilRig 继续通过HardPass活动进行攻击,该活动利用 LinkedIn 针对中东能源和政府部门的受害者。2021年,OilRig更新了其DanBot后门并开始部署Shark, Milan和 Marlin 后门,在ESET 威胁报告T3 2021 期中提到。
在这篇博文中,我们提供了 Solar 和 Mango 后门、用于传送 Mango 的 VBS dropper 以及每个活动中部署的攻击后工具的技术分析。
归因
允许我们将 Outer Space 活动连接到 OilRig 的初始链接是使用与Out to Sea 活动中相同的自定义 Chrome 数据转储器(由 ESET 研究人员以 MKG 名称进行跟踪) 。我们观察到 Solar 后门在目标系统上部署了与 Out to Sea 中完全相同的 MKG 样本,以及其他两个变体。
除了工具和目标上的重叠之外,我们还发现 Solar 后门和 Out to Sea 中使用的后门之间有许多相似之处,主要与上传和下载有关:Solar 和 Shark(另一个 OilRig 后门)都使用具有简单上传和下载方案的 URI与C&C服务器通信,“d”表示下载,“u”表示上传;此外,下载器 SC5k 与其他 OilRig 后门(即 ALMA、Shark、DanBot 和 Milan)一样使用上传和下载子目录。这些发现进一步证实了Outer Space背后的罪魁祸首确实是OilRig。
至于 Juicy Mix 活动与 OilRig 的联系,除了针对以色列组织(这是该间谍组织的典型特征)外,该活动中使用的后门 Mango 与 Solar 之间还存在代码相似之处。此外,这两个后门都是由 VBS droppers 使用相同的字符串混淆技术部署的。Juicy Mix 中使用的妥协后工具的选择也反映了之前的 OilRig 活动。
Outer Space概述
Outer Space 因其功能名称和任务中使用基于天文学的命名方案而得名,它是 2021 年的 OilRig 活动。在这次活动中,该组织入侵了以色列的一个人力资源站点,随后将其用作其之前的 C&C 服务器。未记录的 C#/.NET 后门、Solar。Solar 是一个简单的后门,具有从磁盘读取和写入以及收集信息等基本功能。
随后,该小组通过 Solar 部署了一个新的下载器 SC5k,它使用 Office Exchange Web Services API 下载其他工具以供执行,如图1所示。为了从受害者系统中窃取浏览器数据,OilRig 使用了名为 MKG 的 Chrome 数据转储程序。
图 1. OilRig 的 Outer Space 妥协链概述
Juicy Mix 活动概述
2022 年,OilRig 发起了另一场针对以色列组织的活动,这次使用了更新的工具集。我们将该活动命名为 Juicy Mix,因为它使用了新的 OilRig 后门 Mango(基于其内部程序集名称及其文件名Mango.exe)。在这次活动中,威胁行为者入侵了一个合法的以色列就业门户网站,用于 C&C 通信。随后,该组织的恶意工具被部署针对同样位于以色列的一家医疗保健组织。
Mango 第一阶段后门是 Solar 的后门,也是用 C#/.NET 编写的,具有显着的变化,包括渗透功能、使用本机 API 以及添加检测规避代码。
除了 Mango 之外,我们还检测到两个以前未记录的浏览器数据转储程序,用于从 Chrome 和 Edge 浏览器窃取 cookie、浏览历史记录和凭据,以及一个 Windows Credential Manager 窃取程序,所有这些我们都归因于 OilRig。这些工具均用于针对与 Mango 相同的目标,以及 2021 年和 2022 年其他受感染的以色列组织。图2显示了 Juicy Mix 活动中如何使用各种组件的概述。
图 2. OilRig 的 Juicy Mix 活动中使用的组件概述
技术分析
在本节中,我们对 Solar 和 Mango 后门以及 SC5k 下载器以及这些活动中部署到目标系统的其他工具进行技术分析。
VBS 滴管
为了在目标系统上建立立足点,这两个活动都使用了 Visual Basic Script (VBS) 植入程序,这些植入程序很可能通过鱼叉式网络钓鱼电子邮件进行传播。下面我们重点分析用于投放Mango的VBS脚本(SHA-1:3699B67BF4E381847BF98528F8CE2B966231F01A);请注意,Solar 的滴管非常相似。
该植入程序的目的是提供嵌入式 Mango 后门,安排持久性任务,并向 C&C 服务器注册妥协。嵌入的后门存储为一系列 Base64 子字符串,这些子字符串被连接并进行 Base64 解码。如图3所示,该脚本还使用了简单的字符串反混淆技术,其中使用算术运算和Chr函数来组装字符串。
图 3. OilRig 的 VBS dropper 用于 Mango 的字符串反混淆技术
最重要的是,Mango 的 VBS dropper 添加了另一种类型的字符串混淆和代码来设置持久性并向 C&C 服务器注册。如图4所示,为了对某些字符串进行反混淆,脚本将#*+-_)(}{@$%^&集合中的任意字符替换为0,然后将字符串分成三位数,然后将其转换为使用Chr
函数的 ASCII 字符。例如,字符串116110101109117+99111$68+77{79$68}46-50108109120115}77转换为Msxml2.DOMDocument。
图 4. Mango 的 VBS dropper 使用的字符串混淆函数
一旦后门嵌入到系统中,植入程序就会继续创建一个计划任务,每 14 分钟执行一次 Mango(或 Solar,在其他版本中)。最后,该脚本通过 POST 请求发送受感染计算机的 Base64 编码名称,以向其 C&C 服务器注册后门。
Solar后门
Solar 是 Outer Space活动中使用的后门。该后门具有基本功能,可用于下载和执行文件以及自动泄露暂存文件。
我们根据 OilRig 使用的文件名Solar.exe选择 Solar 名称。这是一个合适的名称,因为后门使用天文学命名方案来命名整个二进制文件中使用的函数名称和任务(Mercury、Venus、Mars、Earth和Jupiter)。
Solar 通过执行图5中所示的步骤开始执行。
图 5. Solar 的初始执行流程
后门创建了两个在内存中运行的任务: Earth 和Venus 。这两个任务都没有停止功能,因此它们将无限期地运行。地球 计划每 30 秒运行一次,金星 设置为每 40 秒运行一次。
地球是首要任务,负责太阳的大部分功能。它使用MercuryToSun函数与 C&C 服务器通信,该函数将基本系统和恶意软件版本信息发送到 C&C 服务器,然后处理服务器的响应。Earth向 C&C 服务器发送以下信息:
字符串(@) ; 整个字符串被加密。
字符串1.0.0.0,已加密(可能是版本号)。
字符串30000,已加密(可能是Earth的计划运行时间,以毫秒为单位)。
加密和解密分别在名为JupiterE
和JupiterD的函数中实现。它们都调用名为JupiterX的函数,该函数实现 XOR 循环,如图6所示。
图 6. JupiterX 中用于加密和解密数据的for循环
密钥源自硬编码的全局字符串变量6sEj7*0B7#7和随机数:在本例中,随机数为 2-24 个字符长的随机十六进制字符串。在 XOR 加密之后,应用标准的 Base64 编码。
OilRig 在部署 Solar 之前的某个时刻破坏了一家以色列人力资源公司的 Web 服务器,该服务器被用作 C&C 服务器:
http://organization.co[.]il/project/templates/office/template.aspx?rt=d&sun=&rn=
在附加到 URI 之前,加密随机数会被加密,并且初始查询字符串rt的值在此处设置为d ,可能表示“下载”。
MercuryToSun函数的最后一步
是处理来自 C&C 服务器的响应。它通过检索响应的子字符串来实现这一点,该子字符串位于字符QQ@和@kk之间。此响应是一串由星号 ( * ) 分隔的指令,被处理为数组。然后, Earth
执行后门命令,包括从服务器下载额外的有效负载、列出受害者系统上的文件以及运行特定的可执行文件。
然后使用函数Neptune
对命令输出进行 gzip 压缩,并使用相同的加密密钥和新的随机数进行加密。然后将结果上传到C&C服务器,因此:
http://organization.co[.]il/project/templates/office/template.aspx?rt=u&sun=&rn=
MachineGuid和新的随机数使用JupiterE函数进行加密,这里rt 的值设置为u,可能用于“上传”。
Venus是另一个计划任务,用于自动数据泄露。这个小任务将文件内容从目录(也称为Venus)复制到 C&C 服务器。这些文件可能是由其他一些尚未识别的 OilRig 工具丢弃到这里的。上传文件后,任务会将其从磁盘中删除。
Mango后门
为了开展 Juicy Mix 活动,OilRig 从 Solar 后门转向了 Mango。它具有与 Solar 类似的工作流程和重叠功能,但仍然有一些显着的变化:
使用 TLS 进行 C&C 通信。
使用本机 API(而不是 .NET API)来执行文件和 shell 命令。
尽管没有被积极使用,但还是引入了检测规避代码。
对自动渗漏(Venusin Solar)的支持已被删除;相反,Mango 支持额外的后门命令来泄露选定的文件。
对日志模式的支持已被删除,并且符号名称已被混淆。
与 Solar 以天文学为主题的命名方案相反,Mango 混淆了其符号名称,如图7所示。
图 7. 与其前身 Solar(左)不同,Mango 的符号已被混淆
除了符号名称混淆之外,Mango还使用字符串堆叠的方法(如图8所示)对字符串进行混淆,这使得简单的检测方法的使用变得复杂。
图 8.Mango 使用字符串堆叠来混淆字符串并阻止简单的检测机制
与 Solar 类似,Mango 后门首先创建一个内存中任务,计划每 32 秒无限期运行一次。该任务与C&C服务器通信并执行后门命令,类似于Solar的Earth
任务。虽然 Solar 还创建了Venus,这是一项自动渗透任务,但该功能在 Mango 中已被新的后门命令取代。
在主任务中,Mango 首先生成受害者标识符 ,用于 C&C 通信。ID 计算为的 MD5 哈希值,格式为十六进制字符串。
为了请求后门命令,Mango 然后将字符串d@@|发送到 C&C 服务器http://www.darush.co[.]il/ads.asp – 合法的以色列求职门户网站,可能在本次活动之前已被 OilRig 攻陷。我们向以色列国家计算机紧急响应小组 (CERT) 通报了此次泄露事件。
请求体构造如下:
要传输的数据使用加密密钥Q&4g进行 XOR 加密,然后进行 Base64 编码。
根据此字母表生成 3-14 个字符的伪随机字符串(如代码中所示):
i8p3aEeKQbN4klFMHmcC2dU9f6gORGIhDBLS0jP5Tn7o1AVJ
加密数据插入到生成的字符串中的伪随机位置,并括在[@和@]分隔符之间。
为了与其 C&C 服务器进行通信,Mango 使用 TLS(传输层安全)协议,该协议用于提供额外的加密层。
同样,从 C&C 服务器接收到的后门命令经过 XOR 加密、base64 编码,然后包含在 HTTP 响应正文中的[@和@]之间。命令本身要么是NCNT (在这种情况下不采取任何操作),要么是由@ 分隔的几个参数组成的字符串,如表1中详细列出的,其中列出了 Mango 的后门命令。请注意,未在表中列出,但用于对 C&C 服务器的响应。
表 1. Mango 后门命令列表
每个后门命令都在一个新线程中处理,然后将它们的返回值进行 Base64 编码并与其他元数据组合。最后,使用与上述相同的协议和加密方法将该字符串发送到 C&C 服务器。
未使用的检测规避技术
有趣的是,我们在 Mango 中发现了一种未使用的检测规避技术。负责执行从 C&C 服务器下载的文件和命令的函数采用可选的第二个参数——进程 ID。如果设置,Mango 将使用UpdateProcThreadAttribute API将指定进程的PROC_THREAD_ATTRIBUTE_MITIGATION_POLICY ( 0x20007)
属性设置为值:PROCESS_CREATION_MITIGATION_POLICY_BLOCK_NON_MICROSOFT_BINARIES_ALWAYS_ON ( 0x100000000000) ,如图9所示。
图 9. Mango 后门中未使用的安全产品规避代码
该技术的目标是阻止端点安全解决方案在此过程中通过 DLL 加载其用户模式代码挂钩。虽然我们分析的示例中未使用该参数,但可以在未来版本中激活它。
版本1.1.1
与 Juicy Mix 活动无关,我们在 2023 年 7 月发现了新版本的 Mango 后门(SHA-1:C9D18D01E1EC96BE952A9D7BD78F6BBB4DD2AA2A ),由多名用户以Menorah.exe 的名称上传到 VirusTotal 。此示例中的内部版本从 1.0.0 更改为 1.1.1,但唯一显着的变化是使用不同的 C&C 服务器,http://tecforsc-001-site1.gtempurl[.]com/ads.asp。
除了这个版本之外,我们还发现了一个 Microsoft Word 文档(SHA-1:3D71D782B95F13EE69E96BCF73EE279A00EAE5DB),其中包含会释放后门的恶意宏。图10显示了虚假警告消息,诱使用户为文档启用宏,以及随后显示的诱饵内容,同时恶意代码在后台运行。
图 10. 带有恶意宏的 Microsoft Word 文档,该宏会释放 Mango v1.1.1
后妥协工具
在本节中,我们将回顾 OilRig 的 Outer Space 和 Juicy Mix 活动中使用的一系列妥协后工具,这些工具旨在下载和执行额外的有效负载,并从受损系统中窃取数据。
SampleCheck5000 (SC5k) 下载器
SampleCheck5000(或 SC5k)是一个下载程序,用于下载和执行其他 OilRig 工具,值得注意的是使用 Microsoft Office Exchange Web 服务 API 进行 C&C 通信:攻击者在此电子邮件帐户中创建草稿消息并在其中隐藏后门命令。随后,下载程序登录到同一帐户,并解析草稿以检索要执行的命令和有效负载。
SC5k 使用预定义值(Microsoft Exchange URL、电子邮件地址和密码)登录远程 Exchange 服务器,但它也支持使用当前工作目录中名为setting.key 的配置文件覆盖这些值的选项。我们根据该工具在Outer Space活动中使用的电子邮件地址之一选择了名称 SampleCheck5000。
一旦 SC5k 登录到远程 Exchange 服务器,它就会检索草稿目录中的所有电子邮件
,按最新的顺序对它们进行排序,只保留带有附件的草稿。然后,它会遍历带有附件的每条草稿消息,查找正文中包含“数据”的 JSON 附件。它从 JSON 文件中的关键数据中提取值,对值进行 Base64 解码和解密,并调用cmd.exe执行生成的命令行字符串。然后,SC5k 将cmd.exe执行的输出保存
到本地变量中。
作为循环的下一步,下载程序通过在 Exchange 服务器上创建新电子邮件并将其保存为草稿(而不是发送)来向 OilRig 操作员报告结果,如图11所示。类似的技术用于从本地暂存文件夹中提取文件。作为循环的最后一步,SC5k 还将命令输出以加密和压缩的格式记录在磁盘上。
图 11. SC5k 创建电子邮件消息
浏览器数据转储器
OilRig 运营商的特点是在其攻击后活动中使用浏览器数据转储程序。我们在 Juicy Mix 活动中与 Mango 后门一起部署的攻击后工具中发现了两个新的浏览器数据窃取程序。他们将%TEMP%目录中被盗的浏览器数据转储到名为Cupdate
和Eupdate 的文件中
(因此我们将它们命名为:CDumper 和 EDumper)。
这两个工具都是 C#/.NET 浏览器数据窃取程序,可从 Chrome (CDumper) 和 Edge (EDumper) 浏览器收集 cookie、浏览历史记录和凭据。我们将分析重点放在 CDumper 上,因为除了一些常量之外,这两个窃取程序实际上是相同的。
执行时,CDumper 会创建安装了 Google Chrome 的用户列表。执行时,窃取程序会连接到%APPDATA%LocalGoogleChromeUser Data下的Chrome SQLite Cookies、历史记录
和登录数据数据库,并使用 SQL 查询收集浏览器数据,包括访问过的 URL 和保存的登录信息。
然后对 cookie 值进行解密,并将所有收集到的信息以明文形式添加到名为C:Users\AppDataLocalTempCupdate 的日志文件中。此功能在名为CookieGrab
(参见图12)、HistoryGrab和PasswordGrab的 CDumper 函数中实现。请注意,CDumper 中没有实现渗透机制,但 Mango 可以通过后门命令渗透选定的文件。
图 12. CDumper 的 CookieGrab 函数从 Chrome 数据存储中转储和解密 cookie
在Outer Space和早期的 Out to Sea中,OilRig 使用了名为 MKG 的 C/C++ Chrome 数据转储程序。与 CDumper 和 EDumper 一样,MKG 也能够从浏览器窃取用户名和密码、浏览历史记录和 cookie。此 Chrome 数据转储程序通常部署在以下文件位置(第一个位置最常见):
%USERS%publicprogramsvmwaredir\mkc.exe
%USERS%PublicM64.exe
Windows 凭据管理器窃取程序
除了浏览器数据转储工具之外,OilRig 还在 Juicy Mix 活动中使用了 Windows Credential Manager 窃取程序。该工具从 Windows 凭据管理器窃取凭据,与 CDumper 和 EDumper 类似,将它们存储在%TEMP%目录中 - 这次存储在名为IUpdate的文件中
(因此名称为 IDumper)。与 CDumper 和 EDumper 不同,IDumper 是作为 PowerShell 脚本实现的。
与浏览器转储工具一样,OilRig 从 Windows 凭据管理器收集凭据的情况并不少见。此前,OilRig 的运营商被发现使用 VALUEEVAULT,这是一种公开可用的、 Go 编译的凭证盗窃工具(请参阅2019 年 HardPass 活动和2020 年活动),以达到相同目的。
结论
OilRig 不断创新并创建具有类似后门功能的新植入程序,同时寻找在远程系统上执行命令的新方法。该组织改进了 Outer Space 活动中的 C#/.NET Solar 后门,为 Juicy Mix 活动创建了一个名为 Mango 的新后门。该组织部署了一组自定义的泄露后工具,用于从主要浏览器和 Windows 凭据管理器收集凭据、cookie 和浏览历史记录。尽管有这些创新,OilRig 仍继续依赖既定方法来获取用户数据。
IOCs
文件
Network
转载来源:https://www.welivesecurity.com/en/eset-research/oilrigs-outer-space-juicy-mix-same-ol-rig-new-drill-pipes/
图片来源网络侵权可联系删除