PowerDrop:一种针对美国航空航天国防工业的用于命令和控制攻击的新的阴险 PowerShell 脚本
2023-6-8 09:12:21 Author: Ots安全(查看原文) 阅读量:22 收藏

关键要点

  • Adlumin 威胁研究发现了一种名为 PowerDrop 的新型恶意 PowerShell 脚本,其目标是美国航空航天业。

  • 这种新颖的恶意软件跨越了基本的“基本现成威胁”和高级持续威胁组 (APT) 使用的策略之间的界限。

  • PowerDrop 使用先进的技术来逃避检测,例如欺骗、编码和加密。

  • Adlumin 尚未确定恶意软件背后的威胁行为者,但怀疑民族国家的侵略者,因为随着乌克兰战争的继续,这一发现正值导弹计划研发增加之际。

  • Adlumin 建议航空航天国防行业的人员对这种新的恶意软件保持警惕。该公司建议在 Windows 系统的核心运行漏洞扫描,并留意从其网络到外部的异常 ping 活动。

介绍

Adlumin 威胁研究团队最近发现并分析了一种针对美国航空航天国防工业的新型恶意软件。这一发现发生之际,随着乌克兰战争的继续,更多的研究和投资被投入导弹计划,世界各地的合作伙伴仍处于高度戒备状态。

“PowerDrop”是 Adlumin 研究人员在 2023 年 5 月发现植入国内航空航天防御承包商网络中的恶意软件的名称。该名称源自用于编写脚本的工具 Windows PowerShell,而“Drop”来自代码中用于填充的 DROP (DRP) 字符串。

该威胁是由 Adlumin 基于机器学习的算法检测到的,该算法在运行时分析 PowerShell 命令和参数。

通过逆向工程,Adlumin 的团队发现该恶意软件由新的 PowerShell 和 Windows Management Instrumentation (WMI) 持久化远程访问工具 (RAT) 组成。该代码发送 Internet 控制消息协议 (ICMP) 回显请求消息作为恶意软件命令和控制 (C2) 的触发器,以及类似的 ICMP ping 使用数据泄露。

本质上,研究人员得出结论,该恶意软件在获得对服务器的初始访问、执行和持久性后,被用于对受害网络运行远程命令。

使用 PowerShell 进行远程访问并不新鲜,基于 WMI 的 PowerShell 脚本持久性或 ICMP 触发和隧道也不是新鲜事物,但此恶意软件的新颖之处在于,另一种类似的代码以前从未出现过,它跨越了这条线介于基本的“现成威胁”和高级持续威胁 (APT) 组织使用的高级策略之间。

Adlumin 尚未确定恶意软件背后的威胁行为者,但怀疑是民族国家的攻击者。

Adlumin 的战略副总裁 Mark Sangster 说:“这次最新的攻击显示了威胁行为者‘以土地为生’策略的演变。”

“虽然威胁的核心 DNA 并不是特别复杂,但它混淆可疑活动和逃避端点防御检测的能力让威胁行为者更加复杂。它针对航空航天承包商的事实仅证实了民族国家侵略者的可能性,”桑斯特补充说。

Adlumin 威胁研究团队负责人 Kevin O'Connor 表示,该恶意软件使用触发器和 exfil 模式,很容易被入侵检测系统标记,但该恶意软件似乎也是一种“定制”开发,使用先进技术来逃避检测,例如作为欺骗、编码和加密。

“Adlumin 的威胁研究团队认为,这种恶意软件构成了真正的威胁,因为它能够逃避一些通常部署的 EDR 软件的检测,这可能是由于它对 PowerShell 命令行参数进行编码和使用 WMI 实现持久性的做法。

威胁分析

Adlumin 首先基于机器学习检测识别 PowerDrop 恶意软件,该检测查看已执行的 PowerShell 脚本的内容与其他安全软件通常分析的命令行参数。

“这使我们的检测算法能够看穿编码层,从而能够对充当后门或 RAT 的脚本的实际内容进行基于机器学习的检测,”O'Connor 说。

该恶意软件是由 WMI 服务执行的 PowerShell 命令。“脚本”作为单个命令行参数传递给本机 Window 的二进制文件和子系统。PowerShell 使用 Base64 和 UTF-16 Little Endian 编码,不会作为 .ps1 脚本文件保存在磁盘上。

Base64 UTF-16LE 编码的 PowerShell 负载示例:

执行和持久化

Adlumin 分析了 PowerShell 进程执行上下文,以识别恶意 PowerShell 脚本/植入是由 WMI 服务使用先前注册的 WMI 事件过滤器和消费者执行的。

WMI 事件过滤器和消费者注册是在 PowerDrop 植入程序的初始安装期间由恶意软件创建的。

WMI 事件过滤器和消费者注册是使用 WMI 命令行工具“wmic.exe”创建的,并使用“wmic.exe”命令行工具执行。

如在这些 Windows 事件日志中观察到的,PowerDrop 将自己注册为 WMI 事件过滤器和消费者:

WMI 事件过滤器触发 PowerShell 命令查询对 root\cimv2 命名空间中的 WMI 类 Win32_PerfFormattedData_PerfOS_System 所做的更新。

Win32_PerfFormattedData_PerfOS_System 类是 Windows Management Instrumentation (WMI) 类,它包含监视 Windows 操作系统性能的性能计数器。

当更新 WMI 类时触发 WMI 事件过滤器,然后触发 PowerShell 脚本的执行。只要更新了 WMI 类,筛选器的触发就会被限制为每 120 秒一次。在 Windows 中,此 WMI 类定期更新进程、线程、队列长度和每秒系统调用等信息,因此每 120 秒执行一次在大多数系统上是可靠和有保证的。

在许多其他恶意软件系列中都可以看到用于持久化和执行 PowerShell 负载的 WMI 过滤器和消费者注册,以及使用 PerfOS_System WMI 类作为执行的可靠触发器。

EventFilter 和 CommandLineEventConsumer 都以名称 SystemPowerManager 注册。WMI 事件使用者是一个 CommandLineEventConsumer,它使用编码的PowerShell 脚本作为命令行参数执行 PowerShell 命令行。

我们无法确定 WMI 事件过滤器和消费者注册的来源,但我们认为该恶意软件很可能使用先前已知的漏洞来获得对受害者计算机的初始访问权限,例如网络钓鱼电子邮件或路过式下载并通过wscript.exe 并且命令行过滤器和消费者注册是由恶意软件在 PowerDrop 植入物的初始安装期间通过 wmic.exe 命令行执行创建的。

脚本/植入

一旦解码,PowerShell 脚本就是由多个语句、函数和通常是静态变量组成的单行 PowerShell 代码。

对解码内容的分析表明该脚本是一个后门/RAT,它可以对受害计算机执行远程 PowerShell 命令并泄露这些命令的结果。

最初,PowerDrop 尝试通过 ICMP Echo Request 消息访问硬编码的 IP 地址。

此请求由 Windows PowerShell 发起,具有可检测的属性,例如 ICMP 类型和代码(8 和 0),IPv4 生存时间 (TTL) 为 128,如在 Windows 设备上本机看到的那样,ICMP 标识号设置为“0x0001” ' 和 ICMP 负载。

ICMP 触发器有效负载是 UTF16-LE 编码的字符串,未进行混淆、隐藏或加密。观察到的例子使用了简单的字符串“!” 作为恶意软件 C2 信标的触发器。我们认为这只是向命令和控制基础设施表明这是一个恶意软件植入信标,而不是随机接收的探测,这是针对面向 Internet 的设备的常见情况。

发送信标后,受害机器将等待 60 秒以等待响应。此 60 秒的驻留时间不同于 Windows 上 ICMP 回显请求消息的典型默认 10 秒请求超时。这很可能确保恶意软件可以从 C2 服务器接收响应,即使网络正在经历高延迟或数据包丢失,尤其是在没有保证 ICMP 回显请求消息的交付或确认的情况下。

作为对 PowerDrop 信标的响应,命令和控制服务器以加密的有效载荷进行响应,该有效载荷也在消息的开头和结尾填充了静态数据。

PowerDrop 使用具有 128 位密钥和 128 位初始化向量 (IV) 的 AES 加密来加密负载。AES 密钥和 IV 是静态对称密钥,它们被硬编码到 PowerShell 脚本中并且不是动态生成的。AES 密钥和 IV 也不会在初始 PowerShell 脚本编码之外进行混淆、模糊或加密。

PowerDrop 使用 PowerShell 提供的接口“CreatEncryptor”和“TransformFinalBlock”来加密和解密有效负载。

PowerDrop 随后将以加密命令的形式接收来自 C2 服务器的响应。然后,植入程序将解密命令,去除前置和后置值,并使用 PowerShell 中的 Invoke-Expression cmdlet 执行命令。


然后,植入程序将获取命令的结果并使用与解密相同的方案对其进行加密,并将结果发送回 C2 服务器。

任何超过 128 字节的超大响应都将拆分为多条消息。第一条消息与响应的前 128 个字节一起发送,后续消息与响应的剩余字节一起以 128 字节块的形式发送。C2 服务器负责重组响应:

PowerDrop 使用字符串“DRP”和“OCD”作为前置和后置值,为 C2 服务器的响应内容添加书签。prepending 和 postpending 值用于指示响应内容的开始和结束。

如果响应被拆分为多条消息,则所有消息都带有前缀“DRP”值,只有最后一条消息同时具有“DRP”前缀和“ORD”后缀。前置和后置值未加密,并且是 PowerShell 脚本中的静态值。前置和后置值的示例:


“PowerDrop 强大的检测规避特性使这变得有趣,”Sangster 说。“Adlumin 威胁研究人员的这一发现表明,即使是最基本的食材,大厨也能做出米其林星级大餐。渗透一个关键的航空航天防御承包商只会让这种恶意软件更加诱人,”他补充道。

侦测

Adlumin 已生成以下检测结果,以帮助在端点上以及通过捕获或监控的网络流量识别此恶意软件的潜在实例。

此检测可应用于出站网络流量并检测 PowerDrop 恶意软件数据泄露的实例。


SIGMA

此 SIGMA 检测通过 PowerDrop 恶意软件的未编码和必需组件的 PowerShell 脚本块识别 PowerShell 执行:

结论

Adlumin 建议航空航天防御行业的人员对这种正在四处传播的新型恶意软件保持警惕。该公司建议在 Windows 系统的核心运行漏洞扫描,并留意从其网络到外部的异常 ping 活动。

“PowerDrop 清楚地表明,将旧策略与新技术相结合在当今时代证明是一种强大的组合,”Adlumin 网络安全运营中心主任 Will Ledesma 说。

“它强调了在任何运营环境中拥有专门的 24/7 网络安全团队的重要性,”Ledesma 补充道。

本文翻译自:

https://adlumin.com/post/powerdrop-a-new-insidious-powershell-script-for-command-and-control-attacks-targets-u-s-aerospace-defense-industry/


文章来源: http://mp.weixin.qq.com/s?__biz=MzAxMjYyMzkwOA==&mid=2247498511&idx=2&sn=d8009b390e59451622f209a7a448803f&chksm=9badb244acda3b52137ef8bac33c1d826f553e9963d0aaf45ff37af521b97d43346b262af23b#rd
如有侵权请联系:admin#unsafe.sh