恶意NPM软件包从浏览器窃取用户保存的密码时被抓获

官方NPM存储库中提供的一个软件包实际上是一个工具的前端,该工具旨在从Chrome web浏览器窃取保存的密码。
该软件包名为“nodejs_net_server”,自2019年2月以来下载了1283次,最近一次更新是在7个月前(版本1.1.2),其相应的存储库导致在GitHub上托管的位置不存在。
ReversingLabs研究员卡罗·赞基(Karlo Zanki)在与《黑客新闻》(Hacker News)分享的一份分析报告中说:“它本身并不是恶意的,但当被置于恶意使用环境中时,它可能是恶意的。”。“例如,这个软件包使用它来执行恶意密码窃取和凭据过滤。尽管这个现成的密码恢复工具带有图形用户界面,但恶意软件作者喜欢使用它,因为它也可以从命令行运行。”
虽然发布该软件包的第一个版本只是为了测试发布NPM软件包的过程,但这位名为“Chrunley”的开发人员进行了后续修订,以实现一个远程shell功能,该功能是在几个后续版本上临时设计的。
随后,他们添加了一个脚本,下载了他们个人网站上托管的ChromePass密码窃取工具(“hxxps://chrunlee.cn/a.exe),三周后才对其进行修改,以运行TeamViewer远程访问软件。

有趣的是,作者还滥用了“package.json”文件中指定的NPM包的配置选项,特别是用于安装JavaScript可执行文件的“bin”字段,以劫持名为“jstest”和#8212;跨平台JavaScript测试框架—;使用恶意变体,利用它通过命令行启动服务,该命令行能够接收一系列命令,包括文件查找、文件上载、shell命令执行以及屏幕和摄像头录制。
ReversingLabs表示,它曾两次向NPM的安全团队报告了该流氓软件包,一次是在7月2日,另一次是在7月15日,但指出迄今为止尚未采取任何行动将其取缔。我们已经联系NPM寻求进一步的澄清,我们将在收到回复后更新报道。
如果说有什么区别的话,这一发展再次暴露了依赖公共软件包存储库中托管的第三方代码的差距,因为软件供应链攻击成为了威胁参与者滥用对互联IT工具的信任来制造日益复杂的安全漏洞的一种流行策略。
Zanki说:“软件包存储库的日益普及及其易用性使其成为完美的目标。”。“当开发人员重用现有库以更快、更容易地实现所需的功能时,他们很少在将其纳入项目之前进行深入的安全评估。”
“这种遗漏是由于在第三方代码中发现的潜在安全问题具有压倒性的性质,而且数量巨大。因此,通常情况下,会快速安装软件包,以验证它们是否解决了问题,如果它们没有解决问题,则转向另一种解决方案。这是一种危险的做法,可能会导致意外安装“恶意软件,”Zanki补充道。
更新:违规的NPM软件包现已从存储库中取出,GitHub发言人告诉《黑客新闻》:“我们按照NPM关于恶意软件的可接受使用政策(如其开源条款所述)删除了该软件包。”
访问“nodejs_net_server”的NPM页面时,现在会显示消息“此包包含恶意代码,已被NPM安全团队从注册表中删除。”