XCSSET v40回归:macOS开发者遭遇新型无文件供应链攻击

XCSSET v40 macOS恶意软件通过Xcode项目供应链攻击开发者,采用无文件内存执行和Chrome CDP劫持模块,窃取凭据与加密货币。本文分析其感染链、新模块及检测缓解措施,帮助安全团队防范这一高级macOS威胁。

⛓️ High 供应链攻击

沉寂数月后,XCSSET恶意软件发布v40版本,针对macOS生态中的开发者,通过污染Xcode项目和Git仓库发起供应链攻击。新版本采用内存驻留、多态载荷与文件less持久化机制,显著增强隐身能力,并新增Chrome劫持后门及Telegram木马化模块。Palo Alto Unit42披露其攻击链包含四个阶段,最终在内存中执行核心模块并清除磁盘痕迹。

来源:Palo Alto Unit42 | 2026-07-31 | 原文链接

🔍 关键发现

  • XCSSET v40将核心逻辑隐藏在内存空间,采用无文件持久化和动态内存执行,大幅降低数字足迹
  • 新增基于Chrome DevTools Protocol(CDP)的Chrome劫持后门,可拦截流量、篡改加密货币交易并窃取凭据
  • 新增Telegram木马化模块,扩展了针对开发者的攻击面
  • 攻击者使用多层密文移位混淆技术,并轮换C2基础设施以规避检测
  • 自2026年4月起通过数十个合法应用(含数千活跃用户)的Xcode项目传播,且能感染目标系统上所有现有Xcode项目

⚔️ 攻击链分析

1. 恶意脚本注入良性Xcode项目或Git仓库,开发者本地构建时触发感染 2. 初始loader建立C2通信,收集系统指纹并下载后续模块 3. 投放临时staging小程序,将最终核心模块加载至内存 4. 核心boot模块在内存中加载专门模块(键盘记录、浏览器劫持等),终止自身进程并删除磁盘文件

🚩 失陷指标 (IOC)

  • 暂无公开具体IoC(文章中未披露C2域名或哈希)
  • 可检测异常Xcode项目脚本、Chrome启动参数中的--remote-debugging-port及非授权CDP连接

🛡️ 缓解建议

  • ✅ 审查Xcode项目中的构建脚本和Run Script阶段,警惕可疑的下载器或混淆代码
  • ✅ 监控Chrome进程启动参数,尤其防止被注入--remote-debugging-port等DevTools远程调试参数
  • ✅ 部署EDR(如Cortex XDR)检测进程注入、内存驻留及无文件攻击行为
  • ✅ 对开发者机器实施应用白名单,限制未签名二进制或临时脚本执行
  • ✅ 定期审计Git仓库依赖及第三方开源项目,防止恶意代码混入供应链

涉及漏洞:[]


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

🤖 常见问题解答(FAQ)

❓ 如何早期发现XCSSET v40感染?

监控Xcode项目的构建阶段脚本是否包含网络下载或加密载荷;检测Chrome启动参数是否含--remote-debugging-port;使用EDR监控进程注入和内存异常,以及敏感API(window.fetch)挂钩行为。

❓ XCSSET v40的持久化机制是什么?

采用无文件持久化,核心模块仅在内存运行。它通过Chrome包装器在浏览器启动时重新启动boot模块,同时利用CDP实现持久控制,磁盘上不保留恶意文件。

❓ Chrome劫持模块如何窃取数据?

恶意二进制连接受害者本机的CDP端口,建立WebSocket连接至C2获取动态JS脚本。注入到每个新标签页后,覆盖fetch/XMLHttpRequest、MetaMask provider和密码填充字段,实现流量拦截、加密货币地址篡改及凭据盗窃。

[!] CONTACT_CHANNELS

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

> PING_AUTHOR (@A1RedTeam)