新型XCSSET恶意软件利用增强混淆技术攻击macOS用户
字数 1289 2025-08-29 08:30:12
XCSSET恶意软件变种分析及防护指南
1. 恶意软件概述
XCSSET是一种针对macOS系统的复杂模块化恶意软件,最新变种于2025年3月被发现,这是自2022年以来的首个已知变种。该恶意软件专门针对使用Xcode进行开发的macOS用户,通过感染Xcode项目进行传播。
2. 技术特点
2.1 增强的混淆技术
- 对模块名称进行混淆以阻碍静态分析
- 采用随机化方法生成有效载荷
- 使用多层编码技术:
- 十六进制编码(通过xxd/hexdump)
- Base64编码
- 有效载荷经过深度编码,改进错误处理机制
2.2 模块化架构
恶意软件采用模块化设计,可根据需要从C2服务器下载额外模块,包括:
- 系统信息窃取模块
- 浏览器扩展数据窃取模块
- 数字钱包信息窃取模块
- 备忘录应用程序内容窃取模块
2.3 无文件技术
- 广泛使用脚本语言、UNIX命令和合法二进制文件
- 尽可能保持无文件状态,增加检测难度
3. 感染机制
3.1 感染途径
- 通过受感染的Xcode项目传播
- 当开发者构建这些项目时自动执行恶意代码
- 利用开发者共享项目文件的行为进行传播
3.2 感染链
感染过程分为四个阶段:
- 构建受感染的Xcode项目时运行的混淆shell有效载荷
- 初始有效载荷执行后,下载并执行后续阶段
- 建立持久化机制
- 从C2服务器下载并执行附加模块
4. 持久化技术
4.1 Shell会话持久化
- 修改
~/.zshrc文件 - 创建
~/.zshrc_aliases文件 - 在新shell会话启动时执行恶意代码
.zshrc驻留方法代码逻辑:
on doMain()
try
if RESTORE_DEFAULT is true then
do shell script "rm -f ~/.zshrc_aliases"
log ".zshrc_aliases removed"
else
set payload to getPayloadBody("Terminal")
set payload to quoted form of payload
do shell script "echo " & payload & " > ~/.zshrc_aliases"
log ".zshrc_aliases updated"
set payload to "[ -f $HOME/.zshrc_aliases ] && . $HOME/.zshrc_aliases"
set payload to quoted form of payload
do shell script "touch ~/.zshrc"
do shell script "grep -qF '.zshrc_aliases' ~/.zshrc || echo " & payload & " >> ~/.zshrc"
log ".zshrc done"
end if
on error the errorMessage
log "failed at .zshrc: " & errorMessage
return
end try
end doMain
4.2 伪装Launchpad应用
- 创建伪装成启动台的恶意应用
- 当用户尝试打开真正的启动台时执行恶意代码
4.3 Git预提交钩子感染
- 修改Git仓库的预提交钩子
- 在开发者提交更改时执行有效载荷
- 感染Git仓库实现持续传播
5. 检测与防护措施
5.1 预防措施
- 及时更新macOS到最新版本
- 谨慎使用来源不明的Xcode项目
- 检查项目文件中的可疑脚本或命令
5.2 检测方法
- 检查
~/.zshrc和~/.zshrc_aliases文件中的可疑内容 - 监控异常的网络连接(特别是与C2服务器的通信)
- 检查Git仓库中的预提交钩子是否被篡改
- 查找伪装成系统应用的异常应用程序
5.3 安全工具建议
- 启用Microsoft Defender for Endpoint等端点防护软件
- 使用专业的macOS恶意软件扫描工具
- 部署网络流量监控工具检测C2通信
6. 清除指南
- 检查并清理
~/.zshrc和~/.zshrc_aliases文件 - 检查并删除Git仓库中被篡改的预提交钩子
- 查找并删除伪装成系统应用的恶意程序
- 使用专业杀毒软件进行全盘扫描
- 监控网络连接,阻断与C2服务器的通信
- 考虑重置受影响的开发环境
7. 总结
新型XCSSET变种展示了macOS恶意软件的演进趋势,包括:
- 更复杂的混淆技术
- 多样化的持久化机制
- 针对开发者环境的精准攻击
- 模块化设计实现多功能恶意行为
开发者应提高安全意识,采取多层防护措施,以防范此类针对开发环境的针对性攻击。