SOC Prime Bias: High

12 Oct 2026 19:44 UTC

深入研究ICMacOS:从信息窃取器到持久的RAT

Author Photo
SOC Prime Team linkedin icon 关注
深入研究ICMacOS:从信息窃取器到持久的RAT
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

摘要

ICMacOS,又称为Icarus macOS,是一种新识别的macOS恶意软件即服务(MaaS),已从凭证窃取者演变为持久性远程访问木马(RAT)。它针对高价值信息,包括浏览器凭证、加密货币钱包和开发者秘密,如SSH密钥和云配置。该恶意软件使用基于ClickFix的社会工程进行投递,并使用WebSockets进行实时命令与控制。

调查

SOCRadar威胁研究部门(STRU)通过遥测分析和地下论坛监控识别出ICMacOS。研究人员跟踪了从最初的Bash滴管脚本到Mach-O二进制文件和基于Python的辅助负载的感染链部署。调查记录了从专注于数据窃取的第1版到具备RAT功能的第2版的发展,并通过WebSocket分析映射C2基础设施。

缓解

组织应对终端命令执行实施严格控制,并监控可疑的LaunchAgent修改。建议通过磁盘加密和限制未经授权的LaunchAgents的MDM策略强化macOS系统。安全团队还应监控异常的出站WebSocket连接及对钥匙串服务的未经授权访问,作为潜在的妥协指标。

响应

当检测到ICMacOS活动时,应隔离受影响的macOS主机以阻止数据外传和进一步的C2沟通。对/tmp目录、LaunchAgents和用户钥匙串活动进行全面的取证审查。轮换可能被妥协的凭证,包括SSH密钥、云提供商令牌如AWS和Kubernetes凭证,以及浏览器存储的密码。

攻击流程

我们仍在更新此部分。

检测

可能的IP查询域通信尝试(通过dns)

SOC Prime团队
2026年10月12日

从非标准路径启动的Launchctl(通过process_creation)

SOC Prime团队
2026年10月12日

MacOS可疑的临时文件夹文件权限修改(通过cmdline)

SOC Prime团队
2026年10月12日

可能的手动解锁钥匙串尝试(通过cmdline)

SOC Prime团队
2026年10月12日

可能的MacOS浏览器密码发现尝试(通过cmdline)

SOC Prime团队
2026年10月12日

可疑的Curl执行尝试[MacOS](通过cmdline)

SOC Prime团队
2026年10月12日

在MacOS临时文件夹中创建了归档文件(通过file_event)

SOC Prime团队
2026年10月12日

ICMacOS内部的IOCs (HashSha256)检测:从信息窃取者到持久性RAT

SOC Prime AI规则
2026年10月12日

恶意远程配置访问和有效载荷获取检测[Webserver]

SOC Prime AI规则
2026年10月12日

检测使用AppleScript和钥匙串密码在macOS ICMacOS感染中的检索[Windows Process Creation]

SOC Prime AI规则
2026年10月12日

检测ICMacOS的隐藏活动和未经授权的数据汇聚[Linux File Event]

SOC Prime AI规则
2026年10月12日

通过终端混淆和进程枚举检测ICMacOS窃取者[Linux Process Creation]

SOC Prime AI规则
2026年10月12日

仿真执行

  • 攻击叙述与命令: 敌手获得了对macOS工作站的初始访问权,正在部署ICMacOS窃取者。为了逃避用户检测并最小化手动观察的窗口,该恶意软件通过执行脚本 zsh。脚本首先使用 basename $0 以确定其文件名,以进一步混淆其在文件系统中的存在。在启动其恶意负载(通过对 ICMACOS 进程的枚举模拟)的同时,该脚本试图使用 killall Terminal 来迫使用户退出活动会话并隐藏命令历史。

  • 回归测试脚本:

     #!/bin/zsh
      # ICMacOS窃取者检测验证的模拟脚本
    
      echo "[+] 启动ICMacOS窃取者模拟..."
    
      # 1. 通过'basename $0'触发selection_basename_killall
      echo "[+] 执行混淆模式:basename $0"
      /bin/zsh -c "echo $(basename $0)"
    
      # 2. 通过'killall Terminal'触发selection_basename_killall
      echo "[+] 执行隐蔽模式:killall Terminal"
      # 注意:我们使用子shell以确保模拟脚本本身不会立即死亡 
      # 如果在真实终端中运行,但为了规则的目的,我们希望命令触发。
      /bin/zsh -c "killall Terminal" 2>/dev/null || echo "[!] killall失败(Terminal未运行或权限被拒)"
    
      # 3. 通过'pgrep ICMACOS'触发selection_pgrep
      echo "[+] 执行枚举模式:pgrep ICMACOS"
      /bin/zsh -c "pgrep ICMACOS"
    
      echo "[+] 模拟命令已发送。"
  • 清理命令:

     #模拟脚本未创建持久文件。 
      # 如果使用了任何临时文件,应在此处删除。
      rm -f /tmp/icmacos_sim_test