SysJoker:以npm软件供应链为攻击入口的跨平台恶意后门分析
字数 1471 2025-08-07 08:22:09
SysJoker恶意软件通过npm供应链攻击分析
1. 概述
SysJoker是一种跨平台恶意后门软件,能够感染Windows、Linux和macOS系统。奇安信技术研究院星图实验室通过自研的"天问"软件供应链安全分析平台,发现SysJoker通过npm软件包仓库进行传播,具体通过两个恶意npm包:
mos-sass-loadercss-resources-loader
这两个包均由同一个账号上传至npm公开仓库,最早出现时间为2021年10月7日。
2. 攻击时间线
- 2021年10月7日:第一个恶意包
mos-sass-loader出现在npm生态中 - 2021年10月25日:攻击者上传第二个恶意包
css-resources-loader - 2022年1月11日:Intezer发布关于SysJoker恶意软件的报告
3. 恶意包分析
3.1 mos-sass-loader
基本特征:
- 存在时间:2021.10.7 - 2021.10.26(19天)
- 仿冒对象:流行的
sass-loader包(周下载量超千万次)
攻击者信息:
- GitHub账号:
moshee411(https://github.com/moshee411) - npm上传账号:
moshe.411(邮箱:moshe411@bezeqint.net) - 作者名称:Maik Jonson(可能是伪造身份)
- 关联域名:
bezeqint.net(以色列电信供应商所有)
技术细节:
- 包中包含gitHead信息,通过git记录追踪到上传者
- 共有两个版本,版本间存在差异(具体差异未详细说明)
3.2 css-resources-loader
基本特征:
- 存在时间:2021.10.25 - 2021.10.26(仅1天)
- 仿冒对象:
style-resources-loader包(周下载量40万次)
技术细节:
- 共发布过10个版本
- 攻击者持续修改启动恶意后门的脚本
- 反混淆后的js代码会调用SysJoker后门运行,并将结果写入文件
4. SysJoker恶意软件特点
- 跨平台支持:Windows、Linux、macOS
- 早期版本疑似用于调试,可能已造成传播感染
- 通过仿冒高使用率的Web资源打包工具进行传播(特别是CSS/SASS处理模块)
5. 检测与防御建议
自查建议:
- 检查项目是否使用了
sass-loader和style-resources-loader - 验证这些包的来源和完整性
防御措施:
- 使用可信的软件供应链安全分析工具(如"天问"平台)
- 对npm包进行来源验证和完整性检查
- 关注软件包更新和社区安全公告
6. IoCs(入侵指标)
Windows样本:
- d1d5158660cdc9e05ed0207ceba2033aa7736ed1
- 0bf2615f85ae7e2e70e58d5d70491cea37c4e80f(新增)
Mac样本:
- 554aef8bf44e7fa941e1190e41c8770e90f07254
- 8b49f61ce52f70dc3262c3190a6c7f2f7d9fdae8(新增)
7. 总结
SysJoker恶意软件通过npm供应链攻击传播,具有以下特点:
- 精心策划的供应链攻击,选择高使用率的包进行仿冒
- 攻击持续时间长(20天),影响范围可能较大
- 攻击者持续改进恶意代码,发布多个版本
- 跨平台特性增加了防御难度
开发者和企业应加强软件供应链安全管理,特别是对第三方依赖项的审查和监控。