Incidente de seguridad: Script manipulado servido a través de PushEngage

Resumen

Estamos respondiendo a un incidente de seguridad que afecta a PushEngage. Un atacante obtuvo acceso a una credencial para nuestra red de entrega de contenido (CDN) y la utilizó para servir una versión manipulada del archivo JavaScript que estos productos entregan a los sitios de los clientes. Durante un período limitado, los sitios que incrustan nuestro script cargaron este archivo modificado directamente desde nuestra CDN.

El código malicioso solo se activó para los administradores de WordPress que habían iniciado sesión. Cuando se ejecutó en un sitio afectado, intentó crear una cuenta de administrador oculta e instalar un plugin de puerta trasera (backdoor) encubierto, y luego envió datos a un servidor controlado por el atacante. Los visitantes habituales del sitio no fueron el objetivo, pero dado que el código puede otorgar a un atacante el control de un sitio, cualquier sitio afectado debe tratarse como comprometido.

Alcance: lo que se vio afectado y lo que no: 

Nuestros servidores de aplicaciones, nuestro código fuente y los sistemas que almacenan la información de su cuenta de PushEngage están alojados por separado y no fueron vulnerados. No tenemos evidencia de que se haya accedido a datos de cuentas o detalles personales que obran en nuestro poder. La vulneración se limitó al servidor de nuestro sitio web de marketing y, a través de una clave API de CDN almacenada en él, a nuestra cuenta de CDN. Es importante destacar que esto no reduce la urgencia para los propietarios de sitios afectados: el archivo entregado a su sitio fue manipulado, por lo que los pasos a continuación siguen siendo importantes si se encontraba en la ventana de exposición.

Quién necesita actuar ahora: Si su sitio tenía PushEngage activo y un administrador había iniciado sesión durante la ventana de exposición a continuación, trate su sitio como comprometido y siga [Qué comprobar y hacer](#what-to-check-and-do) de inmediato. Las comprobaciones más fiables se realizan en su servidor, no en el panel de WordPress.

Ventana de exposición

Según los registros de nuestro proveedor de CDN, la configuración no autorizada con archivos manipulados estuvo vigente durante aproximadamente varias horas el 12 de junio de 2026 (UTC). Para un subconjunto de usuarios, continuó sirviéndose hasta el 14 de junio (UTC) desde ciertas ubicaciones de borde de la CDN. Continuamos confirmando el período preciso durante el cual se sirvió el contenido afectado y actualizaremos este aviso a medida que se verifiquen detalles adicionales.

Solo los sitios que cargaron el script afectado con un administrador conectado durante esta ventana podrían haber sido comprometidos.

Los archivos afectados fueron los scripts de incrustación estándar servidos desde:

Qué sucedió

Un atacante explotó una vulnerabilidad conocida en un plugin de WordPress de terceros (UpdraftPlus) para obtener acceso al servidor que aloja nuestro sitio web de marketing. Este servidor es completamente independiente: diferente proveedor, diferente infraestructura de los servidores de aplicaciones que ejecutan PushEngage y que almacenan datos de clientes.

En el servidor de marketing, el atacante localizó una clave API para nuestra cuenta de CDN. Usando esa clave, no necesitaron tocar nuestro origen de aplicación en absoluto. Modificaron los archivos que nuestro CDN estaba sirviendo, por lo que el script manipulado se entregó a los sitios que lo incrustaban durante un período limitado antes de que detectáramos y revirtiéramos el cambio.

Desde entonces, hemos remediado el sitio de marketing, lo hemos migrado a un nuevo servidor y hemos rotado todas las credenciales, incluida la clave API de CDN.

Lo que hizo el código malicioso

En un sitio afectado, cuando un administrador conectado cargaba una página, el código intentaba:

  1. Confirmar que se estaba ejecutando en un contexto de administrador de WordPress y, a continuación, recopilar los tokens de seguridad necesarios para actuar como ese administrador.
  2. Crear una cuenta de administrador oculta. Las cuentas conocidas incluyen developer_api1 ([email protected]) y cuentas aleatorias del tipo dev_xxxxxx.
  3. Instalar un plugin de puerta trasera autoocultable que se esconde del panel de control y expone un shell web no autenticado y un punto final de ejecución de código, lo que efectivamente otorga control total del sitio.
  4. Enviar las nuevas credenciales y los detalles del sitio a un servidor controlado por el atacante.

Debido a que la puerta trasera se oculta de las pantallas de administración de WordPress, el panel de control por sí solo no le dirá si está afectado. Las comprobaciones fiables se encuentran en el sistema de archivos del servidor y mediante un escaneo del lado del servidor.

Qué comprobar y hacer

Si tenía PushEngage ejecutándose en su sitio web Y un administrador inició sesión en su sitio de WordPress durante la ventana de exposición, haga lo siguiente lo antes posible. Si no está seguro de si un administrador inició sesión, es más seguro comprobarlo.

  1. Elimine las cuentas de administrador no autorizadas. Busque developer_api1 / [email protected] y cualquier cuenta inesperada de tipo dev_xxxxxx, y elimínelas.
  1. Compruebe el sistema de archivos, no solo el panel de control, en busca del plugin de puerta trasera. En wp-content/plugins, busque content-delivery-helper (“Content Delivery Helper”) o database-optimizer (“Database Optimizer”). El disfraz rota, así que confíe en lo que hay en el disco más que en lo que muestra el panel de control. Elimine cualquiera que encuentre.
  1. Ejecute un escaneo de malware del lado del servidor. Debido a que la carga útil solo se ejecutó para administradores conectados, los controles del panel de control y del lado del cliente no son fiables; un escaneo del lado del servidor es la forma más fiable de encontrar la puerta trasera o cualquier cambio adicional.
  1. Si encuentra algún indicador anterior, asuma un compromiso total y rote todo: contraseñas de administrador, claves de aplicación/API, credenciales de base de datos y sus claves/sales de seguridad de WordPress en wp-config.php. La puerta trasera permitió la ejecución de código arbitrario, por lo que puede existir persistencia adicional.

Si no encuentra ninguno de estos indicadores y no tuvo ningún administrador conectado durante el período, es muy probable que su sitio no se vea afectado y no se requiera ninguna acción más allá de la higiene estándar (habilitar la autenticación de dos factores, mantener el software actualizado).

Lo que hemos hecho hasta ahora

  • Detectamos la manipulación y revertimos los archivos afectados de la CDN inmediatamente; purificamos la caché de la CDN para que se sirvan archivos limpios.
  • Revocamos y rotamos la clave API de la CDN y todas las credenciales relacionadas.
  • Remediamos el sitio web de marketing comprometido y lo migramos a un nuevo servidor en una infraestructura separada.
  • Confirmamos que nuestros servidores de aplicaciones, código fuente y sistemas de datos de clientes, que se encuentran en una infraestructura separada, no muestran evidencia de acceso.
  • Involucramos a nuestro equipo de seguridad y estamos trabajando con nuestro proveedor de CDN para obtener los registros de entrega.

Estado y riesgo continuo

Nuestra configuración de CDN se ha corregido y se han eliminado los archivos manipulados, se han rotado las credenciales afectadas y se ha remediado el punto de entrada en nuestro servidor de marketing. 

Remediar nuestros sistemas no limpia un sitio que ya estaba comprometido. Si su sitio se vio afectado durante la ventana de exposición, la cuenta de administrador no autorizada y el plugin de puerta trasera oculto permanecen en su lugar hasta que los elimine utilizando los pasos anteriores. Recomendamos actuar con prontitud. Actualizaremos esta página si surge información adicional relevante.

Indicadores de compromiso

Para propietarios de sitios y equipos de seguridad:

Cuentas no autorizadas:

Disfraces de plugin de puerta trasera (rotando; revise el sistema de archivos):

  • content-delivery-helper   “Content Delivery Helper”   v2.7.1
  • database-optimizer        “Database Optimizer”         v2.9.4

Infraestructura del atacante:

  • tidio.cc   (dominio de aspecto similar — NO el legítimo tidio.com)

Cadenas únicas:

  • jX9kM2nP4qR6sT8v            (clave de cifrado utilizada por el malware)
  • WPM File Manager & Shell    (interfaz de shell de puerta trasera)

Contacto

Si tiene preguntas, necesita ayuda para revisar su sitio o nota algo inusual, contáctenos en [email protected]. Estamos priorizando las consultas relacionadas con incidentes y mantendremos esta página actualizada.

Proteger a nuestros clientes es una prioridad para nosotros. Entendemos que este incidente puede ser preocupante y lamentamos cualquier interrupción que haya causado. La información anterior refleja nuestra investigación hasta la fecha y actualizaremos esta página a medida que se confirmen detalles adicionales.

Añadir un Comentario

Nos complace que hayas decidido dejar un comentario. Ten en cuenta que todos los comentarios son moderados de acuerdo con nuestra política de privacidad, y todos los enlaces son nofollow. NO uses palabras clave en el campo del nombre. Tengamos una conversación personal y significativa.

Atrae y retén visitantes después de que hayan abandonado tu sitio web

Aumenta el valor de cada visita web con Notificaciones Push que son difíciles de ignorar.

  • Plan Gratuito para Siempre
  • Configuración Sencilla
  • Soporte 5 Estrellas