Do laboratório de pesquisa da ESET Latinoamérica, encontramos um código malicioso que afeta sistemas operacionais Windows e se faz passar por uma extensão de segurança para o Google Chrome. É detectado pelas soluções da ESET como JS/Spy.Banker.CV e trata-se de um infostealer com capacidade de roubar informações sensíveis.

Observamos esse malware se propagando na região, principalmente no México, por meio de arquivos anexados e compactados em e-mails que aparentam ser de instituições financeiras reconhecidas. No código identificam‑se palavras, nomes de variáveis e substituições em português, o que evidencia que esse tipo de ameaça ultrapassa fronteiras.

Essa ameaça é capaz de detectar quando o usuário está em uma página financeira, identificando padrões comuns nesse tipo de site, e, quando isso ocorre, pode modificar o DOM (Document Object Model), alterando a aparência e o funcionamento da página sem que o usuário perceba, de modo a apresentar formulários falsos com aparência legítima. Todas as informações inseridas nesses formulários são desviadas para um servidor controlado pelos cibercriminosos.

Além disso, esse malware pode substituir dados de carteiras de criptomoedas e dados bancários do usuário pelos dos cibercriminosos, o que possibilitaria o desvio de fundos para os atacantes.

A seguir, explicaremos o comportamento das funções mais importantes desse código malicioso.

Análise

Durante a etapa de análise, observamos que esta amostra se propaga no México por meio de arquivos anexados e compactados enviados por e-mail. Também identificamos, dentro da extensão maliciosa, dois arquivos JavaScript com capacidades para roubar dados sensíveis, manipular visualmente sites e exfiltrar informações para servidores de Comando e Controle (C2).

A Figura 1 mostra os arquivos da extensão maliciosa persistidos na máquina de uma vítima.

malware-extension-chrome-robo-datos-bancarios-1

Figura 1 Identificação dos arquivos maliciosos da extensão maliciosa

Na Figura 2, é possível ver o nome com o qual a aplicação é instalada no navegador, e na Figura 3, a descrição em português da extensão, fazendo-se passar por uma ferramenta de segurança

malware-extension-chrome-robo-datos-bancarios-2
Figura 2: Visualização da extensão do Chrome no navegador
malware-extension-chrome-robo-datos-bancarios-3

Figura 3. Ao instalar a extensão no navegador, é possível observar que ela se faz passar por uma solução de segurança.

Tipos de ofuscação detectados

Os trechos de código malicioso utilizam técnicas de ofuscação para impedir que o código seja legível ou até mesmo para evadir tecnologias de detecção, algo frequente em muitas campanhas observadas na região.

Durante a análise desta campanha, destaca-se o uso de técnicas como a fragmentação de strings (ex.: "ep\xF3s" + "it"), o uso de arrays e funções indexadas para construir comandos dinamicamente e a inserção de funções anônimas que são executadas de forma assíncrona — todas técnicas comuns empregadas por cibercriminosos, que em conjunto complicam o processo de análise

Manipulação visual de sites bancários

Da análise do arquivo GJJeSS.js, detectado como JS/Spy.Banker.CU (SHA1: 66722C6A38E60EA9557696BB9EDA028171241689), verificou-se que ele identifica padrões comuns em páginas relacionadas a bancos ou pagamentos, como "CPF", "CNPJ" e "valor", e modifica o DOM para enganar o usuário. Isso inclui a substituição de dados reais por dados controlados pelos atacantes.

A seguir, explicaremos o comportamento das funções mais importantes desse código malicioso.

Comportamento da função movedep()

É executada sobre o conteúdo do da página procurando padrões de texto relacionados a depósitos bancários (por exemplo “epósito”, “CPF”, “Valor”). Se detecta que a página contém termos como “depósito”, “CPF/CNPJ” e “alor” (provavelmente parte de “Valor”), procede a injetar lógica maliciosa.

  • Primeiro, solicita dados remotos a um servidor de comando e controle (dracolateama.info) usando requisições $.get com diferentes parâmetros (?i=x, ?c=x, ?a=x, ?u=x).
  • Após um atraso (setTimeout), modifica o conteúdo da página substituindo textos bancários comuns (por exemplo, muda “Ag:” para “Agência:”, homogeneíza “Conta Corrente:”) e insere etiquetas como “(Nosso Parceiro)” em certos números de conta (Figura 4).
  • Além disso, substitui nomes de bancos conhecidos e seus códigos.

Esse comportamento sugere que o script redireciona valores de contas ou números bancários para contas dos criminosos ao alterar o HTML dos comprovantes/depositos do banco.

Exemplo de código de substituição em movedep()

malware-extension-chrome-robo-datos-bancarios-4
Figura 4: Substituição de nomes e identificadores de bancos no conteúdo da página

Comportamento da função movewes()

Projetada para procurar na página referências a pagamentos ou endereços de Bitcoin (Figura 5). Se detectar palavras-chave como "QR" e "bitcoin", executa uma expressão regular para identificar endereços Bitcoin de 34 caracteres. Substitui qualquer correspondência por um endereço fixo dos atacantes, de modo que os pagamentos em criptomoeda possam ser desviados para a carteira do atacante. Essa substituição é realizada ao detectar um endereço Bitcoin presente no conteúdo HTML da página, não ao interceptar a área de transferência

malware-extension-chrome-robo-datos-bancarios-5

Figura 5: detecção de chaves QR e substituição de endereços Bitcoin

O engano usado na função movedep consiste em fazer passar informações bancárias ou endereços de pagamento falsos como legítimos. Por exemplo, ao substituir do banco e alterar os códigos de instituição, o atacante busca desviar depósitos para contas que controla. No caso de criptomoedas, como mostrado no código (Figura 5), ele substitui automaticamente qualquer endereço de carteira reconhecido por um endereço próprio.

Comportamento da função mgrtj4j4333dess():

  • Percorre todos os formulários da página (busca inputs do tipo "password" e outros campos de texto).
  • A cada formulário com campo de senha adiciona um listener de submit para capturar credenciais quando o formulário for enviado (Figura 6).
  • No momento do envio, coleta o valor da senha e de outros campos de texto/email/telefone, assim como os textos dos elementos .
  • Em seguida, envia esses dados codificados (encodeURIComponent) via $.post para um servidor de exfiltração (appsalve.click/jjavascript/log3.php?logins=1).
  • O payload enviado inclui a senha (pass1), o usuário ou e-mail (user1), a URL atual (href1), o host (host1), um encadeamento de todos os campos (enc1) e um identificador id1 = "-".
malware-extension-chrome-robo-datos-bancarios-6
Figura 6: Exemplo de trecho de exfiltração em mgrtj4j4333()

Após definir essas funções, o script as invoca periodicamente — por exemplo, após 3,1 segundos executa mgrtj4j4333dess() e movewes() para assegurar o acompanhamento contínuo das ações do usuário.

Capturando dados usando formulários

O outro arquivo, whvLon.js, SHA1: 8EE5BCA8E671587940B89D4CDC22BEEDA2EDE958, inspeciona todos os campos das páginas visitadas no navegador em busca daqueles que contenham dados sensíveis, como senhas, e-mails e telefones. No caso de encontrar esse tipo de campo (Figura 7) e uma vez que o usuário os tenha preenchido, os dados são codificados por meio da função encodeURIComponent (uma codificação URL padrão).

malware-extension-chrome-robo-datos-bancarios-7
Figura 7: Captura de campos sensíveis do formulário usando JavaScript

Além disso, coleta-se informação adicional proveniente de menus suspensos (Figura 8).

 

malware-extension-chrome-robo-datos-bancarios-8

Figura 8: coleta de valores de menus select em formulários

Esses dados coletados são enviados por meio de uma solicitação POST a um servidor de Comando e Controle (C2, appsalve.click) controlado pelos cibercriminosos (Figura 9).

malware-extension-chrome-robo-datos-bancarios-9
Figura 9: Exfiltração de dados sensíveis ao servidor de comando e controle

Persistência e evasão

Durante a análise, observamos que a extensão maliciosa do Google Chrome persiste na máquina da vítima no caminho C:\Users<NOMBRE_USUARIO>\Chrome\1.9.6. As amostras que contêm a extensão operam de forma sincronizada. Enquanto uma coleta dados sensíveis, a outra manipula o ambiente visual do usuário para induzir erros ou desviar transferências. Todas as interações são canalizadas para domínios maliciosos comuns:

- https[:]//appsalve.click/jjavascript/log3.php

- https[:]//dracolateama.info/test/index.php?[i|c|a|u]=x

É importante mencionar que essa persistência age sobre o navegador afetado; o malware será executado sempre que o navegador for utilizado pela vítima.

Embora o conceito tradicional de persistência implique sobrevivência a reinicializações ou sessões (como em malwares instalados no sistema), neste caso refere-se a uma persistência dentro da sessão do navegador. O código detectado reinseria dinamicamente eventos maliciosos após atualizações do DOM causadas por navegação dinâmica ou recargas parciais. Isso garante que a funcionalidade maliciosa permaneça ativa enquanto o usuário interage com a página web afetada, que volta a inserir os eventos mesmo após atualizações parciais do DOM.

Análise dinâmica

Para a análise dinâmica, inserimos dados falsos em um dos sites afetados para observar efetivamente a captura de dados.

malware-extension-chrome-robo-datos-bancarios-10
Figura 10: Loguin com dados falsos para observar a captura de dados
malware-extension-chrome-robo-datos-bancarios-11
Figura 11: Ação do script malicioso ao efetuar o login.

Ao tentarmos fazer login em um dos sites que a extensão maliciosa busca comprometer e, posteriormente, acompanhar sua atividade, podemos observar como ocorre a exfiltração de dados para o domínio (C2) pertencente aos atacantes.

malware-extension-chrome-robo-datos-bancarios-12

Figura 12: rastreamento da atividade e evidência da captura de dados.

Conclusão e recomendações

A análise anterior indica que estamos diante de um infostealer com capacidade para roubar informação sensível de uma vítima quando esta preenche um formulário em uma página web. A habilidade de modificar carteiras e outros dados de pagamento da vítima demonstra claramente que os cibercriminosos buscam ganho financeiro.

O uso de técnicas avançadas de manipulação visual, direcionadas principalmente a usuários em ambientes financeiros, assim como a arquitetura modular e as técnicas de evasão empregadas, exigem a implementação de medidas específicas para sua detecção.

Trata-se de uma ameaça que transcende fronteiras e que se aproveita da reputação de instituições financeiras em toda a região.

Diante desse tipo de ameaça, é importante verificar as extensões instaladas nos sistemas e confirmar que as fontes são confiáveis antes de instalar qualquer aplicação.

Indicadores de comprometimento (IoC):

Domínios: appsalve.click, dracolateama.info

Carteira BTC: bc1q53usjwlwwpt40mwqtzldxj69gs8qsqsqsqsqfz49at

ID corrigido na exfiltração: 123461125631441562314

GJJeSS.js - JS/Spy.Banker.CU - 66722C6A38E60EA9557696BB9EDA028171241689

whvLon.js - JS/Spy.Banker.CV - 8EE5BCA8E671587940B89D4CDC22BEEDA2EDE958

Técnicas MITRE ATT&CK

Tática ID Nobre Descrição
Initial access T1056.001 Phishing - Link Os atacantes podem enviar e-mails de phishing direcionados contendo um link malicioso para tentar acessar os sistemas das vítimas.
Credential access TA0006 Credentials in file or input forms Os criminosos podem procurar arquivos com senhas em sistemas de arquivos locais e em recursos compartilhados remotamente.
Modify Authentication Process (opcional) T1556 Credential Access (si aplica) Os adversários podem modificar os mecanismos e processos de autenticação para acessar as credenciais dos usuários ou permitir acesso não autorizado às contas.
Obfuscated Files or Information T1027 Defense Evasion Os criminosos podem tentar tornar um arquivo ou executável difícil de descobrir ou analisar, cifrando, codificando ou ofuscando de outra forma seu conteúdo, tanto no sistema quanto em trânsito.
Masquerading T1036 Defense Evasion Os criminosos podem tentar manipular as características de seus artefatos para fazê‑los parecer legítimos ou benignos para os usuários e/ou para as ferramentas de segurança.
Deobfuscate/Decode Files or Info T1140 Defense Evasion Os criminosos podem usar arquivos ou informações ofuscadas para ocultar, durante a análise, os artefatos de uma intrusão.