Desde julio de 2025, un grupo criminal ha infectado 953 tiendas en línea, principalmente aquellas que utilizan la plataforma Magento, según un análisis de los investigadores de Sansec. Este grupo de atacantes ha implementado un método que consiste en añadir un pequeño fragmento de código a las páginas de las tiendas. Cuando un usuario visita una de estas tiendas, su navegador se comunica con el servidor de los atacantes para recibir instrucciones adicionales. Este servidor tiene la capacidad de verificar si el visitante es un comprador legítimo o un escáner de seguridad, ocultando la actividad maliciosa si detecta la presencia de un escáner.
La nueva dirección web asociada a este grupo criminal es deepveindrilling.com. El análisis de Sansec indica que este dominio fue encontrado en los bloques CMS de 83 tiendas, casi todas ellas operando con Magento. Los bloques CMS son secciones de contenido que Magento incorpora a las páginas de la tienda. El dominio fue registrado el 6 de octubre de 2026, y las primeras tiendas comenzaron a cargarlo la noche siguiente.
Este es el quinto dominio vinculado a una campaña que Sansec ha estado rastreando desde julio de 2025, la cual fue reportada en marzo como el ataque masivo PolyShell. La mayoría de las tiendas que utilizan el último dominio ya habían sido previamente atacadas. De las 83 tiendas, 60 habían cargado anteriormente uno de los scripts maliciosos del grupo, y 34 lo habían estado haciendo desde octubre de 2025.
El dominio mencionado está detrás de Cloudflare, lo que complica su identificación y bloqueo, y su página principal devuelve un error 404. Solo responde a las solicitudes de scripts de los visitantes de las tiendas infectadas. El código cargador se encuentra en la tabla cms_block, y el escáner de Sansec, eComscan, lo detectó en 148 instalaciones de servidor a lo largo de la campaña, sin hallarlo nunca en core_config_data o en los archivos de tema.
eComscan descubrió por primera vez el nuevo cargador a las 21:54 UTC del 7 de octubre. Para el final del 8 de octubre, el rastreador de Sansec había encontrado el cargador en 74 tiendas, manifestándose como dos scripts. El primero de estos scripts lee un valor denominado fpCode del almacenamiento del navegador del visitante. Cuando este valor se establece, el script inserta el código almacenado en un div invisible y lo ejecuta. El navegador, entonces, ejecuta el código como un manejador de eventos, sin recurrir a eval().
Es importante destacar que nada en el bloque escribe el fpCode, por lo que el script de deepveindrilling.com debe establecerlo. Un visitante que ha recibido la carga útil una vez, la ejecutará en cada visita posterior, incluso cuando el dominio esté fuera de línea o bloqueado. La versión de marzo había eliminado su carga útil almacenada después de una ejecución.
El 23 de octubre, el operador reescribió nuevamente los bloques, y el cargador apareció en 9 tiendas más. Todas las 71 tiendas que Sansec volvió a rastrear hasta el 24 de octubre funcionaban con la nueva versión. Esta reemplaza la etiqueta de script tradicional con un cargador en línea que envía una huella digital del navegador a https://deepveindrilling.com/?s=49b7ca5f&fp=.
La huella digital utiliza diversos parámetros para identificar navegadores automatizados a través de navigator.webdriver, variables globales de Selenium y propiedades cdc_ de ChromeDriver. También se añade el nombre de la GPU desde WebGL, los núcleos de CPU, la memoria, el tamaño de pantalla, la zona horaria, los idiomas y pistas del cliente. El servidor selecciona su respuesta en función de toda esta información.
El mecanismo de filtrado parece ser efectivo. Cuando urlscan.io cargó una tienda infectada utilizando un navegador Chrome automatizado, recibió un HTTP 200, y Sansec no encontró contenido adicional en la página. Hasta el momento, Sansec no ha capturado la carga útil final.
Las cargas útiles más antiguas dan pistas sobre lo que obtienen los visitantes reales. Sansec Watch, el servicio de monitoreo de la empresa para políticas de seguridad de contenido, muestra lo que se servía en etapas anteriores. El 12 de diciembre de 2025, un cliente que inició sesión en una tienda infectada recibió un script de manulfie.click que cargó https://crypto-insider.top/ssl/ y, cinco minutos después, https://leqdger.click/ssl/.
En diciembre 15 y 16, neswnsssn.click insertó el mismo script de leqdger.click en dos tiendas más. Leqdger.click es un error tipográfico de la marca de monederos cripto Ledger. Este dominio fue registrado el 12 de septiembre de 2025 y ha expirado desde entonces.
Antes de octubre, el segundo script era la integración “Script (async)” de Keitaro, un rastreador de anuncios comercial que también actúa como un sistema de distribución de tráfico, una herramienta que clasifica a los visitantes. Envía el referenciador, el título de la página y la cadena de consulta a una URL codificada en base64 como https://additionalver.com/Mb2z8J?&se_referrer=, donde el camino es el alias de la campaña de Keitaro. El sistema decide, por cada visitante, si devolver una carga útil, un redireccionamiento o nada.
Cuando Sansec solicitó el script additionalver.com desde un visitante de escritorio Windows el 24 de octubre, recibió QWE=123;, una declaración que no realiza ninguna acción, y estableció una cookie que marca al visitante por 24 horas. deepveindrilling.com abandona a Keitaro y mueve el filtrado de bots al cargador, continúa el informe.
A lo largo de 15 meses, se han identificado cinco dominios de cargador. Dos dominios adicionales fueron encontrados en un número reducido de tiendas: hdfdsi84j3h.top, registrado tres minutos después de lanhd6549tdhse.top, y c85grt98sd.com.
Dos dominios más antiguos, neswnsssn.click y manulfie.click, han expirado y fueron registrados nuevamente en mayo de 2026. Ambos ahora utilizan los servidores de nombres de abovedomains.com, un servicio de aparcamiento de dominios. Entre agosto y octubre de 2026, Sansec aún encontró el cargador de manulfie.click en nueve tiendas y el de neswnsssn.click en seis. Cuando los visitantes abren estas tiendas, sus navegadores envían información sobre la página anterior y el título de la página actual al nuevo propietario del dominio. Los navegadores también ejecutan cualquier script devuelto por ese dominio.
Sansec Watch ha recibido informes de navegadores de visitantes conectándose a los cuatro dominios anteriores. Un dominio, additionalver.com, estuvo vinculado a alrededor de 52,000 informes.
La actividad de octubre no dependía de una nueva vulnerabilidad. De las 83 tiendas afectadas, 60 ya habían sido infectadas. Los ataques anteriores parecen haber explotado fallos de carga de archivos en Magento. En marzo, el grupo inyectó su código malicioso en 471 tiendas en solo una hora mediante la carga de webshells a través de PolyShell (CVE-2026-48356).
Algunas tiendas Magento infectadas habían tenido archivos cargados a través de PolyShell o SessionReaper (CVE-2025-54236). En un grupo separado de 3,024 tiendas afectadas por otro skimmer, la tasa de infección fue del 32%.
Una tienda con Magento 2.4.7-p1 contenía webshells de PolyShell disfrazados como imágenes PNG, junto con código malicioso en un bloque CMS. El código cambió de additionalver.com a deepveindrilling.com el 7 de octubre. La tienda no había instalado la corrección de PolyShell de Adobe, APSB26-73.
Sin embargo, instalar todos los parches no garantiza que una tienda esté segura. Otra tienda operando con Magento 2.4.7-p10 no tenía parches críticos faltantes, pero fue infectada el 23 de octubre. Escaneos anteriores ya habían detectado una cuenta de administrador no autorizada y un backdoor GSocket.
Sansec recomienda revisar el contenido del CMS en busca de código malicioso, incluidos dominios codificados en base64. Los administradores deben buscar tanto en las tablas cms_block como cms_page patrones sospechosos como fpCode y se_referrer. También deben inspeccionar los archivos cargados en busca de webshells, verificar la existencia de cuentas de administrador desconocidas y buscar procesos sospechosos. Eliminar los scripts maliciosos no es suficiente: los propietarios de las tiendas deben identificar y corregir la vulnerabilidad o el backdoor que permitió la entrada de los atacantes.
Tras la limpieza, es fundamental cambiar las contraseñas de la base de datos, de administrador y de integración API. Instalar APSB26-73 para PolyShell y APSB25-88 para SessionReaper. Sansec Shield bloquea ambos ataques mientras se programa la actualización.
Sansec enumera los indicadores de compromiso al final de su informe.
“Si su tienda carga algún dominio de los indicadores de compromiso, el atacante puede escribir en su base de datos. Eliminar el script no elimina ese acceso. Consulte Cómo comprobar su tienda”, concluye el informe.
Sígueme en Twitter: @securityaffairs y en Facebook y Mastodon.
Pierluigi Paganini
(SecurityAffairs – hacking, Magento)
