查看原文
其他

攻击者使用误植域名窃取NPM凭证

代码卫士 2022-04-06



作者:Tom Spring

翻译:360代码卫士团队



前言



寻找开发人员凭证的黑客使用误植域名通过托管在在线仓库npm的库传播恶意代码。共有40个npm数据包是恶意的而且已从Node.js数据包管理注册表中删除。


什么是误植域名?



Npm博客文章在对事件的描述中指出,一位名叫HackTask的用户在7月19日至7月31日上传了恶意JavaScript库。Npm为JavaScript维护了Node包管理器并托管着“全球最大的软件注册表”。每个恶意数据包的命名都与流行的现有npm数据包类似,以达到混淆目的。这种做法被称为“误植域名”。过去这种做法基本不是故意的。而这次数据包命名是故意且恶意的,目的就是收集用户数据。


窃取开发人员凭证



JavaScript数据包旨在从所感染的项目中窃取环境变量如开发人员的凭证,并将它们上传至受攻击者控制的服务器npm.hacktask.net中。


例如一个恶意数据包被命名为“crossenv”,专门跟一个真实存在的数据包“cross-env” 混淆。从中可看出,真正的危险来自下载量近700的crossenv数据包,另外还有从jquery误植域名中暴露。但即使在那个案例中,多数下载量来自要求16个crossnv版本副本的反射器。估计crossenv的真实安装量最多只有50次或者更少。


瑞典开发人员OscarBolmsten发现了crossenv数据包中的恶意代码并通过推特在8月1日告知npm。


深入调查后,npm认为crossenv数据包所使用的一个JavaScript ObjectNotation 配置文件正在运行一个脚本,将开发者凭证转换为可通过POST请求发送给npm.hacktask.net的字符串。Npm表示,“如果你下载并安装了这些数据包中的任意一个,你应该立即撤销并替代在shell环境中的所有凭证。”


防范措施



为了避免再次发生类似攻击,npm表示正在支持Life Security和Node Security Project并且针对公共注册包实施静态分析。Npm博客文章指出,“我们正在讨论检测并阻止出现跟现有数据包名称非常类似的情况。可通过编程方式检测这类情况,而且可通过这些方法阻止出现类似名称。”



本文由360代码卫士编译,不代表360观点,转载请注明“转自360代码卫士www.codesafe.cn”。



360代码卫士    长按二维码关注我们!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存