Inside ICMacOS: Do Roubo de Informações a um RAT Persistente
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
ICMacOS, também conhecido como Icarus macOS, é um novo Malware-como-um-Serviço (MaaS) identificado no macOS que evoluiu de um ladrão de credenciais para um Trojan de Acesso Remoto (RAT) persistente. Ele mira em informações de alto valor, incluindo credenciais de navegador, carteiras de criptomoedas e segredos de desenvolvedor, como chaves SSH e configurações de nuvem. O malware usa engenharia social baseada em ClickFix para entrega e WebSockets para comando e controle em tempo real.
Investigação
A Unidade de Pesquisa de Ameaças SOCRadar (STRU) identificou o ICMacOS por meio de análise de telemetria e monitoramento de fóruns subterrâneos. Os pesquisadores rastrearam a cadeia de infecção desde os scripts iniciais de instalação Bash até a implantação de binários Mach-O e cargas auxiliares baseadas em Python. A investigação documentou a progressão da Versão 1, focada no roubo de dados, até a Versão 2 com funcionalidade RAT, enquanto mapeava a infraestrutura de C2 através da análise de WebSocket.
Mitigação
As organizações devem impor controles rigorosos em torno da execução de comandos de terminal e monitorar modificações suspeitas no LaunchAgent. É recomendada a proteção dos sistemas macOS com criptografia de disco e políticas MDM que restrinjam LaunchAgents não autorizados. As equipes de segurança também devem monitorar conexões de WebSocket de saída incomuns e acesso não autorizado a serviços Keychain como possíveis indicadores de comprometimento.
Resposta
Quando a atividade do ICMacOS for detectada, isole o host macOS afetado da rede para parar a exfiltração de dados e comunicação adicional de C2. Realize uma revisão forense abrangente do diretório /tmp, LaunchAgents e atividade do Keychain do usuário. Troque credenciais potencialmente comprometidas, incluindo chaves SSH, tokens de provedores de nuvem, como credenciais AWS e Kubernetes, e senhas armazenadas no navegador.
Fluxo de Ataque
Ainda estamos atualizando esta parte.
Detecções
Possível Tentativa de Comunicação de Lookup de Domínio via IP (via dns)
Bootstrap do Launchctl de Caminho Não Padrão (via criação_de_processo)
Modificação Suspiciosa de Permissões de Arquivo na Pasta Tmp do MacOS (via linha_de_comando)
Possível Tentativa de Desbloqueio Manual do Keychain (via linha_de_comando)
Possível Tentativa de Descoberta de Senha de Navegador no MacOS (via linha_de_comando)
Tentativa de Execução de Curl Suspeita [MacOS] (via linha_de_comando)
Arquivo Criado na Pasta Temporária do MacOS (via evento_de_arquivo)
IOCs (HashSha256) para detectar: Inside ICMacOS: De um Ladrão de Informações para um RAT Persistente
Detecção de Acesso Remoto Malicioso e Recuperação de Carga Útil [Servidor Web]
Detectar Uso de AppleScript e Recuperação de Senhas do Keychain em Infecções macOS ICMacOS [Criação de Processo do Windows]
Detecção de Atividade Oculta e Agregação Não Autorizada de Dados por ICMacOS [Evento de Arquivo Linux]
Detecção do ICMacOS Stealer via Obsfucação de Terminal e Enumeração de Processos [Criação de Processo Linux]
Execução de Simulação
-
Narrativa de Ataque & Comandos: Um adversário obteve acesso inicial a uma estação de trabalho macOS e está implantando o ladrão ICMacOS. Para evitar a detecção pelo usuário e minimizar o tempo para observação manual, o malware executa um script via
zsh. O script primeiro usabasename $0para determinar seu nome de arquivo para maior obfuscação de sua presença no sistema de arquivos. Imediatamente após iniciar sua carga útil maliciosa (simulado por uma enumeração deprocessos do ICMACOS), o script tenta fazer o crash da janela do terminal do usuário usandoprocesses), the script attempts to crash the user’s terminal window usingkillall Terminalpara forçar o usuário a sair da sessão ativa e ocultar o histórico de comandos. -
Script de Teste de Regressão:
#!/bin/zsh # Script de simulação para validação de detecção do ICMacOS Stealer echo "[+] Iniciando Simulação do ICMacOS Stealer..." # 1. Desencadear selection_basename_killall via 'basename $0' echo "[+] Executando padrão de obfuscação: basename $0" /bin/zsh -c "echo $(basename $0)" # 2. Desencadear selection_basename_killall via 'killall Terminal' echo "[+] Executando padrão de ocultação: killall Terminal" # Nota: Usamos um subshell para garantir que o script de simulação propriamente dito não morra instantaneamente # se executado em um terminal real, mas para o propósito da regra, queremos que o comando seja disparado. /bin/zsh -c "killall Terminal" 2>/dev/null || echo "[!] killall falhou (Terminal não está em execução ou permissão negada)" # 3. Desencadear selection_pgrep via 'pgrep ICMACOS' echo "[+] Executando padrão de enumeração: pgrep ICMACOS" /bin/zsh -c "pgrep ICMACOS" echo "[+] Comandos de simulação despachados." -
Comandos de Limpeza:
# Nenhum arquivo persistente foi criado pelo script de simulação. # Se algum arquivo temporário foi usado, eles devem ser removidos aqui. rm -f /tmp/icmacos_sim_test