Clickfix no macOS: Campanha de Malware AppleScript Usa Prompts do Terminal para Roubar Dados
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
A campanha de malware AppleScript tem como alvo os usuários macOS via uma técnica ClickFix, persuadindo-os a executar manualmente comandos de shell decodificados em base64 no Terminal. Esses comandos recuperam um ladrão AppleScript que coleta dados do navegador, carteiras de criptomoedas, documentos locais e outras informações sensíveis, então as exfiltram para servidores controlados pelo invasor. Porque nenhum binário tradicional é escrito no disco, a atividade é mais difícil de detectar com AV clássico. A operação depende de múltiplos domínios enganosos e portas de serviço incomuns para tráfego de comando e controle.
Análise da Campanha AppleScript
Os pesquisadores examinaram os sites de phishing, o JavaScript responsável pela entrega da carga útil e o AppleScript usado para coleta e exfiltração. O mapeamento da infraestrutura revelou domínios como cryptoinfo-news.com and odyssey1.to, juntamente com serviços expostos nas portas 22, 80, 3333 e 5201. A carga útil do AppleScript empacota os dados roubados em um arquivo ZIP em /tmp/out.zip e usa curl para enviá-lo para um endpoint remoto.
Mitigação
Os defensores devem bloquear os domínios maliciosos identificados e limitar conexões de saída em portas incomuns. Reforce os hosts macOS restringindo o uso de AppleScript e shell, monitorando para padrões de execução base64-d | bash e aplicando controles CORS rígidos em ambientes web. O treinamento de conscientização em segurança deve destacar páginas de phishing que instruem os usuários a copiar-colar e executar comandos no Terminal.
Resposta
Quando esses padrões de indicador forem detectados, notifique o SOC, isole o sistema afetado e capture artefatos temporários e o histórico do shell. Realize uma revisão forense do diretório /tmp , coloque em quarentena quaisquer arquivos ZIP suspeitos e correlacione o tráfego de saída com os servidores C2 e portas conhecidas identificadas na campanha.
mermaid graph TB %% Class definitions classDef technique fill:#e0f7fa %% Node definitions initial_access[“<b>Acesso Inicial</b> – <b>T1659 Injeção de Conteúdo</b>: Vítimas carregam página de phishing que injeta comando malicioso.”] class initial_access technique execution_copy_paste[“<b>Execução</b> – <b>T1204.004 Execução pelo Usuário: Copia e Cola Malicioso</b>: Usuário copia comando base64 e executa no Terminal.”] class execution_copy_paste technique execution_proxy[“<b>Execução</b> – <b>T1127 Execução de Proxy de Utilitários de Desenvolvedor Confiáveis</b>: Decodifica e executa AppleScript via utilitários nativos do macOS.”] class execution_proxy technique execution_xpc[“<b>Execução</b> – <b>T1559.003 Comunicação Inter‑Processual: Serviços XPC</b>: AppleScript utiliza XPC para chamadas internas.”] class execution_xpc technique collection_browser_disc[“<b>Coleta</b> – <b>T1217 Descoberta de Informações do Navegador</b>: AppleScript enumera perfis do Firefox e Chromium.”] class collection_browser_disc technique collection_creds[“<b>Coleta</b> – <b>T1555.003 Credenciais de Armazenamentos de Senhas: Navegadores Web</b>: Rouba cookies, logins salvos, dados de carteiras digitais.”] class collection_creds technique archive[“<b>Coleta</b> – <b>T1560.001 Arquivamento via Utilitário</b>: Empacota arquivos em ZIP com ditto.”] class archive technique exfiltration[“<b>Exfiltração</b> – <b>T1020 Exfiltração Automatizada</b>: Faz upload do ZIP para servidor do atacante via curl.”] class exfiltration technique c2_web[“<b>Comando e Controle</b> – <b>T1102 Serviço Web</b>: Comunica-se com C2 sobre HTTP com CORS permissivo.”] class c2_web technique c2_ssh[“<b>Comando e Controle</b> – <b>T1021.004 Serviços Remotos: SSH</b>: Atacante mantém acesso SSH para controle adicional.”] class c2_ssh technique defense_compress[“<b>Evasão de Defesa</b> – <b>T1027.015 Compressão</b>: Usa compressão para ocultar dados de carga útil.”] class defense_compress technique defense_file_delete[“<b>Evasão de Defesa</b> – <b>T1070.004 Exclusão de Arquivo</b>: Remove diretórios temporários e arquivo.”] class defense_file_delete technique credential_cookie[“<b>Acesso a Credenciais</b> – <b>T1539 Roubo de Cookie de Sessão Web</b>: Usa cookies roubados para sequestrar sessões.”] class credential_cookie technique %% Connections initial_access u002du002d>|leva a| execution_copy_paste execution_copy_paste u002du002d>|leva a| execution_proxy execution_proxy u002du002d>|usa| execution_xpc execution_proxy u002du002d>|coleta| collection_browser_disc collection_browser_disc u002du002d>|coleta| collection_creds collection_creds u002du002d>|arquiva| archive archive u002du002d>|exfiltra| exfiltration exfiltration u002du002d>|usa| c2_web c2_web u002du002d>|fallback| c2_ssh exfiltration u002du002d>|cobre rastros| defense_compress exfiltration u002du002d>|cobre rastros| defense_file_delete collection_creds u002du002d>|habilita| credential_cookie
Fluxo de Ataque
Detecções
Detectar Uso Malicioso de Curl para Exfiltração de Dados no macOS [Criação de Processo no Windows]
Ver
Detecção de Decodificação Base64 e Execução Bash no macOS [Criação de Processo no Linux]
Ver
IOCs (SourceIP) para detectar: O Guia Completo para Caçar Cobalt Strike – Parte 2: Mais de 10 Receitas HuntSQL para Encontrar Cobalt Strike
Ver
IOCs (DestinationIP) para detectar: O Guia Completo para Caçar Cobalt Strike – Parte 2: Mais de 10 Receitas HuntSQL para Encontrar Cobalt Strike
Ver
Stealer do Atomic MacOS – Atividade do FileGrabber
Ver
Ver
Execução de Simulação
Pré-requisito: O Check Pre‑flight de Telemetria & Baseline deve ter sido aprovado.
Justificativa: Esta seção detalha a execução precisa da técnica do adversário (TTP) projetada para acionar a regra de detecção. Os comandos e a narrativa refletem diretamente os TTPs identificados e visam gerar a telemetria exata esperada pela lógica de detecção.
-
Narrativa & Comandos do Ataque:
-
O atacante envia um email de phishing contendo a linha única:
echo "cHJpbnQoJ0NhdXNlJykK" | base64 -d | bash(A carga útil decodifica para
print('Causa')– um espaço reservado para qualquer script malicioso Bash.) -
Um usuário desavisado copia a linha e cola no Terminal.
-
macOS gera um processo
bashcuja linha de comando exatamente corresponde ao padrãobase64 -d | bash, satisfazendo aseleção. -
A linguagem Bash executa a carga útil decodificada, completando a ação maliciosa (por exemplo, estabelecendo um shell reverso, baixando ferramentas adicionais).
-
-
Script de Teste de Regressão: O script abaixo automatiza os passos 1‑3, reproduzindo a telemetria necessária para validação.
#!/bin/bash # ------------------------------------------------- # Simular execução de Decodificação Base64‑e‑Bash no macOS # ------------------------------------------------- # Carga útil em Base64 (imprime “Comprometimento”) PAYLOAD="cHJpbnQoJ0NvbXByb21pc2UnKQ==" # Executa a linha única exatamente como um atacante faria echo "$PAYLOAD" | base64 -d | bash # Sai com o status do comando Bash exit $? -
Comandos de Limpeza: Remova quaisquer arquivos temporários ou processos em segundo plano que possam ter sido criados pela carga útil (substitua por limpeza específica da carga útil, se necessário).
#!/bin/bash # Limpeza simples – garante que não restem processos filho do Bash pkill -f "base64 -d | bash" 2>/dev/null # Se a carga útil criou arquivos, exclua-os (exemplo de espaço reservado) rm -f /tmp/malicious_script.sh 2>/dev/null