Pesquisadores de cibersegurança revelaram uma operação de malware bancário brasileiro, até então não documentada, que distribui um conjunto de ferramentas chamado KREMLIN.
A Elastic Security Labs acompanha a atividade sob o nome REF9334. Em atividade desde pelo menos maio de 2025, o threat actor usou iscas que se passam por uma dúzia de bancos brasileiros e instala uma extensão maliciosa nos navegadores Google Chrome e Microsoft Edge.
“O ecossistema de malware KREMLIN emprega carregadores JavaScript em várias etapas, instaladores personalizados em C++ e extensões maliciosas para navegadores para roubar credenciais, tokens de sessão e dados sensíveis”, afirmaram os pesquisadores Cyril François e Andrew Pease em um relatório técnico compartilhado com autoridades.
“As extensões maliciosas para navegadores contornam os mecanismos de integridade do Chromium ao manipular o Secure Preferences e regenerar os HMACs necessários, além de hashes criptografados com App-Bound.”
Um aspecto central da operação é o uso de blockchain para ocultar a infraestrutura controlada pelo threat actor, explorando contratos inteligentes da Ethereum como resolvedores de dead drop para atualizar dinamicamente os endpoints de command and control (C2) e os locais de hospedagem do payload, o que dificulta sua interrupção.
O ponto de partida do KREMLIN é um arquivo JavaScript que se apresenta como um documento bancário, de cobrança ou corporativo e é executado manualmente pela vítima. Ao fazer isso, ele leva à execução de um carregador em várias etapas que só prossegue se não estiver sendo executado em um sandbox ou máquina virtual. Em seguida, baixa e instala payloads adicionais antes de acionar a próxima fase.
A segunda etapa foi projetada para cumprir quatro tarefas: estabelecer persistência por meio de uma tarefa agendada, recuperar os locais de download de um contrato inteligente da Ethereum, baixar os binários necessários desses locais e executar a terceira etapa. Os URLs dos payloads hospedam os seguintes programas:
- um payload instalador de extensão maliciosa para navegador
- um injetor PE em .NET
- “SentinelMemoryScanner.exe”, um binário legítimo associado à SentinelOne, usado para sideloading de DLL
No caso do instalador em C++, ele abusa do binário da SentinelOne para fazer sideloading do payload principal sem assinatura, que se passa por “SentinelAgentCore.dll”. Depois de iniciado, a DLL realiza verificações de evasão semelhantes às do carregador JavaScript, examinando a lista de processos em execução e propriedades de hardware da máquina, como número de CPUs e capacidade de RAM.
Se algum processo em execução corresponder a um nome na lista codificada no próprio arquivo e o sistema não tiver 2 CPUs ou mais de 3 GB de RAM, o malware encerra sua execução. O KREMLIN também consulta o mesmo contrato inteligente da Ethereum para buscar dois domínios, volmira[.]site e zaviro[.]online, e usa o primeiro para obter a versão da extensão do navegador, “1.0.0”, e seu ID, “ndpbidppejfanjbhfgjlohfanbfbklff”. A extensão se apresenta com o nome “AVSync System Inc.”.
“Antes de baixar o arquivo compactado, o malware verifica se a extensão já está instalada e, em caso afirmativo, compara a versão instalada com a versão informada pelo servidor”, disseram os pesquisadores. “Ele baixa a extensão apenas quando não encontra uma instalação local ou quando as versões são diferentes. Em seguida, baixa a extensão do Chrome como um arquivo ZIP.”
Para instalar a extensão em navegadores baseados em Chromium, o malware usa uma técnica de contorno de integridade amplamente documentada, chamada Phantom Extension e GhostChrome-X, sem acionar o mecanismo de proteção do Secure Preferences. A ideia é modificar o arquivo Secure Preferences, habilitar o modo de desenvolvedor do Chrome e atualizar o objeto JSON “protection.macs” com metadados falsificados para registrar a extensão maliciosa no Chrome.
Vale destacar que a mesma abordagem também foi adotada pelo threat actor APT31, ligado à China, em uma campanha no fim de agosto de 2026 que explorou o BlueMoon exploit kit, composto por zero-days do Chrome e do Windows que já foram corrigidos, para instalar uma extensão de navegador voltada ao roubo de credenciais, codinome GemStone.
Depois que a extensão é instalada, o KREMLIN começa a coletar e exfiltrar dados do navegador de cada perfil para seu servidor de C2 (“luizestrelhashapr[.]online:443”), mas não antes de solicitar amplo acesso às abas do navegador, cookies, armazenamento e à API webRequest. Ele também gera um identificador exclusivo da vítima, armazenado no armazenamento do navegador e incluído nas comunicações com o C2.
A extensão suporta os seguintes comandos após estabelecer um canal WebSocket com o servidor de C2:
- tirar capturas de tela da aba selecionada ou ativa e enviar a imagem compactada
- enumerar abas, domínios e o estado de atividade, e enviar a lista
- roubar cookies, sessionStorage e localStorage da aba selecionada ou ativa
- coletar até 1.000 entradas do histórico dos últimos 15 dias, o que provavelmente falhará porque o manifesto da extensão não inclui a permissão de histórico
- extrair e enviar o código HTML completo da página selecionada ou ativa
- baixar HTML controlado pelo atacante
- atualizar a configuração
Além do WebSocket, a extensão consulta periodicamente um endpoint “/google_api/” por meio de requisições que se disfarçam de downloads de arquivos CSS. Cada um desses caminhos é mapeado para um comando específico:
- 108766d0.css, para enviar cookies e armazenamento
- 41f7b187.css, para enviar IDs de abas, domínios e o estado da aba ativa
- b83fa72d.css, para enviar o histórico compactado do navegador dos últimos 15 dias
- 0f51ad2f.css, para enviar uma captura de tela JPEG compactada, junto com a URL da página e o ID do cliente
- e4cce14e.css, para enviar o HTML completo da página compactado, junto com a URL da página e o ID do cliente
- 6c0c92f6.css, para enviar a requisição interceptada
- 81d47cb6.css, para buscar uma configuração de direcionamento com uma lista de domínios e regras de interceptação HTTP
- a98cb43d.css, para buscar regras de redirecionamento com URLs de destino
A avaliação é que os operadores por trás do KREMLIN estão ativos desde pelo menos maio de 2025, incluindo a instalação de extensões maliciosas para navegadores e a distribuição de trojans prontos para uso, como Pulsar RAT e Remcos RAT. A migração para contratos inteligentes da Ethereum teria ocorrido em 19 de maio de 2026. No total, o grupo foi atribuído a sete campanhas distintas desde 16 de junho de 2025.
Como parte do mecanismo anti-sandbox, o malware realiza uma verificação de isca de rede ao tentar baixar uma página de um domínio não registrado. Em outras palavras, se receber uma resposta válida, isso provavelmente indica um sandbox que simula conectividade de rede. Nesse cenário, o malware derruba o próprio processo de forma deliberada.
A Elastic informou que registrou o domínio usado na isca de rede e identificou 1.515 sistemas infectados tentando se conectar a ele. Mais de 98% desses sistemas estão geolocalizados no Brasil.
“Portanto, embora esses sistemas ainda estejam infectados com o componente final do KREMLIN, isso degradou e manipulou temporariamente os mecanismos de defesa da campanha e pode dar aos defensores mais tempo para identificar e remediar endpoints infectados”, afirmou a Elastic.
Publicidade
Nossa audiência é formada por analistas, pentesters, decisores e entusiastas que consomem nossas notícias todo dia pelo Site, Newsletter e Instagram. Fale com quem realmente importa para o seu negócio. Anuncie aqui. Saiba mais...