Pesquisa GReAT

JanelaRAT: uma ameaça financeira que tem como alvo os usuários na América Latina

Histórico

O JanelaRAT é parte de uma família de malware cujo nome vem da palavra em português “janela”. Ele busca dados financeiros e de criptomoedas de instituições financeiras e bancos específicos na América Latina.

Trata-se de uma variante modificada do BX RAT que tem atacado usuários desde junho de 2023. Uma das principais diferenças entre esses trojans é que o JanelaRAT utiliza um mecanismo próprio de detecção da barra de título para identificar sites de interesse nos navegadores das vítimas e executar ações maliciosas.

Os threat actors por trás das campanhas do JanelaRAT atualizam continuamente a cadeia de infecção e as versões do malware, adicionando novas funcionalidades.

As soluções da Kaspersky detectam essa ameaça como Trojan.Script.Generic e Backdoor.MSIL.Agent.gen.

Infecção inicial

As campanhas do JanelaRAT seguem uma cadeia de infecção em múltiplos estágios. Tudo começa com e-mails que simulam o envio de faturas pendentes para induzir a vítima a baixar um arquivo PDF por meio de um link malicioso. Em seguida, a vítima é redirecionada para um site malicioso, de onde é feito o download de um arquivo compactado.

E-mail malicioso usado em campanhas do JanelaRAT

E-mail malicioso usado em campanhas do JanelaRAT

Ao longo do monitoramento dessas campanhas de malware, observou-se que esses arquivos compactados geralmente contêm VBScript, arquivos XML, outros arquivos compactados ZIP e arquivos BAT. No fim, isso leva ao download de um arquivo compactado ZIP com componentes para carregamento lateral de DLL e execução do JanelaRAT como payload final.

No entanto, observamos variações nas cadeias de infecção, dependendo da versão do malware entregue. A última campanha observada evoluiu ao incorporar arquivos MSI para entregar um executável legítimo em formato PE32 e uma DLL, que é então carregada lateralmente pelo executável. Essa DLL é, na verdade, o próprio JanelaRAT, entregue como o payload final.

Com base na análise de intrusões anteriores do JanelaRAT, essas atualizações na cadeia de infecção indicam uma tentativa dos threat actors de simplificar o processo, reduzindo o número de etapas necessárias para instalar o malware. Observamos uma sequência lógica na forma como componentes, como arquivos MSI, foram sendo incorporados e adaptados ao longo do tempo. Além disso, observamos o uso de arquivos auxiliares (componentes adicionais que ajudam no processo de infecção), como arquivos de configuração que foram sendo modificados ao longo do tempo, mostrando como os threat actors têm adaptado essas campanhas na tentativa de evitar a detecção.

Evolução do fluxo de infecção do JanelaRAT

Evolução do fluxo de infecção do JanelaRAT

Dropper inicial

O arquivo MSI atua como um dropper inicial, projetado para instalar o implante final e estabelecer a persistência no sistema. Ele ofusca caminhos e nomes de arquivos com o objetivo de dificultar a análise. Esse código foi desenvolvido para criar vários objetos ActiveX, permitindo manipular o sistema de arquivos e executar comandos maliciosos.

Entre as ações realizadas, o MSI define caminhos com base em variáveis de ambiente para hospedar binários, criar um atalho de inicialização e salvar um arquivo que indica a primeira execução. O dropper verifica a existência desse arquivo e de um caminho específico e, caso algum deles não exista, ele os cria. Se o arquivo já estiver presente, o arquivo MSI redireciona o usuário para um site externo como isca, dando a impressão de que está tudo “normal”.

O dropper MSI copia dois arquivos para um caminho específico: o executável legítimo nevasca.exe e a biblioteca PixelPaint.dll, renomeando ambos com combinações ofuscadas de strings aleatórias antes de movê-los. Em seguida, um atalho LNK é criado na pasta de inicialização do usuário, apontando para o executável renomeado nevasca.exe, o que garante persistência. Por fim, o arquivo nevasca.exe é executado e carrega o PixelPaint.dll, que na verdade é o JanelaRAT.

Implante malicioso

Neste caso, analisamos a versão 33 do JanelaRAT, disfarçada como um aplicativo legítimo de pixel art. Assim como em outras versões, ele estava protegido pelo Eazfuscator, uma ferramenta comum de ofuscação para arquivos .NET. Também já foram observadas amostras anteriores do JanelaRAT que utilizavam o ConfuserEx ou versões personalizadas desse ofuscador. O malware utiliza a técnica Control Flow Flattening e renomeia classes e variáveis para tornar o código ilegível sem desofuscação.

O JanelaRAT monitora a atividade da vítima, intercepta interações bancárias confidenciais e estabelece um canal interativo de comando e controle (C2) para reportar informações aos threat actors. Embora também conte com monitoramento de tela, a funcionalidade principal está voltada para fraude financeira e manipulação em tempo real da máquina da vítima. O malware coleta informações do sistema, incluindo a versão do sistema operacional, a arquitetura do processador (32 bits, 64 bits ou desconhecida), o nome de usuário e o nome da máquina. O trojan avalia o nível de privilégio do usuário atual e atribui diferentes apelidos para administradores, usuários, convidados e um adicional para qualquer outro tipo de função.

O malware então recupera a data atual e monta um beacon para registrar a vítima no servidor de C2, juntamente com a versão do malware. Para evitar múltiplas instâncias, o malware cria um mutex e encerra a execução caso já exista um.

Criptografia de strings

Todas as amostras do JanelaRAT utilizam strings criptografadas para envio de informações ao C2 e ofuscação de dados incorporados. O algoritmo de criptografia permanece uniforme entre as campanhas, combinando encoding base64 com Rijndael (AES). A chave de criptografia é derivada do hash MD5 de um número de quatro dígitos, e o vetor de inicialização (IV) é composto pelos primeiros 16 bytes dos dados decodificados em base64.

Comunicação C2 e tratamento de comandos

Após a inicialização, o JanelaRAT estabelece um socket TCP, configurando callbacks para eventos de conexão e tratamento de mensagens. Ele registra todos os tipos conhecidos de mensagens, executando tarefas específicas no sistema conforme as mensagens recebidas.

Após a inicialização do socket, o malware inicia duas rotinas em segundo plano:

  1. Inatividade do usuário e rastreamento de sessão
    Essa rotina ativa cronômetros e inicia threads secundárias, incluindo um cronômetro interno e um monitor de inatividade do usuário. O malware verifica se a máquina da vítima ficou inativa por mais de 10 minutos, calculando o tempo decorrido desde a última interação do usuário. Se o período de inatividade ultrapassar 10 minutos, o malware notifica o servidor C2 enviando a mensagem correspondente. Quando há atividade novamente, ele informa o threat actor mais uma vez. Isso permite acompanhar a presença e a rotina do usuário para definir o momento ideal de possíveis ações remotas.

    Cronômetro que verifica 10 minutos de inatividade

    Cronômetro que verifica 10 minutos de inatividade

  2. Registro da vítima e outras atividades maliciosas

    Essa rotina é iniciada imediatamente após a configuração do socket. Ela aciona duas sub-rotinas responsáveis por realizar beaconing periódico via HTTP e baixar payloads adicionais.

    1. A primeira sub-rotina executa um PowerShell baixado de um servidor intermediário durante a fase pós-exploração. Seu principal objetivo é estabelecer persistência, baixando novamente o arquivo PixelPaint.dll. A rotina então monta e executa solicitações HTTP periódicas ao C2, relatando a versão do malware e o ambiente de segurança da máquina da vítima. Esse processo ocorre em loop contínuo enquanto um arquivo local específico não existir, garantindo o envio repetido de dados de telemetria. Esse arquivo não foi observado sendo extraído ou criado pelo próprio malware; ao que tudo indica, ele é inserido no sistema pelos threat actors durante outras atividades de pós-exploração. Com base em incidentes anteriores, é provável que esse arquivo contenha instruções para estabelecer persistência.

      Esta versão do JanelaRAT constrói uma segunda URL de C2 para beaconing, utilizando várias strings descriptografadas e seguindo um padrão com diferentes parâmetros para relatar informações sobre novas vítimas:

      Observamos mudanças constantes nos parâmetros entre as campanhas. Um novo parâmetro “AN” foi introduzido nesta versão. Ele é usado para detectar a presença de um processo específico associado a softwares de segurança bancária. Se esse software for encontrado no dispositivo da vítima, o malware notificará o threat actor.

      Parâmetro Descrição
      VS Versão do JanelaRAT
      PL DESATIVADO por padrão
      AN Sim ou Não, conforme a presença do processo de software de segurança bancária
    2. A segunda sub-rotina é responsável por monitorar o acesso do usuário a sites bancários e relatar qualquer atividade de interesse ao threat actor. O JanelaRAT 33v foi projetado especificamente para atingir instituições financeiras brasileiras. No entanto, também foram observadas outras variantes voltadas a países específicos da região, como a versão “Gold-Label”, direcionada a usuários de bancos no México, já descrita anteriormente.

      Essa sub-rotina cria um cronômetro para ativar um ciclo de monitoramento ativo do sistema. Durante esse ciclo, o malware obtém o título da janela ativa e verifica se corresponde às entradas de interesse, com base em uma lista de instituições financeiras hardcoded, mas ofuscada. Embora os threat actors por trás do JanelaRAT geralmente foquem um país por vez, a lista de instituições financeiras é constantemente atualizada.

      Quando o título da janela corresponde a um dos alvos listados, o malware aguarda 12 segundos antes de estabelecer um canal de comunicação dedicado com o servidor C2. Esse canal é utilizado para executar tarefas maliciosas, como capturar telas, monitorar entradas de teclado e mouse, exibir mensagens ao usuário, injetar teclas ou simular movimentos do mouse, além de forçar o desligamento do sistema.

      Para isso, o malware utiliza um handler específico de C2 que interpreta os comandos recebidos. Vale destacar que a versão 33 permite o sequestro de sessões bancárias em tempo real, não se limitando apenas ao roubo de credenciais.

      Ação executada Descrição
      Captura de imagens da área de trabalho Envio de capturas de tela compactadas para C2
      Capturas de tela específicas Corte de regiões específicas da tela e exfiltração de imagens
      Overlay de janelas Exibição de imagens em tela cheia, limitação de interações de usuários e imitação de caixas de diálogo do banco para coleta de credenciais
      Registro de uso do teclado (Keylogging) Captura de teclas
      Simulação de teclado Injeção de teclas, como seta PARA BAIXO, seta PARA CIMA e TAB, para navegar ou acionar novos elementos
      Rastreamento da entrada do mouse Movimentação do cursor, simulação de cliques, relato da posição do cursor
      Exibição de mensagens Exibição de caixas de mensagem (título personalizado, texto, botões ou ícones)
      Desligamento do sistema Execução de sequência de desligamento forçado
      Execução de comandos Execução de scripts/comandos do CMD ou PowerShell
      Manipulação do
      Gerenciador de Tarefas
      Inicialização do Gerenciador de Tarefas, localização de sua janela e ocultação para impedir o processo de
      descoberta
      Verificação do processo de software de segurança bancária Detecção da presença de sistemas antifraude
      Beaconing Envio de informações do host (versão do malware, perfil, presença de software de segurança bancária)
      Alternância de modos internos Ativação e desativação dos modos como fluxo de captura de tela, injeção de teclas, visibilidade de overlay
      Antianálise Detecção de sandbox ou ferramentas de automação

Infraestrutura de C2

Ao contrário de outras versões, esta variante alterna seu servidor C2 diariamente. Quando a barra de título de uma janela corresponde a um dos itens da lista, o software constrói dinamicamente o domínio do canal de C2, combinando uma string ofuscada, a data atual e um sufixo de domínio associado a um serviço legítimo de DNS dinâmico (DDNS). Essa comunicação é estabelecida usando a porta 443, mas sem uso de TLS.

Sistema falso de overlay (isca)

Esta versão do JanelaRAT implementa um sistema falso de overlay (isca) projetado para capturar credenciais bancárias e ignorar a autenticação multifator. Quando uma janela bancária alvo é detectada, o malware solicita instruções adicionais ao servidor de C2. O servidor C2 responde com um identificador de comando e uma imagem codificada em Base64, que é então exibida como uma janela de overlay em tela cheia, imitando interfaces legítimas de sistemas ou bancos. O malware garante que essa janela falsa cubra toda a tela e limita a interação da vítima com o sistema.

O malware bloqueia as ações do usuário por meio de caixas de diálogo modais. Cada caixa de diálogo modal corresponde a uma operação específica, como captura de senha, captura de token/MFA, tela de carregamento falsa, simulação de atualização do Windows em tela cheia, entre outros. O malware redimensiona o overlay, verifica múltiplas telas e carrega elementos enganosos para distrair o usuário ou ocultar temporariamente janelas legítimas.
Entre outros elementos falsos, ele exibe notificações falsas de atualização do Windows, geralmente acompanhadas de mensagens em português do Brasil, como:

  • “Configurando as atualizações do Windows, aguarde.”
  • “Não desligue o computador. Isso pode demorar um pouco.”

Quando um comando de mensagem é recebido do operador, o malware cria uma caixa de diálogo personalizada com base nos parâmetros enviados pelo servidor. Esses parâmetros incluem o título da mensagem, o conteúdo do texto, o tipo de botão (por exemplo, OK, Sim/Não) e o tipo de ícone (por exemplo, Aviso, Erro). O malware então cria uma caixa de mensagem maximizada posicionada na parte superior da tela, garantindo que ela capture a atenção do usuário e bloqueie a visibilidade de outras janelas, imitando alertas do sistema ou de segurança.

Uma string de confirmação ofuscada é enviada de volta ao C2 para indicar que a tarefa foi executada com sucesso.

Técnicas de antianálise

Além do comportamento condicional baseado na detecção de processos de softwares de segurança bancária, o malware inclui rotinas antianálise e verificações do ambiente, como a detecção de sandbox por meio dos componentes Magnifier e MagnifierWindow. Esses componentes são usados para identificar se as ferramentas de acessibilidade estão ativas no computador infectado, o que pode indicar um ambiente de análise de malware.

Persistência

O malware estabelece persistência ao gravar um script de comando no
diretório de inicialização do Windows. Esse script força a cadeia de execução maliciosa a cada login do usuário, permitindo a continuidade das atividades sem acionar alertas de escalonamento de privilégios. O script é executado de forma silenciosa para evitar a percepção do usuário.

Esse método pode atuar como alternativa ou complemento ao método de persistência descrito anteriormente na seção das sub-rotinas responsáveis pelo beaconing HTTP periódico.

Vitimologia

Assim como em intrusões e campanhas anteriores, os principais alvos dos threat actors que distribuem o JanelaRAT são usuários de bancos na América Latina, com foco específico em instituições financeiras no Brasil e no México.

De acordo com a nossa telemetria, em 2025 foram detectados 14.739 ataques no Brasil e 11.695 no México relacionados ao JanelaRAT.

Conclusões

O JanelaRAT continua sendo uma ameaça ativa e em evolução, com intrusões que mantêm características uniformes apesar das constantes modificações. A evolução das infecções do JanelaRAT tem sido acompanhada ao longo do tempo, revelando variações tanto no próprio malware quanto na cadeia de infecção, incluindo variantes direcionadas a países específicos.

Essa variante representa um avanço significativo nas capacidades dos invasores, combinando vários canais de comunicação, monitoramento abrangente da vítima, overlays interativos, injeção de entrada e recursos robustos de controle remoto. O malware foi projetado especificamente para reduzir ao máximo sua visibilidade para o usuário e adaptar seu comportamento quando detecta software antifraude.

Para mitigar o risco de comunicação com infraestruturas de C2 que utilizam técnicas evasivas semelhantes, recomendamos que as equipes de segurança bloqueiem serviços de DNS dinâmico no perímetro corporativo ou nos resolvedores internos de DNS. Isso ajuda a interromper os canais de comunicação usados pelo JanelaRAT e por ameaças semelhantes.

Indicadores de comprometimento

808c87015194c51d74356854dfb10d9e         Dropper MSI
d7a68749635604d6d7297e4fa2530eb6        JanelaRAT
ciderurginsx[.]com         C2 principal

JanelaRAT: uma ameaça financeira que tem como alvo os usuários na América Latina

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

 

Relatórios

GoPix, o trojan bancário que vive na memória

Os especialistas do Kaspersky GReAT descrevem o GoPix, trojan bancário brasileiro sem precedentes, que usa implantes apenas em memória, man-in-the-middle via arquivos Proxy AutoConfig (PAC) e malvertising via Google Ads.

BeatBanker: um trojan de dupla função para Android

Pesquisadores da Kaspersky identificaram um novo trojan para Android, o BeatBanker, que tem como alvo o Brasil, se disfarça de aplicativos do governo e da Google Play Store e consegue minerar criptomoedas e roubar dados bancários.