Investigaciones de GReAT

JanelaRAT: una amenaza financiera para usuarios de América Latina

Antecentes

JanelaRAT es una familia de malware que toma su nombre de la palabra portuguesa “janela”, que significa “ventana”. JanelaRAT busca datos financieros y de criptomonedas de bancos e instituciones financieras específicas en la región de América Latina.

JanelaRAT es una variante modificada de BX RAT, que ha atacado a usuarios desde junio de 2023. Una de las diferencias clave entre ambos troyanos es que JanelaRAT utiliza un mecanismo personalizado de detección de barra de título para identificar sitios web de interés en los navegadores de las víctimas y ejecutar acciones maliciosas.

Los actores amenaza responsables de las campañas de JanelaRAT actualizan con frecuencia la cadena de infección y las versiones del malware mediante la incorporación de nuevas funciones.

Las soluciones de Kaspersky detectan esta amenaza como Trojan.Script.Generic y Backdoor.MSIL.Agent.gen.

Infección inicial

Las campañas de JanelaRAT usan una cadena de infección multi etapa. Comienzan con correos electrónicos que simulan la entrega de facturas pendientes para inducir con engaños a las víctimas de que hagan clic en un enlace malicioso para descargar un archivo PDF. Luego, se redirige a las víctimas a un sitio web malicioso desde donde se descarga un archivo comprimido.

Acceso inicial usado en las campañas de JanelaRAT

Acceso inicial usado en las campañas de JanelaRAT

El seguimiento de estas campañas de malware confirmó que los archivos comprimidos albergan scripts VBScript, XML, ZIP anidados y scripts BAT. Estos artefactos culminan en la descarga de un contenedor ZIP que habilita la entrega de archivos necesarios para la técnica DLL side-loading y en consecuencia ejecutar JanelaRAT como carga útil final.

Sin embargo, se han observado variaciones en las cadenas de infección según la versión del malware. La campaña más reciente evolucionó al integrar archivos MSI para entregar un ejecutable PE32 legítimo y una DLL, que luego es cargada lateralmente por el ejecutable. Esta DLL es en realidad JanelaRAT, entregada como carga útil final.

Basándonos en el análisis de intrusiones anteriores de JanelaRAT, determinamos que las actualizaciones en la cadena de infección representan los intentos de los actores amenaza por simplificar el proceso, con un número menor de pasos de instalación del malware. Observamos una secuencia lógica en la forma en que componentes como los archivos MSI se han incorporado y adaptado con el tiempo. Además, hemos observado el uso de archivos auxiliares (componentes adicionales que facilitan la infección) como archivos de configuración que han ido cambiando con el tiempo, lo que muestra cómo los actores amenaza han ido adaptando estas infecciones para evadir la detección.

Evolución del flujo de infección de JanelaRAT

Evolución del flujo de infección de JanelaRAT

Dropper inicial

El archivo MSI actúa como dropper inicial diseñado para instalar el implante final y establecer persistencia en el sistema. Ofusca rutas y nombres de archivos para dificultar el análisis. Este código crea varios objetos ActiveX para manipular el sistema de archivos y ejecutar comandos maliciosos.

Entre las acciones que realiza, el MSI define rutas basadas en variables de entorno para alojar binarios, crea un acceso directo de inicio y almacena un archivo que funciona como indicador de primer uso. El archivo dropper verifica la existencia de este último y de una ruta específica; si alguno falta, los crea. Si el archivo existe, el MSI redirige al usuario a un sitio web externo como señuelo, simulando que todo es “normal”.

El dropper del MSI despliega dos artefactos en una ruta objetivo: el binario legítimo nevasca.exe y la biblioteca PixelPaint.dll. Luego, renombra ambos componentes mediante cadenas aleatorias ofuscadas antes de ejecutar la reubicación final de los archivos. Para garantizar la persistencia, se crea un acceso directo LNK en la carpeta de inicio del usuario, que apunta al ejecutable renombrado nevasca.exe. Por último, se ejecuta nevasca.exe, que a su vez carga el archivo PixelPaint.dll, que es JanelaRAT.

Implante malicioso

En este caso, se analizó JanelaRAT versión 33, que se presentaba como una aplicación legítima de pixel art. Al igual que otras versiones del malware, estaba protegida con Eazfuscator, una herramienta de ofuscación común para .NET. También se han observado muestras anteriores de JanelaRAT que utilizaban el ofuscador ConfuserEx o versiones personalizadas del mismo. El malware emplea el método Control Flow Flattening y renombra clases y variables para hacer el código ilegible sin desofuscación.

JanelaRAT monitorea las actividades de la víctima, intercepta interacciones bancarias críticas y establece un canal C2 interactivo para enviar datos en tiempo real al actor amenaz. Si bien el monitoreo de pantalla también está presente, la funcionalidad principal se centra en el fraude financiero y la manipulación en tiempo real del equipo de la víctima. El malware recopila información del sistema, incluida la versión del sistema operativo, la arquitectura del procesador (32 bits, 64 bits o desconocida), el nombre de usuario y el nombre del equipo. El troyano evalúa el nivel de privilegios del usuario actual y asigna distintos identificadores a administradores, usuarios, invitados y demás roles.

El malware consulta la fecha actual y ensambla un beacon para registrar a la víctima en el servidor C2, junto con la versión del malware. Para impedir la creación de múltiples instancias, el malware crea un mutex y finaliza sus actividades si este ya existe.

Cifrado de cadenas

Todas las muestras de JanelaRAT emplean cadenas cifradas para exfiltrar datos hacia la infraestructura C2 y ofuscar los recursos embebidos. El algoritmo de cifrado se mantiene invariable entre campañas, combinando codificación Base64 con el cifrado por bloques Rijndael (AES). La clave de cifrado se deriva del hash MD5 de un número de 4 dígitos, y el vector de infección está compuesto por los primeros 16 bytes de los datos decodificados en base64.

Comunicación con C2 y manejo de comandos

Tras inicializarse, JanelaRAT establece un socket TCP y configura callbacks para eventos de conexión y manejo de mensajes. Registra todos los tipos de mensaje conocidos y ejecuta tareas sistémicas específicas según el comando recibido.

Tras la inicialización del socket, el malware lanza dos rutinas en segundo plano:

  1. Detección de inactividad del usuario y rastreo de sesión
    Esta rutina activa temporizadores e inicia hilos secundarios, incluido un temporizador interno y un monitor de inactividad del usuario. El malware determina si el equipo de la víctima ha estado inactivo por más de 10 minutos, calculando el tiempo transcurrido desde la última entrada del usuario. Si el período de inactividad supera los 10 minutos, el malware notifica al C2 con el mensaje correspondiente. Ante la reactivación del usuario, el malware notifica de nuevo al actor amenaza. Esto le permite rastrear la presencia y la rutina del usuario para coordinar posibles operaciones remotas.

    Temporizador que monitorea diez minutos de inactividad del usuario

    Temporizador que monitorea diez minutos de inactividad del usuario

  2. Registro de la víctima y despliegue de carga maliciosa subsiguiente

    Esta rutina se dispara tan pronto se establece el socket. Activa dos subrutinas responsables del beaconing HTTP periódico y la descarga de cargas útiles adicionales.

    1. La primera subrutina ejecuta un script de PowerShell descargado desde un servidor de staging durante la fase de post-explotación. Su objetivo principal es establecer persistencia descargando una vez más el archivo PixelPaint.dll. La rutina ensambla y envía solicitudes HTTP periódicas hacia la infraestructura C2, exfiltrando la versión del binario y el perfil de seguridad del host comprometido. El bucle se mantiene activo mientras no exista un archivo local específico, garantizando la transmisión reiterada de telemetría. No se observó que el malware extrajera o creara dicho archivo; al contrario, parece que es colocado por el actor amenaza durante otras actividades de post-explotación. El cotejo con incidentes previos indica alta probabilidad de que el archivo albergue directrices para establecer persistencia.

      Esta variante de JanelaRAT genera una segunda URL de C2 para el beaconing, ensamblando cadenas descifradas bajo un patrón que inyecta parámetros distintivos para notificar el compromiso de nuevas víctimas:

      Hemos también documentado una variación constante de los parámetros entre campañas. En esta versión se introdujo el nuevo parámetro “AN”. Se utiliza para detectar la presencia de un proceso específico asociado con software de seguridad bancaria. Si dicho software se encuentra en el dispositivo de la víctima, el malware notifica al actor amenaza.

      Parámetro Descripción
      VS Versión de JanelaRAT
      PL OFF por defecto
      AN Sí o No según si el proceso del software de seguridad bancaria existe
    2. La segunda subrutina vigila la navegación hacia portales bancarios y extrae cualquier actividad de interés al actor amenaza. JanelaRAT 33v fue diseñado para apuntar a instituciones financieras de Brasil. No obstante, se ha detectado el despliegue de otras variantes dirigidas a países específicos de la región, como la versión “Gold-Label”, focalizada en usuarios bancarios de México, detallada en una publicación anterior.

      Esta subrutina crea un temporizador para activar el ciclo de monitoreo activo del sistema. Durante este ciclo, el malware extrae el título de la ventana activa y lo coteja contra una lista ofuscada embebida en el código con entidades financieras de interés. Aunque los actores amenaza detrás de JanelaRAT pueden centrarse en un solo país como objetivo, la lista de instituciones financieras se actualiza de forma constante.

      Si una barra de título coincide con uno de los objetivos de la lista, el malware espera 12 segundos antes de establecer un canal de comunicación dedicado con el C2. Este canal funciona como vector de ejecución para rutinas ofensivas: captura de pantallas, interceptación de entradas de teclado y mouse, despliegue de mensajes en pantalla, inyección de pulsaciones (keystrokes), simulación de movimientos del puntero y forzado de apagado del sistema.

      Para ejecutar estas rutinas, el espécimen despliega un handler dedicado del C2 que decodifica e interpreta las órdenes procedentes de la infraestructura. La variante 33v destaca por habilitar el secuestro de sesiones bancarias en tiempo real, trascendiendo el objetivo de robo de credenciales.

      Acción ejecutada Descripción
      Capturar imagen del escritorio Enviar capturas de pantalla comprimidas al C2
      Capturas específicas Recortar regiones específicas de la pantalla y extraer imágenes
      Superposición de ventanas Mostrar imágenes en pantalla completa, limitar las interacciones del usuario e imitar diálogos bancarios para capturar credenciales
      Captura de pulsaciones (Keylogging) Captura de pulsaciones de teclas
      Simulación de teclado Inyectar teclas como DOWN, UP y TAB para navegar o activar nuevos elementos
      Rastreo de entradas del ratón Mover el cursor, simular clics, reportar la posición del cursor
      Mostrar mensajes Mostrar cuadros de mensaje (título, texto, botones e íconos personalizados)
      Apagado del sistema Ejecutar la secuencia de apagado forzado
      Ejecución de comandos Ejecutar scripts/comandos CMD o PowerShell
      Manipulación del Administrador de tareas Abrir el Administrador de tareas, localizar su ventana y ocultarla para evitar que el usuario lo detecte
      Verificar el proceso del software de seguridad bancaria Detectar sistemas antifraude
      Beaconing Enviar información del host (versión del malware, perfil, presencia de software bancario)
      Alternar modos internos Habilitar y deshabilitar modos como flujo de capturas de pantalla, inyección de teclas y visibilidad de superposición
      Antianálisis Detectar sandbox o herramientas de automatización

Infraestructura C2

A diferencia de otras versiones, esta variante rota su servidor C2 a diario. Al detectar una coincidencia de la barra de título con algún elemento de la lista, el malware construye dinámica mente el dominio del canal C2 concatenando una cadena ofuscada, la fecha vigente y un sufijo asociado a un servicio legítimo de DNS dinámico (DDNS). Esta comunicación se establece mediante el puerto 443, pero sin usar TLS.

Sistema de superposición señuelo

Esta versión de JanelaRAT implementa un sistema de superposición señuelo diseñado para capturar credenciales bancarias y eludir la autenticación multi factor. Cuando se detecta una ventana bancaria objetivo, el malware solicita instrucciones adicionales al servidor C2. El C2 responde con un identificador de comando y una imagen codificada en Base64, que luego se muestra como una ventana superpuesta en pantalla completa que imita interfaces legítimas bancarias o del sistema. El malware garantiza que la ventana falsa cubra por completo la pantalla y limite la interacción de la víctima con el sistema.

El malware bloquea la interacción de la víctima, mostrando diálogos modales. Cada diálogo modal corresponde a una operación específica, como captura de contraseña, captura de token o MFA, pantalla de carga falsa, modal de pantalla completa de actualización falsa de Windows y más. El malware redimensiona la superposición, analiza múltiples pantallas y carga elementos engañosos para distraer al usuario u ocultar de forma temporal las ventanas de aplicaciones legítimas.

Entre otros elementos falsos, el malware muestra notificaciones falsas de actualización de Windows, a menudo acompañadas de mensajes en portugués brasileño:

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

Cuando el operador envía un comando de mensaje, el malware construye un cuadro de mensaje personalizado basado en los parámetros enviados desde el servidor. Estos parámetros incluyen el título del mensaje, el contenido del texto, el tipo de botón (p. ej., OK, Sí/No) y el tipo de ícono (p. ej., Advertencia, Error). Luego, el malware crea un cuadro de mensaje maximizado en la parte superior de la pantalla, para garantizar que capture la atención del usuario e impida ver otras ventanas, imitando una alerta del sistema o de seguridad.

Se envía una cadena de confirmación ofuscada al C2 para confirmar la ejecución exitosa de esta tarea.

Técnicas anti-análisis

Además de su comportamiento condicional basado en la detección de procesos de seguridad bancaria, el malware integra rutinas anti-análisis y validaciones del entorno de la computadora, incluyendo la detección de sandboxes mediante los componentes Magnifier y MagnifierWindow. Estos componentes se utilizan para determinar si las herramientas de accesibilidad están activas en el equipo infectado, lo que indica un posible entorno de análisis de malware.

Persistencia

El malware asegura su persistencia escribiendo un script de comandos en el directorio de Inicio (Startup) de Windows. Este script fuerza la ejecución de la cadena de comandos en cada inicio de sesión del usuario, facilitando operaciones maliciosas sin detonar las solicitudes de control de cuentas (UAC). El script se ejecuta de forma silenciosa para no llamar la atención del usuario.

Este método es una alternativa o un complemento al método de persistencia descrito en la sección de subrutinas responsables del beaconing HTTP periódico.

Victimología

Al igual que en intrusiones y campañas previas, los actores amenaza que distribuyen JanelaRAT priorizan a usuarios de bancos en Latinoamérica, con énfasis específico en clientes de instituciones financieras de Brasil y México.

Según nuestra telemetría, en 2025 detectamos 14 739 ataques en Brasil y 11 695 en México relacionados con JanelaRAT.

Conclusiones

JanelaRAT persiste como una amenaza activa y en evolución. Aunque sufre modificaciones constantes, las intrusiones mantienen un patrón de comportamiento coherente. Hemos rastreado la evolución de las infecciones de JanelaRAT durante algún tiempo, observando variaciones tanto en el malware en sí como en su cadena de infección, incluidas variantes dirigidas a países específicos.

Esta variante marca un salto cualitativo en las capacidades del actor, al integrar múltiples canales de comunicación, monitoreo exhaustivo de la víctima, superposiciones interactivas (overlays), inyección de entrada y sólidas funciones de control remoto. El malware está diseñado para minimizar su visibilidad ante el usuario y adaptar su comportamiento al detectar software antifraude.

Para mitigar el riesgo de comunicación con infraestructura C2 que emplee técnicas de evasión similares, recomendamos bloquear los servicios de DNS dinámico (DDNS) en el perímetro corporativo o en las resoluciones DNS internas. Esta medida inhabilita los canales de comunicación empleados por JanelaRAT y amenazas afines.

Indicadores de compromiso

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

JanelaRAT: una amenaza financiera para usuarios de América Latina

Su dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

 

Informes

BlindEagle vuela alto en LATAM

Kaspersky proporciona información sobre la actividad y los TTPs del APT BlindEagle. Grupo que apunta a organizaciones e individuos en Colombia, Ecuador, Chile, Panamá y otros países de América Latina.

MosaicRegressor: acechando en las sombras de UEFI

Encontramos una imagen de firmware de la UEFI infectada con un implante malicioso, es el objeto de esta investigación. Hasta donde sabemos, este es el segundo caso conocido en que se ha detectado un firmware malicioso de la UEFI usado por un actor de amenazas.