Campanha SourTrade usa Navegador para Montar Malware Localmente com Runtime Bun

Campanha SourTrade usa Navegador para Montar Malware Localmente com Runtime Bun

Operação de malvertising emprega ServiceWorker e SharedWorker para construir executável Windows na vítima, evitando detecção por hash e alvejando traders de criptomoedas.

ComponenteNavegadores web com suporte a ServiceWorker, runtime legítimo Bun, páginas de malvertising SourTrade.
VetorAnúncios maliciosos que redirecionam para páginas de clonagem de serviços de trading; o navegador baixa um runtime limpo e recebe instruções para montar o payload malicioso localmente.
ImpactoExecução de código arbitrário via PE montado no lado cliente, potencialmente entregando infostealers, com alta evasão de assinaturas de arquivo devido à construção única por sessão.
PrioridadeBloqueio de domínios de infraestrutura (ex: purelogicbox[.]org), monitoramento de requisições /config em endpoints web e reforço de políticas de instalação de software apenas via canais oficiais.
Resumo técnico

Uma campanha de malvertising identificada como SourTrade tem introduzido uma técnica sofisticada de entrega de carga útil, onde o próprio navegador da vítima é cooptado para construir o arquivo executável do Windows final. Diferente das abordagens tradicionais que baixam um arquivo malicioso completo de um servidor fixo, está operação utiliza um runtime legítimo da ferramenta Bun como base e injeta código controlado pelo atacante para montar o Portable Executable (PE) localmente. A atividade, documentada desde o final de 2024, foca especificamente em investidores de varejo e entusiastas de criptomoedas, sequestrando a identidade visual de plataformas reconhecidas como TradingView, Solana e Luno para enganar o usuário final.

O mecanismo de ataque remove a necessidade de o invasor hospedar o binário malicioso completo, o que dificulta a detecção por soluções de segurança baseadas em rede ou hash de arquivo. Ao utilizar componentes legítimos e apenas trafegar o cabeçalho PE, tabelas de seção e bytecode malicioso em formato Base64, a operação consegue driblar filtros estáticos. A campanha é global, atingindo usuários em 12 países e suportando 25 idiomas, com páginas de destino que realizam fingerprinting para exibir conteúdo falso apenas para alvos selecionados, enquanto pesquisadores e bots recebem páginas vazias.

Fluxo técnico

A cadeia de exploração inicia-se na página de destino do ataque, que começa a preparar o ambiente de entrega sem aguardar interação explícita de clique para download. O script registra um ServiceWorker no escopo da página via /sw.js e constrói um SharedWorker diretamente a partir de código JavaScript já embutido no HTML. Essa estratégia garante que o código-fonte do worker nunca apareça como uma requisição de rede separada, ocultando a lógica de inicialização. Em seguida, o SharedWorker faz uma requisição ao endpoint /config, que responde com um modelo de montagem, uma URL secundária para o runtime e valores aleatórios específicos para a sessão.

Com as instruções recebidas, o navegador busca e descomprime o runtime limpo do Bun a partir do segundo domínio controlado pelo atacante, identificado em amostras como purelogicbox[.]org. A resposta da configuração fornece blobs em Base64 que contêm o cabeçalho PE, a tabela de seção e uma seção .bun contendo bytecode malicioso do JavaScriptCore (o motor utilizado pelo Bun). O worker então gera um fluxo de bytes pseudorrandômico usando o algoritmo AES no modo contador (AES-CTR). Seguindo o modelo recebido como uma 'receita' de cópia de bytes, o browser combina intervalos selecionados do runtime Bun, o fluxo gerado e o material controlado pelo atacante para criar o arquivo final.

O resultado é um executável único para cada vítima, pois a rotação da semente e do tamanho na resposta /config altera o hash do arquivo sem modificar o código payload. Uma vez montado na memória, o executável é passedo ao ServiceWorker como um stream legível. Um iframe oculto navega para uma URL de mesma origem, e o worker retorna os bytes gerados com um cabeçalho Content-Disposition do tipo anexo. Dessa forma, o registro Mark of the Web (MotW) aponta a página de ataque como fonte do download, em vez do domínio separado que forneceu o runtime, mantendo a aparência de arquivo proveniente de um contexto de navegação previsível.

Superfície afetada

A superfície de ataque abrange usuários que navegaram em anúncios de redes de publicidade comprometidas, especialmente aqueles interessados em finanças descentralizadas e trading de ativos. Como a técnica explora funcionalidades padrão da web (ServiceWorker, SharedWorker, Fetch API, Web Crypto API para AES), ela afeta qualquer navegador moderno que suporte essas específicações, sem depender de vulnerabilidades específicas de software de navegação (browser exploits). O alvo final é o sistema operacional Windows, já que a montagem resulta em um binário PE.

A infraestrutura de comando e controle utilizei anteriormente a biblioteca de código aberto StreamSaver.js, carregada do GitHub Pages, mas evoluiu para manter a arquitetura de stream sem baixar a biblioteca externamente. Isso sugere maturidade na operação para reduzir dependências de terceiros e evitar assinaturas de rede que apontassem para repositórios legítimos suspeitos. A associação com payloads anteriores, como o infostealer rastreado como JSCEAL e WeevilProxy, indica que o objetivo final inclui o furto de credenciais, interceptação de tráfego e roubo de carteiras digitais.

  • Usuários de navegadores modernos com JavaScript habilitado.
  • Investidores em criptomoedas e plataformas de trading alvo de clone.
  • Ambientes Windows onde executáveis PE podem ser baixados e executados.
  • Redes corporativas que permitem tráfego publicitário e acesso a domínios de cram online.
Hunting e telemetria

A detecção dessa ameaça requer uma análise holística do tráfego de rede e do comportamento do navegador, uma vez que os arquivos finais possuem hashes mutáveis. As equipes de segurança devem procurar por padrões de rede onde um domínio suspeito solicita um binário legítimo (como o runtime Bun) que não é comum no fluxo de tráfego normal da organização. A presença de requisições para endpoints que retornam grandes quantidades de dados em formato JSON ou Base64 estruturados como configurações (ex: /config) seguidas de downloads deve ser tratada como sinal de alerta.

Na camada de endpoint, a telemetria deve focar na criação de processos originados de navegadores que envolvam a execução de runtimes não padrão ou a descompressão de arquivos que contem mistura de código legítimo e bytecode ofuscado. O uso de namespaces de mensagem específicos, como streamsaver:, dentro de scripts de página, mesmo que a biblioteca original não seja carregada, é um indicador forte da tentativa de implementar a técnica de streamed_download modificada.

  • Monitoramento de requisições para /config retornando templates e blobs Base64.
  • Identificação de downloads de runtime Bun de domínios não oficiais (ex: purelogicbox[.]org).
  • Deteção de registros de ServiceWorker agressivos em páginas de publicidade.
  • Análise de arquivos PE com assinaturas válidas de Bun mas com seções anômalas ou tamanho inconsistente.
Mitigação

Não existe uma correção de software específica (patch) para aplicar, pois a operação não explora vulnerabilidades, mas sim abusos de funcionalidades. A defesa primária é o bloqueio de domínios identificados como parte da infraestrutura de distribuição da campanha. Listas de bloqueio de DNS ou proxies seguros devem ser atualizadas com os IoCs fornecidos por inteligência de ameaças, incluindo os domínios usados para hospedar o runtime e os payloads.

Estratégias de defesa em profundidade devem incluir o bloqueio ou severa restrição de scripts publicitários de terceiros em ambientes corporativos, especialmente para departamentos financeiros que podem ser alvo de campanhas de trading. A educação do usuário permanece crucial: a instalação de softwares de trading, carteiras digitais ou ferramentas financeiras deve ser realizada estritamente a partir do site oficial do fornecedor, nunca через anúncios patrocinados em motores de busca ou redes sociais.

  • Bloqueio de acesso aos domínios maliciosos na camada de rede e DNS.
  • Implementação de filtros de anúncios e bloqueadores de scripts em navegadores corporativos.
  • Políticas de aplicação (AppControl) que bloqueiem a execução de executáveis sem assinatura válida ou com reputação baixa.
  • Conscientização contra instalação de software via links de anúncios, mesmo para marcas conhecidas.

Postar um comentário

0 Comentários