PathSentinel

Caso real: un «falso plugin» de WordPress infectó decenas de webs en un hosting compartido

Analizamos una campaña real de "fake-plugin dropper" en un hosting compartido: entrada por fuerza bruta de FTP y credenciales robadas, plugins falsos con puerta trasera, y por qué la erradicación pasó por matar el FTP.

En un servidor de hosting compartido que alojaba decenas de sitios web de pequeñas empresas, detectamos y erradicamos una campaña de malware que llevaba activa cerca de doce meses sin que el antivirus del servidor la marcara. El patrón es uno de los más rentables y silenciosos que vemos hoy en el ecosistema WordPress: un «falso plugin» que, a simple vista, parece una extensión legítima más, pero que en realidad es la puerta de entrada a una operación de fraude a escala industrial.

Compartimos el caso completamente anonimizado (sin nombres de clientes, dominios ni datos personales) porque las lecciones son directamente aplicables a cualquier pyme, e-commerce o despacho profesional que tenga su web en un hosting compartido. Nos ceñimos a los hechos técnicos que verificamos en primera persona; lo que no pudimos confirmar, lo marcamos como hipótesis.

El vector: por dónde entraron de verdad

La primera pregunta en cualquier incidente es siempre la misma: ¿cómo entraron? Y aquí la respuesta descarta los sospechosos habituales. No fue un fallo del servidor ni un plugin sin actualizar explotado por un exploit exótico. El núcleo del OS y la cuenta de administración del panel (protegida con doble factor) aguantaron: no hubo ningún acceso raíz exitoso.

El servidor cayó por su eslabón más débil: el FTP. Los registros mostraban fuerza bruta activa contra las cuentas de FTP, combinada con el uso de credenciales robadas por un infostealer. Este es un patrón que se repite en toda la cartera de incidentes que investigamos: un malware ladrón de contraseñas infecta el ordenador de un desarrollador o de un proveedor externo, roba las credenciales guardadas en su cliente FTP, esas credenciales acaban en un mercado de «logs», y desde ahí un atacante automatiza un único inicio de sesión y suelta el payload.

El problema de fondo es que el FTP viaja en texto plano, no admite doble factor y no bloquea por reintentos: es intrínsecamente vulnerable a este ataque. Con una credencial válida, el atacante saltó de cuenta en cuenta dentro del hosting compartido (propagación cross-site), sembrando el mismo kit en varias webs de distintos titulares.

¿No sabes si tu web ya está comprometida? El análisis externo es gratis y no toca tu servidor.

Comprobar mi web gratis

Anatomía del «falso plugin»

El kit pertenece a una familia que la industria de seguridad rastrea bajo la etiqueta «SMILODON», un linaje que empezó como skimmer de tarjetas al estilo Magecart y evolucionó hasta empaquetarse como falso plugin de WordPress. Sus firmas son reconocibles una vez sabes qué buscar:

  • Plugins de nombre inventado. Nombres de sílabas al azar o genéricos y plausibles, con una cabecera autogenerada: autor falso, versión inventada y una descripción de relleno raspada de la Wikipedia para dar verosimilitud.
  • El payload escondido en una falsa imagen. Ficheros con extensión .png o .gif que no son imágenes reales: son texto que empieza por las letras ASCII «PNG»/»GIF» (no por la firma binaria auténtica de una imagen), seguido de código cifrado.
  • Carga ofuscada por concatenación. El plugin no llama al fichero malicioso de forma directa, sino troceando el nombre (include __DIR__."/ryni"."di.ph"."p";) para esquivar a los escáneres que buscan firmas literales.

Según la documentación pública de la familia, el payload que se despliega (unos 50 KB de código) integra un arsenal completo: un administrador oculto y autorreparable (se excluye de los listados de usuarios y de la API, e incluso descuenta uno del contador para no delatarse; si lo borras, se recrea solo en la siguiente carga), una web-shell para navegar y editar ficheros, un skimmer de tarjeta en el checkout de WooCommerce en las tiendas, y un canal de mando por cookie (C2) para recibir órdenes y exfiltrar datos. Una de las webs afectadas era una tienda online real con pedidos activos; por fortuna, cobraba mediante pasarela externa, de modo que la tarjeta nunca llegaba a tocar la página que un skimmer podría leer, lo que redujo el riesgo.

El detalle forense curioso: el arma estaba descargada

Aquí llega el hallazgo más interesante del caso. Este malware es polimórfico: cada instalación cifra su payload con una clave de sustitución distinta, y esa clave no vive en la falsa imagen, sino en un pequeño fichero cargador aparte. Al abrir esos cargadores en las webs infectadas, nos encontramos con algo revelador: estaban a 0 bytes.

La consecuencia es directa. Sin la clave, la falsa imagen es indescifrable — para nosotros como analistas, pero también para el propio malware. Un cargador vacío significa que la instrucción que debía descifrar el payload no descifraba nada: el código nunca llegaba a ejecutarse. Lo verificamos en el árbol de ficheros vivo: no había administrador oculto, ni C2 en marcha, ni JavaScript inyectado, ni exfiltración. Las funciones descritas por la familia no estaban operando. Intentamos incluso reconstruir la clave por fuerza (ataque de texto conocido más hill-climbing), sin éxito: la sustitución por instancia lo hace irrecuperable. El arma estaba plantada, pero descargada.

A dónde va el dinero (según informes públicos de terceros)

La pregunta que toda pyme se hace es «¿por qué a mí, si yo no manejo secretos?». La respuesta es que tu web vale dinero por sí misma, en tres cajas simultáneas. Lo que sigue procede de informes públicos de terceros —Infoblox, Qurium, GoDaddy (2024) y Krebs on Security— y lo exponemos a nivel de infraestructura, sin atribuir nada a ninguna persona:

  • Reventa del acceso. El propio acceso a un WordPress de pyme se vende en mercados clandestinos. Según estos informes, en 2024 la gran mayoría de accesos se vendieron por menos de 3.000 $, y un WordPress genérico cae en la banda baja: en torno a 200 $ a granel, o pocos dólares por unidad en lotes de paneles.
  • Skimming de tarjeta. En las tiendas, el robo directo de datos de pago en el checkout, propio del linaje Magecart del que desciende esta familia.
  • Redirección de tráfico a un TDS. La caja más lucrativa a escala. Según Infoblox y GoDaddy, cerca del 40% de los sitios WordPress comprometidos que redirigen tráfico acaban canalizándolo a un sistema de distribución de tráfico (tipo VexTrio) que lo revende a programas de afiliación de casino y farmacia. El dueño del sitio no ve un céntimo: su recompensa es el daño (pérdida de posicionamiento y listas negras).

Conviene un matiz honesto sobre la atribución: con medios de investigación abiertos se llega a la infraestructura (dominios, IPs, kits, buzones de exfiltración), no a la persona. La única desanonimización nominal robusta de este ecosistema que reportan Qurium e Infoblox no vino del malware, sino de rastrear la capa comercial de publicidad donde el dinero obliga a usar empresas reales. Nosotros nos quedamos, deliberadamente, en los hechos técnicos.

La erradicación

Neutralizamos los trece plugins falsos de las webs afectadas moviéndolos a una cuarentena reversible (con copia de seguridad por sitio) y sacándolos de la lista de plugins activos; todas las webs siguieron sirviéndose con normalidad. La verificación posterior fue exhaustiva: cero persistencia — sin administradores ocultos, sin disparadores en base de datos, sin tareas programadas espurias y sin reinfección.

Pero limpiar no cierra la puerta. La acción decisiva fue desactivar el FTP a nivel de todo el servidor (dejando SSH/SFTP intacto) y migrar la sincronización de ficheros a SFTP. Se elimina el protocolo débil que fue el vector, y en paralelo se rotan credenciales. Sin eso, el mismo acceso se revende y el sitio se reinfecta.

Lecciones para tu pyme o e-commerce

  • Mata el FTP. Migra a SFTP/FTPS. El FTP en texto plano, sin doble factor, es la puerta trasera de más de un incidente que hemos visto.
  • Doble factor y rotación de credenciales. Especialmente si un proveedor externo o una agencia tiene acceso: su ordenador es también tu superficie de ataque.
  • Vigila el nombre de tus plugins. Un plugin de nombre extraño, con autor desconocido y una descripción sin sentido, es una bandera roja. Y una imagen que empieza por texto «PNG» en lugar de ser una imagen de verdad, también.
  • Monitoriza la flota entera. En un hosting compartido, un compromiso salta de web en web. La detección temprana en minutos es lo que marca la diferencia entre un susto y doce meses de infección invisible.

Si crees que tu web ya está infectada, actúa antes de que el acceso se revenda o se dispare el skimmer.

Comprobar mi web gratis

En PathSentinel hacemos exactamente este trabajo: respuesta a incidentes, erradicación reversible y verificación de que la limpieza es real, no cosmética. Si has llegado hasta aquí porque sospechas de tu web, o si ya sabes que te han hackeado, escríbenos desde contacto y lo miramos.

PathSentinel · Jesus Macias Rubiales

¿Esto mismo, pero en tu web?

Detectamos fugas de datos de clientes y levantamos webs caídas — con tu autorización y sin tocar nada para diagnosticar.

Ver nuestros servicios →

PathSentinel

Jesús Macías Rubiales

Investigación forense y seguridad web: analizamos y respondemos incidentes reales en pymes, e-commerce y entornos exigentes como la banca. Conoce al equipo.

📬 Boletín PathScan — suscríbete gratis

Cada semana, las vulnerabilidades de plugins de WordPress que de verdad importan y un caso real de investigación, en español. Sin ruido, sin spam.