恶意npm与VS Code包窃取数据及加密货币资产
60个npm包窃取系统敏感信息
安全研究人员在npm软件包注册表中发现60个恶意组件,这些组件能够收集主机名、IP地址、DNS服务器和用户目录信息,并将其发送至Discord平台控制的终端节点。据Socket安全研究员Kirill Boychenko上周发布的报告显示,这些由三个不同账户发布的软件包均携带安装时脚本,会在npm install命令执行时触发。这些恶意库已被累计下载超过3000次。
"该脚本针对Windows、macOS和Linux系统,包含基本的沙盒逃逸检测功能,使得每台被感染的工作站或持续集成节点都可能成为有价值的侦察数据来源,"这家软件供应链安全公司指出。三个发布账户(每个账户在11天内发布了20个包)分别为:
- bbbb335656
- cdsfdfafd1232436437
- sdsds656565
(上述账户现已被npm平台移除)
高级指纹收集与规避技术
Socket分析表明,恶意代码专门设计用于对安装该包的每台机器进行指纹识别,同时会在检测到亚马逊、谷歌等虚拟化环境时中止执行。收集的主机详情、系统DNS服务器、网卡(NIC)信息及内外网IP地址等数据,最终会传输至Discord的Webhook接口。
"通过收集内外网IP地址、DNS服务器、用户名和项目路径,攻击者能够绘制网络拓扑图,为后续攻击行动识别高价值目标,"Boychenko解释道。
伪装成流行框架的破坏性组件
此次披露还涉及另外8个npm包,它们伪装成React、Vue.js、Vite、Node.js等流行JavaScript框架及开源Quill编辑器的辅助库,安装后却会部署破坏性负载。这些已被下载6200余次的恶意包目前仍可从仓库获取:
- vite-plugin-vue-extend
- quill-image-downloader
- js-hood
- js-bomb
- vue-plugin-bomb
- vite-plugin-bomb
- vite-plugin-bomb-extend
- vite-plugin-react-extend
"这些包伪装成合法插件和工具,暗中携带旨在破坏数据、删除关键文件并使系统崩溃的恶意负载,长期未被发现,"Socket研究员Kush Pandya表示。部分恶意包会在开发者调用时自动执行,递归删除与Vue.js、React和Vite相关的文件,其他则专门破坏基础JavaScript方法或篡改localStorage、sessionStorage和cookies等浏览器存储机制。
其中js-bomb包不仅会删除Vue.js框架文件,还会根据执行时的系统时间触发关机操作。经溯源,这些活动与名为xuxingfeng的威胁行为者有关,该攻击者同时发布了5个功能正常的合法包。"这种同时发布有害和有益软件包的双重策略,营造出合法表象,使恶意包更容易获得信任并被安装,"Pandya补充道。
钓鱼攻击与npm包的组合利用
近期还发现一种新型攻击活动,将传统电子邮件钓鱼与伪装成良性开源库的恶意npm包中的JavaScript代码相结合。Fortra研究员Israel Cerda指出:"建立通信后,该包会加载并交付第二阶段脚本,使用受害者电子邮件地址定制钓鱼链接,将其引导至伪造的Office 365登录页面以窃取凭证。"
攻击始于包含恶意.HTM文件的钓鱼邮件,其中含有托管在jsDelivr上的加密JavaScript代码,关联一个名为citiycar8(现已被移除)的npm包。安装后,包内嵌的JavaScript负载会启动URL重定向链,最终将用户导向伪造的登录页面。
"这次钓鱼攻击展现出高度复杂性,攻击者将AES加密、通过CDN分发的npm包以及多重重定向等技术串联,掩盖其恶意意图,"Cerda强调。
VS Code扩展窃取加密货币凭证
开源仓库的滥用已成为大规模供应链攻击的惯用手法。近期,微软VS Code应用商店中也发现针对Windows平台Solidity开发者的恶意扩展程序,专门窃取加密货币钱包凭证。Datadog安全研究团队将此次活动归因于代号MUT-9332的威胁行为者,涉及的扩展包括:
- solaibot
- among-eth
- blankebesxstnion
"这些扩展伪装成合法工具,将恶意代码隐藏在真实功能中,使用的命令控制域名与Solidity相关,通常不会被标记为恶意,"Datadog研究人员表示。所有三个扩展都采用复杂的感染链,包含多阶段混淆恶意软件,其中一个甚至将负载隐藏在Internet Archive托管的图片文件中。
这些扩展宣称能为Solidity开发者提供语法扫描和漏洞检测功能,实际却会窃取Windows系统上的加密货币钱包凭证。其最终目的是植入基于Chromium的恶意浏览器扩展,劫掠以太坊钱包并泄露至命令控制(C2)服务器。
该恶意软件还能安装独立可执行程序,用于捕获键盘输入并扫描Discord、Chromium浏览器、加密货币钱包及Electron应用的数据目录。MUT-9332还被认定是近期10个恶意VS Code扩展活动的幕后黑手,这些扩展伪装成编程或人工智能工具安装XMRig加密货币挖矿程序。
"此活动展现出MUT-9332在隐藏恶意意图方面令人惊讶的创造力,"Datadog警告称,"这些负载更新表明攻击可能会持续,首批恶意VS Code扩展的检测和下架可能促使MUT-9332在后续行动中改变策略。"