文章总结: 本文拆解Apifox供应链投毒攻击。攻击者篡改官方CDN脚本,利用仿冒域名隐蔽通信,采用7层混淆及RSA加密对抗分析。攻击链从自毁式加载演进至窃取SSH密钥与K8s配置等核心凭证。攻击者因遗留中文注释暴露短板,建议企业强化CDN资源完整性校验与供应链管控。 综合评分: 86 文章分类: 供应链安全,漏洞分析,威胁情报,WEB安全,代码审计
Apifox 供应链投毒攻击全流程技术拆解
Khan安全团队
2026年3月27日 19:54 海南
近期,知名 API 协作平台 Apifox 遭遇一场精心策划、隐蔽性极强的供应链投毒攻击。攻击者通过篡改其官方 CDN 上的统计脚本,在长达 18 天的时间里,向全球海量开发者终端植入了一个高度复杂的远程代码执行(RCE)后门,其攻击手段之缜密、技术门槛之高,引发行业广泛关注。
本次攻击不仅在技术实现上采用 7 层高强度混淆,大幅提升安全分析难度,更在社会工程学层面巧借极具迷惑性的二级域名,降低开发者警惕性。以下结合技术细节,对此次事件进行全面、深度的复盘拆解,还原攻击全貌。
一、投毒路径:从合法脚本到恶意后门的隐秘篡改
#
攻击始于 2026 年 3 月 4 日,Apifox 桌面端(基于 Electron 框架开发)在启动过程中,会自动加载官方 CDN 上的事件追踪脚本,该脚本为攻击者提供了可乘之机,成为投毒的核心入口:
攻击入口脚本:hxxps://cdn[.]apifox[.]com/www/assets/js/apifox-app-event-tracking.min.js
通过对比正常版本与投毒版本脚本,可清晰发现异常差异:
- 正常版本:文件大小约 34KB,核心功能为加载 GA4、阿里云 SLS 等标准统计模块,代码逻辑清晰、无多余冗余内容。
- 投毒版本:文件大小增至约 77KB,在原脚本末尾被恶意追加了约 42KB 的重度混淆 JavaScript 代码,该部分代码即为触发后续攻击链的核心恶意组件。
二、狡猾的“伪装者”:apifox.it.com 域名的迷惑性设计
#
攻击者在攻击过程中,使用 apifox.it.com 作为 C2(指令与控制)服务器域名,其设计极具迷惑性,成为规避检测、降低警惕的关键手段。
1. 迷惑性极强,易造成认知误导
#
该域名中包含“apifox”核心标识,且后缀“it”易被开发者误解为意大利(Italy)区域服务器域名,或 Apifox 内部测试(Internal Test)域名,大幅降低开发者对该域名的警惕性,从而顺利建立恶意通信。
2. 规避监管,隐藏攻击痕迹
#
需注意的是,.it.com 并非标准国家顶级域名(如.it 为意大利国家顶级域名),而是由第三方机构持有的商业二级域名服务。其注册门槛极低,且无公开 WHOIS 信息,攻击者可轻松隐藏身份,成为规避监管、掩盖攻击痕迹的理想避风港。
3. 伪造合法身份,规避网络检测
#
攻击者借助 Cloudflare 服务隐藏了 C2 服务器的真实源站 IP,同时为该域名配置了合法的 HTTPS 证书,使得恶意流量在网络传输层面,与 Apifox 正常业务流量几乎无差异,有效规避了常规网络防火墙、入侵检测系统(IDS)的检测。
三、七层混淆与 RSA 加密通信:对抗分析的核心手段
#
为对抗安全人员的逆向分析、调试与检测,攻击者对入口恶意脚本进行了极其繁琐的 7 层混淆处理,同时采用 RSA 加密实现双向机密通信,进一步提升攻击的隐蔽性和抗分析能力。
1. 七层混淆:层层伪装,阻碍逆向分析
#
攻击者通过多种混淆技术组合,对恶意代码进行层层包裹,大幅增加逆向分析难度:
- 控制流扁平化:打乱代码正常执行顺序,将线性逻辑拆解为碎片化分支,使分析人员难以梳理代码逻辑。
- 字符串加密:采用 Base64 + RC4 双层加密方式,存储所有敏感字符串(如 C2 域名、文件路径、加密密钥等),避免敏感信息被直接识别。
- 反调试陷阱:嵌入反调试逻辑,一旦监测到调试器(如浏览器 DevTools、逆向调试工具)打开,立即触发无限递归死循环,导致 Apifox 应用崩溃,中断分析过程。
2. RSA 加密通信:双向机密,保障攻击可控性
#
恶意代码中硬编码了一个 RSA-2048 私钥,这一设计在供应链攻击中较为罕见,其核心作用是实现双向加密通信,保障攻击的机密性与可控性:
- 上报加密:攻击者通过该私钥导出公钥,对受害者终端的敏感信息(如密钥、凭证等)进行加密后,再上报至 C2 服务器,防止信息在传输过程中被窃取。
- 指令解密:C2 服务器下发的 Stage-1 载荷均经过加密处理,只有通过该硬编码的 RSA-2048 私钥,才能完成解密并执行,确保只有攻击者能控制受害者终端,实现攻击的定向性与可控性。
四、攻击链阶段拆解:先侦察、后定向,层层渗透
#
本次攻击的完整攻击链分为三个核心阶段,呈现出“先侦察、后定向”的明显特征,攻击者通过逐步渗透,从信息窃取到深度控制,实现对受害者终端的全面掌控。
1. Stage-1:隐蔽加载器 (Loader) —— 攻击入口的“敲门砖”
#
C2 服务器向受害者终端下发一个体积微小的 JS 脚本(即 Stage-1 加载器),该脚本通过动态创建
-->








评论