恶意npm包篡改本地ethers库以发起反向Shell攻击

admin 2025年3月30日22:45:50评论7 views字数 1243阅读4分8秒阅读模式

恶意npm包篡改本地ethers库以发起反向Shell攻击

网络安全研究人员在npm注册表中发现两个恶意软件包,这些软件包专门感染本地安装的其他程序包,这标志着针对开源生态系统的软件供应链攻击持续升级。

恶意npm包篡改本地ethers库以发起反向Shell攻击
恶意包伪装与感染机制

涉事的两个软件包分别为ethers-provider2和ethers-providerz。其中ethers-provider2自2025年3月15日发布以来已被下载73次,而第二个软件包可能已被恶意软件作者自行删除,未产生任何下载记录。

ReversingLabs研究员Lucija Valentić在报告中表示:"这些是简单的下载器,但其恶意载荷被巧妙隐藏。真正有趣的是它们的第二阶段行为——会'修补'本地安装的正版npm包ethers,用包含恶意载荷的新文件替换原文件。这个被篡改的文件最终会建立反向Shell连接。"

难以清除的持久化威胁

这一发展标志着威胁行为者战术的新升级,因为即使卸载恶意软件包,受感染机器仍无法清除恶意功能,因为修改已植入流行库中。更严重的是,如果用户在ethers-provider2仍存在于系统时卸载ethers包,后续重新安装该包时将面临再次感染的风险。

ReversingLabs对ethers-provider2的分析显示,它实质上是广泛使用的ssh2 npm包的木马化版本,其install.js中包含恶意载荷,用于从远程服务器("5.199.166[.]1:31337/install")获取第二阶段恶意软件,写入临时文件并执行。执行后立即删除临时文件以消除痕迹。

恶意npm包篡改本地ethers库以发起反向Shell攻击
多阶段攻击链分析

第二阶段载荷启动无限循环检查本地是否安装ethers npm包。若检测到该包存在或新安装,就会立即行动,将名为"provider-jsonrpc.js"的文件替换为包含额外代码的伪造版本,这些代码会从同一服务器获取并执行第三阶段载荷。新下载的载荷作为反向Shell,通过SSH连接到攻击者的服务器。

Valentić指出:"这意味着当客户端收到服务器的特定消息时,建立的连接就会转变为反向Shell。即使从受感染系统中删除ethers-provider2包,该客户端仍会在特定情况下被使用,为攻击者提供一定程度的持久性。"

需要特别说明的是,npm注册表中的官方ethers包并未被入侵,所有恶意修改都是在本地安装后进行的。

同源攻击变体

第二个软件包ethers-providerz行为类似,试图修改与本地安装的"@ethersproject/providers"npm包相关的文件。虽然具体目标文件尚不明确,但源代码引用表明可能是loader.js。

这些发现凸显了威胁行为者在开发者系统中传播和维持恶意软件的新手段,强调必须在使用前仔细检查开源仓库中的软件包。Valentić警告称:"尽管下载量较低,但这些软件包功能强大且恶意。若攻击得逞,将破坏本地安装的ethers包,即使卸载该包也能在受感染系统中保持持久性。"

原文始发于微信公众号(FreeBuf):恶意npm包篡改本地ethers库以发起反向Shell攻击

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年3月30日22:45:50
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   恶意npm包篡改本地ethers库以发起反向Shell攻击http://cn-sec.com/archives/3897803.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息