Apifox供应链投毒攻击--完整解析
安全应急通告Apifox 桌面端供应链投毒与高危凭证窃取事件一、 事件概述近期监测到 Apifox 公网 SaaS 版桌面客户端遭遇严重的供应链投毒攻击。攻击者通过劫持合法的运行追踪模块向用户下发具备凭证窃取、动态执行与持久化能力的恶意 JavaScript 载荷。该攻击直接威胁开发与运维人员的核心资产安全具有极高的二次供应链攻击及内网渗透风险。二、 影响范围受影响时间窗口2026年3月4日 2026年3月22日受影响版本Apifox 公网 SaaS 版桌面客户端 2.8.19 版本受影响平台Windows / macOS / Linux 全平台覆盖核心风险评估攻击旨在窃取开发者本地高权限凭证SSH 私钥、Git 凭证、云端 AK/SK、K8s Token 等。此类资产泄露将直接导致企业代码仓库被劫持、云原生集群接管及生产环境非授权访问。三、攻击过程第一阶段潜行突破与精准“踩点”初始触发暗中加载与环境侦察当用户启动 Apifox 时被篡改的追踪脚本event-tracking.min.js被激活。它首先充当“侦察兵”快速收集宿主机的硬件指纹和系统信息MAC地址、CPU、主机名、操作系统等。身份窃取恶意脚本会利用本地的 ApifoxaccessToken越权调用官方 API查出使用者的真实姓名和邮箱。隐蔽外传攻击者将这些侦察到的情报加密并巧妙地伪装成 HTTP 请求的**“自定义请求头Headers”**悄悄发送给黑客的 C2命令与控制服务器。第二阶段校验获取载荷攻击者非常谨慎核心恶意代码并不会直接暴露而是采用动态下发的方式。严格的暗号校验客户端向 C2 服务器发起请求获取下一阶段代码。此时C2 服务器会进行严格的“身份核验”——只有当请求头中完整包含第一阶段收集的加密情报时服务器才会下发真实的恶意载荷。这能有效防范安全人员的沙箱探测。无文件落地与痕迹擦除传回的加密代码在内存中被解密并执行通过eval()函数。它会动态创建一个script标签来拉取最终的窃密代码。一旦代码加载完成恶意脚本会瞬间将这个标签从网页结构DOM树中抹除实现“阅后即焚”让常规的安全查杀难以抓到把柄。第三阶段跨平台与定制化深透基础资产扫荡发往 0 号端点Mac/Linux疯狂搜刮~/.ssh/目录下的服务器私钥、终端操作历史bash/zsh 历史记录、Git 凭证并监控当前运行的进程ps aux。Windows精准提取%USERPROFILE%\.ssh\目录下的密钥并通过tasklist获取进程信息。高价值目标“加餐”发往 2 号端点针对部分环境攻击者会下发更深度的窃密逻辑连根拔起核心资产。包括开发环境变量.zshrc、包管理凭证.npmrc、容器集群管理权限.kube/*、代码管理凭证.subversion/*甚至直接打包桌面和文档内容。四、 攻击链路分析本次攻击呈现出典型的分阶段加载与动态规避特征其完整执行链如下阶段 1初始访问与执行载荷注入Apifox 客户端启动时自动加载被篡改的追踪脚本event-tracking.min.js(77KB正常大小为34KB攻击者添加了约40KM的恶意代码)。环境指纹采集恶意脚本收集宿主机 MAC 地址、CPU 信息及 hostname生成 SHA-256 哈希作为唯一机器指纹。初始窃密提取 ApifoxaccessToken调用官方 API 获取当前用户邮箱信息并使用 RSA-2048 算法对敏感数据进行非对称加密。阶段 2命令与控制 (C2) 阶段 1 载荷下发上线请求携带特征 Headeraf_uuid,af_os,af_user,af_name向 C2 服务器发起GET /public/apifox-event.js请求。载荷回传C2 服务器返回经过 RSA 加密的 Stage-1 内存加载器344 bytes。阶段 3动态规避与阶段 2 载荷下发解密执行本地 RSA 解密 Stage-1 载荷通过eval()函数动态执行。无文件落地加载动态创建script标签请求一次性 URL路径格式/随机8位hex.js请求后立即返回 HTTP 404加载 Stage-2 核心窃密脚本明文 Node.js加载完成后立即从 DOM 树中销毁script标签以清理痕迹。阶段 4凭证获取Stage-2 脚本在宿主机执行深度目录遍历与高价值资产收集v1 收集模块 窃取~/.ssh/*(全部密钥)、~/.git-credentials、~/.zsh_history、~/.bash_history并执行ps aux/tasklist收集进程信息。v2 收集模块 窃取~/.kube/*(K8s 集群凭证)、~/.npmrc、~/.zshrc、~/.subversion/*及深度目录树结构。阶段 5数据外发加密传输收集到的 JSON 数据经 Gzip 压缩后使用 AES-256-GCM硬编码密钥apifox/foxapi进行对称加密最终 Base64 编码。回传通道v1 数据POST /event/0/logv2 数据POST /event/2/log身份标识请求 Header 中包含af_uuid代码中硬编码的机器指纹。阶段 6持久化与定制化攻击心跳轮询恶意进程维持 30 分钟至 3 小时的随机心跳间隔循环向 C2 发起阶段 2 请求。按需下发能力C2 可根据前期回传的环境指纹和进程信息筛选高价值目标如高权限运维人员在后续轮询中动态下发定制化 Exploit、内网横向移动工具或长期驻留后门完全脱离 Apifox 进程。四、 防护与应急处置建议为阻断攻击链路并控制受损范围建议相关团队立即执行以下响应流程1. 终端修复版本升级立即强制将所有终端的 Apifox 客户端升级至官方安全版本2.8.19 及以上。注官方已在该版本中废除在线动态加载机制采用本地内置打包并重置了相关内部凭证。2. 凭证轮换针对 2026年3月4日 后运行过受影响版本的开发/运维终端必须执行彻底的“零信任”凭证重置废止并重新生成所有 SSH 密钥对、Git 访问令牌 (Personal Access Tokens)。重置云资产权限轮换本地存储的公有云 Access Key / Secret Key。重置集群凭证吊销并更新~/.kube/config中的 Kubernetes 集群认证凭证。其他凭证更新 NPM 令牌、数据库密码及.env等文件中泄露的环境变量密钥。3. 网络封堵与威胁狩猎IoC 封禁立即在企业边界防火墙、零信任网关及 DNS 解析服务器中全面封禁域名apifox.it.com及其所有子域名。流量审计审查 3月4日 至今的网络流量日志排查是否存在与上述 IoC 或特征端点/public/apifox-event.js,/event/0/log,/event/2/log的异常通信记录以评估资产受损的实际边界。参考链接[1] https://www.secrss.com/articles/88843[2] https://rce.moe/2026/03/25/apifox-supply-chain-attack-analysis/
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2471100.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!