腾讯洋葱入侵检测系统 七夜
腾讯蓝军 & 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 compile.js & node compile.js命令
其中 compile.js是一个混淆的脚本,该脚本会执行包当前目录下的compile.bat脚本。
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, and 3.1.3
rc:1.2.9, 1.3.9, 2.3.9
攻击代码只能在Windows平台下运行
IOC
域名:
pastorcryptograph.at
MD5:
a92e05e98957d6623d4b37e77f097631
其他
1、官方已经删除恶意包,但是因为镜像站有缓存机制,官方删除的包镜像站并没有及时同步删除,所以仍然有用户受到影响。这里的缓存同步删除也是各镜像站需要加强的地方。
2、腾讯云主机安全产品“云镜”集成了腾讯自研HIDS洋葱的安全能力,能够第一时间应对各种安全问题,欢迎大家体验。
3、此次事件在我们内部最早由业务线的测试开发同事发现,这得益于我们在公司内开展的“寻找鹅厂最强黑客”系列安全剧本杀比赛,提升了非安全专业人员的安全意识和能力,真正实践落地DevSecOps的“安全靠大家”的理念。剧透一下,类似比赛即将通过TSRC对外开启,敬请期待
相关参考资料
https://www.bleepingcomputer.com/news/security/popular-coa-npm-library-hijacked-to-steal-user-passwords
https://github.com/dominictarr/rc/issues/131
https://github.com/veged/coa/issues/99#issue-1044749810
延伸阅读
2. 源头之战,不断升级的攻防对抗技术——软件供应链攻击防御探索
3. FIN8 APT组织新动作:一起 “精心布置” 的定向窃密活动
原文始发于微信公众号(腾讯安全应急响应中心):安全通知|NPM官方仓库遭遇coa等恶意包投毒攻击