0x00 风险概述
2021年10月20日,Sonatype安全团队公开披露了其自动恶意软件检测系统本月在npm库中发现的3个恶意软件包。这些恶意软件包伪装成合法的JavaScript库,但却发现在Windows、macOS和Linux系统上挖掘加密货币。
0x01 攻击详情
所有恶意软件包都是由同一个人发布的,其账户已被停用:
这些恶意软件包包括:
-
okhsa
-
klow
-
klown
不同版本的okhsa软件包主要包含在Windows机器上预安装启动计算器应用程序的框架代码。但除此之外,这些版本还包含了 klow或 klown 的npm包作为依赖项,这是恶意的。Sonatype安全团队已将klow和klown跟踪为Sonatype-2021-1472,okhsa跟踪为Sonatype-2021-1473。
在okhsa的清单文件package.json中,klown被列为一个依赖项:
研究人员发现,klown在npm团队删除klow几小时内就出现了。Klown谎称自己是合法的JavaScript库UA-Parser-js,以帮助开发人员从User-Agent HTTP头中提取硬件的具体情况(操作系统、CPU、浏览器、引擎等)。
但经过研究人员的分析,软件包klow和klown包含一个加密货币矿工。这些软件包在预安装阶段检测当前的操作系统,并根据用户运行的是 Windows 还是基于 Unix 的系统运行 .bat 或 .sh 脚本。
然后这些脚本下载一个外部托管的EXE或Linux ELF,并执行二进制文件,其参数指定要使用的矿池、要挖掘加密货币的钱包,以及要利用的CPU线程数。在klown软件包中发现的一个批处理脚本如下所示,该脚本从俄罗斯主机 185.173.36[.]219 下载jsextension.exe。
该EXE是一个已知的加密矿工,之前被VirusTotal标记过。对于Linux和macOS安装,相同的Bash脚本从同一主机下载 jsextension ELF二进制文件。
以下是通过any.run生成的加密采矿EXE的测试运行的截图。
目前尚不清楚这些软件包的作者是如何针对开发人员的,也没有观察到明显的迹象表明存在盗用或依赖性劫持的情况。Klow(n)表面上确实模拟了合法的UAParser.js库,这使得这种攻击看起来像是一次微弱的劫持尝试。目前npm安全团队已在2021年10月15日删除了这些恶意软件包。
0x02 风险等级
高危。
0x03 影响范围
这些恶意软件包针对Windows、macOS 和 Linux 设备。
0x04 安全建议
目前这些恶意软件包已被删除,建议相关用户查看自己的开发环境并及时删除恶意软件包。此外,随着开发人员和开发环境越来越频繁的成为攻击者和恶意软件的目标,这意味着不断发展的开源供应链攻击需要更高级的保护。
0x05 参考链接
https://blog.sonatype.com/newly-found-npm-malware-mines-cryptocurrency-on-windows-linux-macos-devices
https://www.virustotal.com/gui/file/ea131cc5ccf6aa6544d6cb29cdb78130feed061d2097c6903215be1499464c2e
https://app.any.run/tasks/4022f9ff-dc31-4409-8f87-4416c76b7ebd/
0x06 版本信息
版本 |
日期 |
修改内容 |
V1.0 |
2021-10-21 |
首次发布 |
0x07 关于我们
关注以下公众号,获取更多资讯:
原文始发于微信公众号(维他命安全):【供应链安全】利用恶意的npm软件包挖掘加密货币
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论