近日,一种新型 XCSSET macOS 模块化恶意软件变体在攻击活动中现身,其目标是窃取用户的敏感信息,涵盖数字钱包数据以及合法 Notes 应用程序中的数据。
这种恶意软件通常借助受感染的 Xcode 项目进行传播,至少已存在五年之久,每次更新都堪称 XCSSET发展历程中的一个里程碑。此次的改进是自2022年以来首次被发现。
微软威胁情报团队在有限的攻击活动中识别出了这一最新变体,并指出与过往的 XCSSET 变体相比,新变体具备更强的代码混淆能力、更好的持久化能力以及全新的感染策略。
关键特性剖析
1.隐匿性强化
新变体采用动态迭代的Base64 + xxd双重编码技术,这种技术能够实现多层级的代码混淆。通过不断变化的编码迭代次数,使得安全工具难以对其进行有效的解析和追踪。
同时,对关键模块名称进行加密处理,即使逆向分析专家试图拆解其代码结构,也会因为这些加密的模块名称而倍感棘手,显著增加了逆向分析的难度,让恶意代码在系统中能够更长久地潜伏。
2.持久化创新
在实现持久化驻留系统方面,新变体采用了两种创新方案。
- zshrc 方案:新变体创建名为~/.zshrc_aliases 的文件,并将恶意负载巧妙植入其中。然后通过修改.zshrc 配置文件,实现了会话级自启动。这意味着只要用户开启新的 shell 会话,恶意文件就会自动运行,长期潜伏在系统中,持续收集信息或执行其他恶意指令。
- Dock 劫持方案:从攻击者的命令与控制(C2)服务器下载经过签名的 dockutil 工具,利用其合法身份绕过部分系统检测。通过伪造 Launchpad 应用路径,精心设计了 “双触发” 机制,当用户启动正版应用时,恶意负载也会同时被执行,实现了神不知鬼不觉的恶意操作。
3. Xcode感染策略进化
在针对 Xcode 项目的感染策略上,新变体也有了重大进化。
滥用构建参数:利用 TARGET、RULE、FORCED_STRATEGY 等构建参数,将恶意代码注入到 Xcode 项目中。这些参数在正常的开发过程中有着重要作用,但被恶意软件利用后,就成为了恶意代码进入项目的 “绿色通道”。
设备定向渗透:通过篡改 TARGET_DEVICE_FAMILY 构建设置,实现对特定设备的精准部署。这使得攻击者可以有针对性地对某些设备类型进行攻击,提高攻击效率和成功率。
XCSSET 并非首次展现其强大的攻击能力,早在 2021 年 5 月,它就利用零日漏洞(漏洞编号 CVE - 2021 - 30713,苹果已修复)发起攻击。此次新变体的升级,再次印证其开发者具备持续突破系统防御的能力,不断给网络安全带来新的挑战。
Xcode项目与XCSSET攻击范围
Xcode 是苹果的开发者工具集,其中包含集成开发环境(IDE),开发者能借助它创建、测试和发布适用于所有苹果平台的应用程序。Xcode 项目的创建方式灵活多样,既可以从头开始搭建,也能基于从各种代码库下载或克隆的资源来构建。
然而,这种开放性和灵活性也为 XCSSET 的操控者提供了可乘之机。他们通过针对这些项目,巧妙地扩大了攻击目标范围,从开发源头就开始埋下恶意种子,一旦项目被使用,恶意软件就可能随之进入用户系统。
XCSSET 拥有多个功能各异的模块,这些模块相互协作,能够解析系统数据、收集各类敏感信息,并将这些信息偷偷泄露出去。其攻击目标数据类型极为广泛,涵盖登录信息、聊天应用程序和浏览器数据、Notes 应用程序数据、数字钱包数据、系统信息以及文件等,几乎涉及用户在系统中的方方面面数据。
微软给出的安全建议
鉴于 XCSSET 恶意软件的威胁,微软团队建议:
1. 注重开发环境安全
- 仅从官方仓库获取Xcode项目资源
- 建立代码审计机制,重点检查构建参数异常配置
2. 搭建终端防护策略
- 监控.zshrc等配置文件异常修改
- 部署EDR解决方案检测隐蔽进程链
参考链接:https://www.bleepingcomputer.com/news/security/microsoft-spots-xcsset-macos-malware-variant-used-for-crypto-theft/