在 npm(Node 包管理器)上发现了两个恶意包,它们秘密修补合法的本地安装包以注入持久的反向 shell 后门。
这样,即使受害者删除了恶意软件,后门仍然留在他们的系统中。
这种新策略是由 Reversing Labs 的研究人员发现的,他们警告说,即使软件包没有被大量下载,也会带来风险。
Reversing Labs 解释道:在 npm 上遇到下载程序并不罕见;它们可能不像信息窃取者那么常见,但也并不少见,然而,由于攻击者采用了特殊策略来隐藏其传递的恶意负载,因此这个下载程序值得讨论。
Reversing Labs 在对开源供应链进行例行安全调查期间发现的两个软件包是“ethers-provider2”和“ethers-providerz”。
第一个包在撰写本文时仍然可以在 npm 上使用,它基于流行的“ssh2”npm 包,但修改了“install.js”脚本,该脚本从外部源下载第二阶段有效负载,执行后在完成后删除以清除所有痕迹。
第二阶段监视合法的“ethers”包,一旦找到,它就用木马版本替换合法的“provider-jsonrpc.js”文件。
注入的文件现在从远程主机获取第三阶段的有效负载,从而使用修改后的 SSH 客户端启用反向 shell,模仿合法的 SSH2 客户端行为。
这次攻击非常危险的原因在于,即使卸载了“ethers-provider2”,ethers 包上的后门也不会被删除,因此合法包仍然受到感染。
“ethers-providerz”包具有类似的行为,但目标是@ethersproject/providers 包。
根据代码分析,其最终目标也是使用指向相同恶意 IP 地址的反向 shell 来修补目标程序包(5[.]199[.]166[.]1:31337)
Reversing Labs 报告称,此软件包的早期版本存在路径错误,导致其无法按预期工作。作者已将其从 npm 中移除,并可能计划在修复这些错误后重新引入。
研究人员还提到了另外两个软件包,即“reproduction-hardhat”和“@theoretical123/providers”,它们似乎与同一项活动有关。
Reversing Labs 已包含一条 YARA 规则来检测与此活动相关的已知恶意软件,因此开发人员应使用它来扫描其环境以查找残留威胁。
一般来说,当从 PyPI 和 npm 等包索引下载包时,建议仔细检查其合法性(以及其发布者的合法性)并检查其代码是否存在风险迹象,例如混淆的代码和对外部服务器的调用。
原文始发于微信公众号(犀牛安全):新的 npm 攻击利用后门毒害本地软件包
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
点赞
https://cn-sec.com/archives/3900414.html
复制链接
复制链接
-
左青龙
- 微信扫一扫
-
-
右白虎
- 微信扫一扫
-
评论