Perfctl 恶意软件
一种威胁软件已经感染了数千个基于 Linux 的系统。它以其隐秘的方式、可以利用的大量错误配置以及可以执行的各种有害操作而引人注目。
该威胁于 2021 年首次被发现,利用 20,000 多种常见的错误配置来渗透系统,对数百万台联网设备构成风险。此外,它还利用了 CVE-2023-33426,这是一个严重漏洞,最高严重性评分为 10,去年已在 Apache RocketMQ(一种在 Linux 系统上广泛使用的消息和流媒体平台)中进行了修补。
目录
Perfctl 恶意软件具备多种恶意功能
Perfctl 的名称源自一种秘密挖掘加密货币的恶意组件。开发人员的身份尚不清楚,他们将 Linux 性能监控工具“perf”的名称与命令行实用程序中常用的缩写“ctl”结合在一起。Perfctl 的一个显着特点是它使用的进程和文件名与 Linux 环境中常见的进程和文件名非常相似,从而可以逃避受影响用户的检测。
为了进一步隐藏其存在,Perfctl 采用了各种隐身策略。其中包括将许多组件安装为 rootkit,这是一种特定类别的恶意软件,旨在隐藏在操作系统和管理工具之外。其他规避策略包括:
- 在新用户登录时停止容易检测到的活动
- 利用 TOR 上的 Unix 套接字进行外部通信
- 执行后删除其安装二进制文件,然后作为后台服务运行
- 使用一种称为钩子的技术来操纵 Linux 进程 pcap_loop,以防止管理工具记录恶意流量
- 抑制消息错误以避免执行期间出现可见警报。
Perfctl 专为持久性而设计,即使在重新启动或尝试消除核心组件后,它仍可保留在受感染的机器上。它通过修改 ~/.profile 脚本等技术实现此目的,该脚本在用户登录期间初始化环境,使恶意软件能够在合法服务器进程之前加载。它还会将自身从内存复制到多个磁盘位置。pcap_loop 的挂钩进一步增强了持久性,即使在检测到并删除主要有效载荷后,仍允许不安全活动继续进行。
除了利用系统资源挖掘加密货币外,Perfctl 还将受感染的机器转变为盈利代理,允许付费客户中继其互联网流量。网络安全研究人员还指出,该恶意软件可充当安装其他恶意软件系列的后门。
Perfctl 恶意软件感染的攻击流程
利用漏洞或错误配置后,漏洞代码会从受感染的服务器下载主要负载,而该服务器已成为恶意软件的匿名分发渠道。在所检查的攻击中,负载名为 httpd。执行后,文件会从内存复制到 /temp 目录中的新位置,运行复制的版本,终止原始进程,并删除下载的二进制文件。
一旦重新定位到 /tmp 目录,该文件就会以不同的名称执行,该名称模仿已知的 Linux 进程,在本例中具体名为 sh。随后,它建立一个本地命令和控制 (C2) 进程。它试图通过利用 CVE-2021-4043 来获得 root 系统权限,CVE-2021-4043 是一个权限提升漏洞,该漏洞于 2021 年在流行的开源多媒体框架 Gpac 中进行了修补。
然后,恶意软件将自身从内存复制到其他几个磁盘位置,再次使用与常规系统文件类似的名称。它还会部署一个 rootkit 以及一套常用的 Linux 实用程序,这些实用程序已被修改为 rootkit,以及挖矿组件。在某些情况下,恶意软件会安装用于“代理劫持”的软件,这指的是通过受感染的机器秘密路由流量,隐藏数据的真实来源。
作为 C2 操作的一部分,该恶意软件会打开 Unix 套接字,在 /tmp 目录中创建两个目录,并将操作数据存储在那里。这些数据包括主机事件、副本的位置、进程名称、通信日志、令牌和其他日志信息。此外,它还利用环境变量来存储影响其执行和行为的数据。
所有二进制文件都经过打包、剥离和加密,表明该恶意软件致力于规避安全措施,并使逆向工程工作变得复杂。该恶意软件采用了先进的规避策略,例如在 btmp 或 utmp 文件中检测到新用户时暂停活动,并终止任何竞争恶意软件以保持对受感染系统的控制。
Perfctl 使数万台设备面临风险
通过分析各种服务和应用程序连接到互联网的 Linux 服务器数量数据,研究人员估计有数千台机器感染了 Perfctl。他们的研究结果表明,易受攻击的机器(尚未应用 CVE-2023-33426 补丁或配置错误的机器)数量高达数百万台。然而,研究人员尚未评估这些有害矿工产生的加密货币总量。
要检查其设备是否已成为 Perfctl 的攻击目标或感染者,用户应查找已识别的入侵指标。此外,他们还应警惕 CPU 使用率的异常峰值或系统意外减速,尤其是在空闲期间。