NPM包可窃取浏览器密码

[[413444]]

近日,研究人员发现官方NPM库中的软件包可以从Chrome web浏览器窃取保存的密码。

NPM 是Node.js的包管理器,共有超过150万个包,每个月的下载量超过300亿次。研究人员分析发现,NPM中包含不同类型的可执行文件,包括PE、ELF、MachO等。

研究人员分析发现nodejs_net_server包的多个版本中都具有恶意行为。通过这些包的metadata数据分析发现该文件的原始名为a.exe,位于lib文件夹中。研究人员进一步分析发现a.exe是一个ChromePass工具,用来恢复Chrome web浏览器中保存的密码。

图1: ChromePass工具

该工具本身并不是恶意的,但是可以用于恶意目的。比如,该包使用它来执行恶意密码窃取和凭证窃取。虽然该密码恢复工具有图形用户接口,但是恶意软件作者好像更喜欢用命令行工具。

图2: nodejs_net_server NPM包

NPM的 nodejs_net_server包页面表明该包的最新版本为v1.1.2,大约6个月前发布。该包的URL主页指向一个GitHub地址。该包的开发者为chrunlee,是GitHub的活跃开发者,GitHub账号中含有一个web链接:hxxps://chrunlee.cn 。

图3: chrunlee的 github页面

NPM版本历史表明该包一共发布了12个版本,总下载次数为1283次。

表 1: nodejs_net_server版本

有意思的是发布的1.1.1和1.1.2版本中包含了测试ChromePass工具的结果。这些登录凭证信息保存在相同文件夹的a.txt文件中, 因为密码恢复工具名为a.exe。

文本文件中包含2020年3月到2020年12月创建的282个登录凭证信息。图4可以看出恶意软件作者并没有遵循密码的最佳安全实践。

图4: 恶意软件作者从浏览器中恢复的密码

另外,恶意软件作者还通过类似单词(typosquatting)诱使受害者执行恶意包。恶意软件作者使用与主流包类似名的包来诱使用目标安装包。本例中,恶意软件作者使用了不同的方式来滥用npm包的配置选项。

NPM包在package.json 配置文件中的bin 域来PATH路径安装一个或多个可执行文件。包安装后,NPM会将该文件软链到prefix/bin文件夹(全局安装)或./node_modules/.bin/ 文件夹(本地安装)。这些可执行文件可能会被分配给任意名,如果相同名字的模块存在,就会覆写和映射到恶意软件提供的脚本。

NPM下载数据表明该包已经被下载超过3.5万次数。该包在Node.js开发者社区也是非常流行的,在过去7天内下载量超过1000次。该包车位劫持目标的另外一个原因是测试执行时是以命令行形式而非JS文件模块的形式。

图 5: 滥用package.json中的bin域来执行劫持

包安装和成功劫持后,恶意软件还会通过将 lib/test.js 脚本安装为Windows服务的形式来实现驻留。

图6: 驻留Windows服务安装

该服务会打开一个socket来监听7353端口的命令。支持的命令包括逆向host和端口配置、目录内容监听、文件查询、文件上传、shell命令执行、屏幕和摄像头录制。浏览器密码窃取是通过之前下面的ChromePass 工具的shell命令执行实现的。

图7: 创建监听socket

该包的主页和GitHub仓库链接目前都指向不存在的web页面。查看恶意软件开发者chrunlee发布的其他NPM包发现了一个同样没有链接的包。该包名为tempdownloadtempfile,只在2019年6月发布过1个版本。其中只包含 package.json 和file/test.js文件。file/test.js文件实现了nodejs_net_server 包中实现的相同的远程shell功能,但该包并不执行劫持也没有驻留机制。

本文翻译自:https://blog.secure.software/groundhog-day-npm-package-caught-stealing-browser-passwords如若转载,请注明原文地址。

 

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/152004.html<

(0)
运维的头像运维
上一篇2025-03-13 19:36
下一篇 2025-03-13 19:38

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注