深入研究ICMacOS:从信息窃取器到持久的RAT
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)
从非标准路径启动的Launchctl(通过process_creation)
MacOS可疑的临时文件夹文件权限修改(通过cmdline)
可能的手动解锁钥匙串尝试(通过cmdline)
可能的MacOS浏览器密码发现尝试(通过cmdline)
可疑的Curl执行尝试[MacOS](通过cmdline)
在MacOS临时文件夹中创建了归档文件(通过file_event)
ICMacOS内部的IOCs (HashSha256)检测:从信息窃取者到持久性RAT
恶意远程配置访问和有效载荷获取检测[Webserver]
检测使用AppleScript和钥匙串密码在macOS ICMacOS感染中的检索[Windows Process Creation]
检测ICMacOS的隐藏活动和未经授权的数据汇聚[Linux File Event]
通过终端混淆和进程枚举检测ICMacOS窃取者[Linux Process Creation]
仿真执行
-
攻击叙述与命令: 敌手获得了对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