恶意 Packagist PHP 包
网络安全分析师在 Packagist 上发现了恶意 PHP 软件包,这些软件包伪装成合法的 Laravel 辅助库,同时暗中部署跨平台远程访问木马 (RAT)。该恶意软件可在 Windows、macOS 和 Linux 环境下无缝运行,对受影响的系统构成重大风险。
已识别的包裹包括:
- nhattuanbl/lara-helper(37 次下载)
- nhattuanbl/simple-queue(下载量:29)
- nhattuanbl/lara-swagger(49 次下载)
尽管 nhattuanbl/lara-swagger 本身并不包含恶意代码,但它将 nhattuanbl/lara-helper 列为 Composer 依赖项,这会导致嵌入式远程访问木马 (RAT) 的安装。尽管已公开披露,这些软件包仍然可以从代码仓库中访问,应立即从任何受影响的环境中移除。
目录
混淆视听的策略掩盖恶意意图
详细的代码分析表明,lara-helper 和 simple-queue 都包含一个名为 src/helper.php 的文件,该文件经过精心设计以逃避检测。该恶意软件采用了高级混淆策略,包括控制流操纵、编码域名和命令字符串、隐藏文件路径以及随机化变量和函数标识符。
这些技术大大增加了静态分析的复杂性,并帮助恶意载荷绕过传统的代码审查和自动安全扫描工具。
命令与控制基础设施实现对主机的完全接管
远程访问木马(RAT)执行后,会通过 2096 端口连接到 helper.leuleu.net 上的命令与控制(C2)服务器。它会传输系统侦察数据,并进入持续监听状态,等待进一步指令。通信通过 TCP 协议进行,使用 PHP 的 stream_socket_client() 函数。
该后门支持多种操作员发出的命令,从而实现对系统的全面控制。其功能包括:
- 每 60 秒通过 ping 方式自动发送心跳信号。
- 通过信息传输系统分析数据。
- Shell 命令执行(cmd)。
- PowerShell 命令执行(powershell)。
- 后台命令执行(运行)。
为了最大限度地提高可靠性,远程访问木马 (RAT) 会检查 PHP 的 disable_functions 配置,并从以下选项中选择第一个可用的执行方法:popen、proc_open、exec、shell_exec、system 或 passthru。这种自适应方法使其能够绕过常见的 PHP 安全加固措施。
持续重连机制增加风险
尽管已识别的C2服务器目前无响应,但恶意软件被编程为每15秒重试连接,形成一个持续循环。这种持久化机制确保即使攻击者恢复服务器可用性,受感染的系统仍然处于暴露状态。
任何安装了 lara-helper 或 simple-queue 的 Laravel 应用程序实际上都运行着嵌入式远程访问木马 (RAT)。攻击者可以获得完整的远程 shell 访问权限,能够读取和修改任意文件,并持续查看每个受感染主机的系统级详细信息。
执行环境放大影响
激活过程会在应用程序启动时通过服务提供程序自动完成,或者在简单队列模式下通过类自动加载完成。因此,远程访问木马 (RAT) 与 Web 应用程序在同一进程中执行,并继承相同的文件系统权限和环境变量。
此执行上下文赋予攻击者访问敏感资产的权限,例如数据库凭据、API 密钥和 .env 文件的内容。因此,此次攻击不仅限于系统级控制,还会导致应用程序机密信息和基础设施访问权限的完全暴露。
通过清洁包装建立信誉战略
进一步调查显示,同一发布者还发布了其他软件包——nhattuanbl/lara-media、nhattuanbl/snooze 和 nhattuanbl/syslog——这些软件包不包含恶意代码。这些软件包似乎旨在建立信誉,以提升用户信任度并鼓励用户使用恶意软件包。
立即采取的缓解和应对措施
安装了任何恶意软件包的组织应假定其系统已被入侵。必须采取的应对措施包括立即移除受影响的库文件、轮换所有可从应用程序环境访问的凭据,以及对出站网络流量进行彻底审计,以查找试图连接到已识别的 C2 基础架构的攻击。
如果指挥控制基础设施再次运行,而应对措施又不果断,则系统可能容易受到攻击者的再次入侵。