Se lo dijo su antivirus.
El propio cliente entró en su web y su antivirus le avisó de que sus cookies podían haber sido robadas. No fue un pentester quien dio la alarma: fue el aviso que cualquiera de sus visitantes podía estar viendo también.
Caso real · 2026
Nadie encargó una auditoría. Saltó el antivirus del propio cliente al entrar en su web, avisando de que sus cookies podían haber sido robadas. Detrás había un backdoor activo desde septiembre de 2025: administrador oculto, canal de mando y control y código que se auto-replicaba. Esto es lo que encontramos, cómo lo cerramos y qué pasó tres meses después.
El cliente
Pyme industrial en Bizkaia, menos de diez personas, sin nadie dedicado a informática. Una web corporativa en WordPress con un tema comercial, alojada en un hosting compartido. El perfil más común que existe, y por eso mismo el más atacado.
El propio cliente entró en su web y su antivirus le avisó de que sus cookies podían haber sido robadas. No fue un pentester quien dio la alarma: fue el aviso que cualquiera de sus visitantes podía estar viendo también.
El malware estaba diseñado para no aparecer: se instalaba como must-use plugin, que no sale en la lista de plugins, y se ocultaba también de la lista de usuarios. Funcionó siete meses.
La inteligencia sobre los dominios mostró una campaña automatizada masiva que infecta miles de WordPress a través de plugins y temas desactualizados o pirateados. No era un ataque dirigido: era estar en la lista.
Los hallazgos
Cada fichero se confirmó con criterio estricto: canal de mando y control decodificado, cabecera de plugin con autor falso, creación oculta de usuario o cargador ofuscado. Ninguno se dio por malicioso «por si acaso».
| Ref | Hallazgo | Severidad | Estado |
|---|---|---|---|
| F-001 | Backdoor auto-replicante en mu-plugins (3 ficheros) | Crítica | Verified closed |
| F-002 | Copias fuente del backdoor en plugins falsos (3) | Crítica | Verified closed |
| F-003 | Plugins falsos con canal C2 (7 ficheros) | Alta | Verified closed |
| F-004 | Administrador oculto con rol completo | Crítica | Verified closed |
| F-005 | Opciones inyectadas en base de datos | Media | Verified closed |
| F-006 | Inyección de JavaScript a los visitantes | Alta | Verified closed |
| F-007 | Cargador ofuscado escondido en el tema | Crítica | Verified closed |
Lo que pasó después
Esta es la parte del caso que podríamos no contar. La contamos porque es exactamente la razón por la que existe InmunoSec.
Se dio por cerrado
Verificado cerrado · 3 sep 2026
Endurecimiento
Caso publicado de forma anonimizada, con las cifras reales del trabajo. No se incluye el nombre del cliente, ni dominios, ni rutas completas, ni ningún dato que permita identificar la organización o reproducir el ataque.
Si tu web lleva años funcionando sin que nadie la mire, este caso es más común de lo que parece. Media hora de conversación y te decimos por dónde empezaríamos.
Respondemos en menos de 24 horas laborables. Primera conversación sin coste y sin compromiso.