安全通知|NPM官方仓库遭遇coa等恶意包投毒攻击

时间:2024-10-26 19:45:01

腾讯洋葱入侵检测系统  七夜

腾讯蓝军 & TSRC  Silence

腾讯宙斯盾流量安全分析团队  Pav1、余忆

概述

今天,腾讯洋葱入侵检测系统发现开源软件沙箱主机出现异常行为,跟进发现npm官方仓库的coa、rc被投毒攻击,已经在腾讯软件源紧急拦截相关版本。目前npm官方仓库已将相应版本的恶意包删除,但由于国内开源镜像站均同步npm官方仓库且存在缓存,所以恶意包还可能通过各个开源镜像站影响广大用户。

腾讯安全应急响应中心(TSRC)秉承共建安全生态的原则,在此建议大家自查处理,确保安全风险得到消除。

事件描述

11月4日,npm仓库中非常流行的coa、rc软件包被攻击者劫持,更新了数个版本,并在其中注入了恶意代码,该恶意代码只针对Windows服务器,且软件包的攻击手法相同,推测属于同一团伙所为。coa和rc软件包的周下载量接近千万级别,并被数百万开源项目所依赖,其中就包括著名前端框架react,因此影响范围非常广。

据宙斯盾流量团队的数据,恶意域名11月3日注册,4日凌晨开始有请求,被曝光后相信很快就会被遏制。

简要分析

在安装coa和rc软件包时,会执行start /B node & node 命令

其中 是一个混淆的脚本,该脚本会执行包当前目录下的compile.bat脚本

通过变量扩展的方式对代码内容进行了混淆,难以阅读。还原之后的bat脚本如下,会下载恶意的DLL文件。

该DLL加载后会根据不同参数执行窃取chrome/Firefox/Opera等浏览器的密码、键盘记录等功能,目前已经被各大杀软查杀。

另外,npm上的bento-modern、nlkfvbdfl包也是同样手法,但是代码很简单,推测是攻击者在测试代码混淆功能。ua-parser-js是10月23日上传,24日被洋葱发现。

受影响版本

coa:2.0.3, 2.0.4, 2.1.1, 2.1.3, 3.0.1 and 3.1.3

rc:1.2.9, 1.3.9, 2.3.9

攻击代码只能在Windows平台下运行

IOC

域名:

MD5:

a92e05e98957d6623d4b37e77f097631

其他

1、官方已经删除恶意包,但是因为镜像站有缓存机制,官方删除的包镜像站并没有及时同步删除,所以仍然有用户受到影响。这里的缓存同步删除也是各镜像站需要加强的地方。

2、腾讯云主机安全产品“云镜”集成了腾讯自研HIDS洋葱的安全能力,能够第一时间应对各种安全问题,欢迎大家体验。

3、此次事件在我们内部最早由业务线的测试开发同事发现,这得益于我们在公司内开展的“寻找鹅厂最强黑客”系列安全剧本杀比赛,提升了非安全专业人员的安全意识和能力,真正实践落地DevSecOps的“安全靠大家”的理念。剧透一下,类似比赛即将通过TSRC对外开启,敬请期待

相关参考资料

/news/security/popular-coa-npm-library-hijacked-to-steal-user-passwords

/dominictarr/rc/issues/131

/veged/coa/issues/99#issue-1044749810

延伸阅读

1. 浅析软件供应链攻击之包抢注低成本钓鱼

2. 源头之战,不断升级的攻防对抗技术——软件供应链攻击防御探索

3. FIN8 APT组织新动作:一起 “精心布置” 的定向窃密活动

4. NPM遭遇供应链投毒攻击窃取K8S集群凭证

5. PyPI 官方仓库遭遇covd恶意包投毒

6. PyPI 官方仓库遭遇request恶意包投毒

7. 腾讯洋葱反入侵系统检测到多例恶意Python库供应链投毒