Axios供应链攻击深度分析:朝鲜黑客植入跨平台RAT,波及全球多行业

🎯 Critical APT组织

Palo Alto Unit42披露了一起严重的供应链攻击,攻击者劫持了流行JavaScript库Axios维护者的npm账号,发布了两个恶意版本(v1.14.1和v0.30.4)。这些版本通过植入隐藏依赖plain-crypto-js,在安装时触发后门脚本,针对Windows、macOS和Linux系统部署远程访问木马(RAT),并与朝鲜黑客组织(WAVESHAPER)存在关联。

来源:Palo Alto Unit42 | 2026-04-01 | 原文链接

🔍 关键发现

  • 攻击者通过劫持Axios维护者的npm账户,发布了两个恶意版本,但未修改Axios源代码,而是通过注入plain-crypto-js依赖实现攻击。
  • 恶意依赖利用npm的postinstall生命周期钩子执行高度混淆的Node.js dropper,该dropper采用双层编码(字符串反转、Base64和XOR加密)隐藏操作。
  • dropper根据操作系统下载不同平台的RAT载荷:macOS使用C++编译的Mach-O二进制,Windows使用PowerShell脚本,Linux使用Python脚本,所有变体共享相同的C2协议和命令集。
  • 攻击者具备反取证能力:整个攻击过程约15秒,之后会自动删除恶意文件、替换package.json为干净文件,隐藏入侵痕迹。

⚔️ 攻击链分析

1. 攻击者劫持Axios维护者npm账户,发布包含恶意依赖plain-crypto-js的版本。 2. 开发者运行npm install axios时,npm自动安装plain-crypto-js并触发postinstall脚本。 3. 脚本收集系统信息,向C2服务器(sfrclak[.]com:8000)发送请求,下载对应平台的RAT载荷。 4. RAT建立持久化,每60秒回连C2,执行攻击者下发的命令(自毁、执行脚本、注入payload、枚举目录)。

🚩 失陷指标 (IOC)

  • sfrclak[.]com:8000
  • plain-crypto-js@4.2.1
  • packages.npm[.]org/product0 (macOS)
  • packages.npm[.]org/product1 (Windows)
  • packages.npm[.]org/product2 (Linux)
  • /Library/Caches/com.apple.act.mond (macOS)
  • %PROGRAMDATA%\wt.exe (Windows)
  • /tmp/ld.py (Linux)

🛡️ 缓解建议

  • ✅ 立即检查项目中使用的axios版本,若为v1.14.1或v0.30.4,立即升级到安全版本(如v1.14.2+或v0.30.5+),并删除node_modules目录重新安装。
  • ✅ 使用npm audit或第三方SCA工具扫描依赖树,查找plain-crypto-js或可疑的postinstall脚本。
  • ✅ 部署端点检测与响应(EDR)产品,监控异常进程创建、网络连接(特别是sfrclak[.]com)和文件写入行为。
  • ✅ 实施最小权限原则,限制npm install的执行环境,避免在敏感系统或生产环境中直接运行未经验证的包。

涉及漏洞:[]


⚠️ 本文仅供安全研究与学习,IOC 信息请勿用于非法目的。

[!] CONTACT_CHANNELS

如需商务合作、技术咨询或漏洞反馈,请通过以下离岸节点联系作者。

> PING_AUTHOR (@A1RedTeam)