ReversingLabs 的安全研究人员在 npm 软件包存储库中发现了一场新的恶意软件攻击活动,揭示了一种感染开发人员系统的新手段。与典型的恶意软件不同,这次攻击不只是植入恶意代码,而是将其隐藏在用户计算机上已安装的合法软件之中。
这场攻击活动围绕着两个软件包 “ethers-provider2” 和 “ethers-providerz” 展开,它们最初看起来像是无害的下载器。然而,这些软件包会悄然对一个名为 “ethers” 的流行 npm 软件包进行 “打补丁” 操作,“ethers” 是一款广泛用于与以太坊区块链交互的工具,而 “补丁” 实则是一个恶意文件。经过篡改的 “ethers” 软件包随后会打开一个后门,让攻击者能够远程访问受感染的系统。
这次攻击的突出之处在于攻击者在隐藏其恶意负载方面下足了功夫。ReversingLabs 在周三发布报告前与Hackread.com分享的分析显示,该恶意软件竭尽全力掩盖其踪迹,甚至会删除感染过程中使用的临时文件,这在典型的基于 npm 的恶意软件中很少见。
研究人员在他们的博客文章中指出:“这些逃避检测的技术比我们之前在基于 npm 的下载器中所观察到的更加彻底和有效。” 即使删除了最初的恶意软件包也不能确保安全,因为被篡改的 “ethers” 软件包可能会留存下来,并且如果重新安装,它还会再次自我感染。
这次攻击的工作原理是分多个阶段下载恶意软件。最初的下载器获取第二阶段的恶意软件,然后检查 “ethers” 软件包是否存在。如果找到该软件包,它会用一个经过修改的核心文件替换原文件,这个修改后的文件会下载并执行最后一个阶段的恶意软件 —— 一个反向 shell,使攻击者能够完全控制目标系统。
尽管 “ethers” 软件包此后已从 npm 上移除,但在报告发布时 “ethers-providerz” 仍然可以获取,并且已向 npm 维护人员报告了这一情况。研究人员还确定了另外两个与此次攻击活动相关的软件包 “reproduction-hardhat” 和 “@theoretical123/providers”,目前这两个软件包也已被移除。
ReversingLabs 发布了一条 YARA 规则,以帮助开发人员检测他们本地安装的 “ethers” 软件包是否已被篡改。
这一事件很好地提醒了我们,npm 上的恶意软件包仍然是一个严重的问题。尽管 2024 年恶意软件的数量略有下降,但攻击者不断想出新的招数来渗透软件供应链。开发人员需要保持谨慎,并采用严格的安全措施来保护自己和他们的项目安全。
发表评论
您还未登录,请先登录。
登录