关键词
恶意软件
网络安全研究人员在 npm 注册表中发现了两个恶意软件包,旨在感染另一个本地安装的软件包,这凸显了针对开源生态系统的软件供应链攻击的持续演变。
有问题的软件包是ethers-provider2和ethers-providerz,前者自2025 年 3 月 15 日发布以来已被下载 73 次。第二个软件包很可能被恶意软件作者自己删除,因此没有吸引任何下载。
ReversingLabs 研究员 Lucija Valentić在与 The Hacker News 分享的一份报告中表示: “它们是简单的下载程序,但恶意负载被巧妙地隐藏起来。”
“有趣的部分在于他们的第二阶段,该阶段将使用包含恶意负载的新文件“修补”本地安装的合法 npm 包ethers。修补后的文件最终将提供反向 shell。”
这一发展标志着威胁者策略的又一次升级,因为卸载恶意软件包并不能消除受感染机器的恶意功能,因为这些变化存在于流行的库中。最重要的是,如果毫无戒心的用户在系统上仍有 ethers-provider2 时删除了 ethers 软件包,那么在稍后再次安装该软件包时,就有再次感染的风险。
ReversingLabs 对 ethers-provider2 的分析表明,它不过是广泛使用的ssh2 npm 包的木马版本,其中包含 install.js 中的恶意负载,以从远程服务器(“5.199.166[.]1:31337/install”)检索第二阶段恶意软件,将其写入临时文件并运行它。
执行后,临时文件会立即从系统中删除,以避免留下任何痕迹。第二阶段有效载荷则启动无限循环,以检查 npm 包 ethers 是否在本地安装。
如果该软件包已经存在或刚刚安装,它会立即采取行动,用伪造的版本替换名为“provider-jsonrpc.js”的文件之一,该版本包含额外的代码,用于从同一服务器获取和执行第三阶段。新下载的有效负载充当反向 shell,通过 SSH 连接到威胁参与者的服务器。
“这意味着,一旦收到来自服务器的自定义消息,与此客户端建立的连接就会变成反向 shell,”Valentić 说道。“即使从受感染的系统中删除了 ethers-provider2 软件包,客户端仍会在某些情况下被使用,从而为攻击者提供一定程度的持久性。”
在此阶段值得注意的是,npm 注册表上的官方 ethers 包并未受到损害,因为恶意修改是在安装后在本地进行的。
第二个包 ethers-providerz 的行为也类似,它试图更改与本地安装的名为“@ethersproject/providers”的 npm 包关联的文件。该库所针对的确切 npm 包尚不清楚,但源代码引用表明它可能是loader.js。
这些发现凸显了威胁行为者在开发人员系统中提供和持久恶意软件的新方式,因此在下载和使用来自开源存储库的软件包之前必须仔细检查。
“尽管下载量不高,但这些软件包功能强大且恶意,”Valentić 表示。“如果他们的任务成功,他们将破坏本地安装的软件包以太,即使该软件包被删除,它们仍会在受感染的系统上保持持久性。”
来源:https://thehackernews.com/2025/03/malicious-npm-package-modifies-local.html
END
原文始发于微信公众号(安全圈):【安全圈】恶意 npm 包修改本地 ethers 库以发起反向 Shell 攻击
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论