在一场大规模的软件供应链攻击中,一名密码窃取者被发现通过 ChromePass 从 Windows 系统上的 Chrome 窃取凭据。
ChromePass 是一款适用于 Windows 的小型密码恢复工具,可用于查看 Chrome 浏览器存储的用户名和密码。对于每项密码条目,将显示以下信息:源 URL、操作 URL、用户名字段、密码字段、用户名、密码和创建时间。它允许使用者从当前运行的系统或存储在外部驱动器上的用户配置文件中获取密码。
研究人员发现,在 npm 的开源代码仓库中存在一个使用合法密码恢复工具的凭据窃取代码炸弹,它潜伏在仓库中,以伺机植入到从该源提取代码的庞大应用程序中。
研究人员发现被渗透的 npm 仓库会被植入恶意软件,该恶意软件会从 Windows 系统上的 Chrome 浏览器中窃取凭据。该密码窃取器具有多种功能:监听来自攻击者的命令和控制 (C2) 服务器的传入命令,并能上传文件,从受害者的屏幕和摄像头中进行记录,以及执行 shell 命令。
据介绍,主要威胁来自 nodejs_net_server 和 temptesttempfile 这两个软件包。通过静态分析,研究人员在 nodejs_net_server 包的多个版本中发现了 Win32.Infostealer.Heuristics 文件。它的元数据显示该文件的原始名称是"a.exe",位于 "lib" 文件夹内。研究人员指出,带有类似扩展名的单字母文件名会向威胁猎人发出危险信号。原来,a.exe 正是是上文提到的 ChromePass:一种用于恢复存储在 Chrome 浏览器中的密码的合法工具。
nodejs_net_server 软件包的作者并不是一开始就在里面植入了窃取密码的程序,研究人员发现,作者通过 12 个版本增强了 nodejs_net_server 软件包,直到去年 12 月使用脚本对其进行升级,以植入密码窃取程序。
研究人员于 7 月 2 日联系了 npm 安全团队,告知他们其仓库存在安全威胁的软件包。不过直到这些软件包才被删除。
最后,作为 Web 开发者,你对于使用 npm 软件包有什么建议?还是坚持只使用自己编写的代码,不引入任何第三方包?
本文转自OSCHINA
本文标题:npm 仓库被渗透,可利用 Chrome 的账户恢复工具窃取密码
本文地址:https://www.oschina.net/news/152135/npm-package-steals-chrome-passwords