发现带有隐藏端点的恶意npm软件包,这些软件包会通过命令擦除系统数据。开发人员已警告检查express-api-sync和system-health-sync-api的依赖项。
安全研究人员发现了两个npm软件包,它们的功能远超其宣传。这两个软件包伪装成系统监控和数据同步实用程序,却植入了破坏性后门,可以根据需要远程清除开发者应用程序中的所有文件。
Socket威胁研究团队曝光了恶意软件包express-api-sync和system-health-sync-api,均以npm帐户“botsailer”发布。虽然名称暗示其功能无害,但底层代码却讲述了一个更加黑暗的故事。
根据该公司分享的技术报告express-api-sync,该软件包看似是一款简单的数据库同步工具。但它实际上并不同步任何内容,而是/api/this/that向任何包含它的Express应用注入一个隐藏的HTTP POST端点( )。
一旦使用硬编码键“DEFAULT_123”触发,它就会执行Unix 命令rm -rf *,有效地清除应用程序当前目录、源代码、配置、用户上传甚至本地数据库中的所有内容。
这种攻击悄无声息地启动。没有日志,没有控制台输出,而且由于错误处理程序为空,即使路由注册失败也没有任何提示。大多数开发人员直到为时已晚才会察觉任何异常。
express-api-sync具有破坏性,而system-health-sync-api则更进一步。它的结构类似于真实的系统监视器,具有功能齐全的健康检查、SMTP集成以及对Express、Fastify甚至原始HTTP服务器的动态支持。
在底层,它收集服务器数据、主机名、IP、进程ID和环境哈希,并通过电子邮件发送到硬编码地址:anupm019@gmailcom。它甚至记录后端URL,帮助攻击者映射服务器基础设施。
该软件包支持跨平台文件删除:rm -rf *对于基于 Unix 的系统和rd /s /q .Windows,该命令不仅会删除文件,还会完全擦除当前目录。
/_/system/health该后门可以通过两个POST端点(和)触发/_/sys/maintenance,每个端点都需要密钥“HelloWorld”。开发人员可能认为配置是可定制的,但除非明确覆盖设置,否则默认值可确保攻击者的访问有效。
电子邮件被用作隐蔽的控制通道。SMTP凭证嵌入到数据包中,使用Base64编码进行掩码处理,但很容易被解码。系统启动时,恶意软件会检查与邮件服务器的连接。如果成功,则确认攻击者的命令通道处于活动状态。
1. 侦察:GET请求/_/system/health返回系统信息。
2. 试运行(可选):如果配置了,攻击者可以进行测试而不会造成损害。
3. 销毁:带有正确密钥的POST请求将触发完整文件删除。
4. 通知:发送电子邮件警报,其中包含详细的服务器指纹和后端URL。
该软件包甚至会调整响应以帮助攻击者了解密钥何时不正确,并提供正确使用的提示。
大多数供应链攻击都侧重于窃取数据或加密货币。这两种攻击方式都旨在破坏。攻击动机也发生了转变,从盈利转向破坏。攻击者现在似乎更感兴趣的是让系统下线、收集基础设施情报或扰乱竞争对手。他们正在构建一些可以潜伏、收集信息并在最意想不到的时候启动的工具。
中间件的使用使这种情况更加危险。中间件会在每个请求上运行,并且通常拥有对应用程序内部的完全访问权限。这些软件包利用了这种信任,悄悄地嵌入路由,并赋予其破坏整个生产环境的权限。
Saviynt首席信托官Jim Routh对最新进展发表评论称:“这是一起利用恶意软件入侵软件供应链的案例,恶意软件被设计成看似无害,但一旦嵌入就会激活后门。企业的关键在于改进所有有权访问软件构建流程的人员(包括员工和承包商)的身份访问管理。”
开发人员和DevOps团队应立即审查其依赖项。使用行为扫描工具,检查软件包的功能,而不仅仅是其声明的功能。传统的扫描工具会漏掉这些威胁,因为它们不检查运行时行为。
评论已关闭。