Eliminar malware de WordPress: Balada Injector y otros

Eliminar malware de WordPress: guía para limpiar Balada Injector y otras infecciones
Si estás buscando cómo eliminar malware de WordPress es porque tu web hace cosas raras. A veces redirige a páginas sospechosas, otras muestra publicidad engañosa, falsas alertas del navegador o mensajes de premios que no deberían estar ahí. En otros casos ni siquiera lo ves tú al entrar como administrador, pero sí lo ven los visitantes o Google empieza a detectar páginas comprometidas.
Lo primero que hay que decir es que esto pasa más de lo que parece. WordPress es un sistema muy potente, pero también es un objetivo habitual cuando hay plugins desactualizados, themes vulnerables, contraseñas débiles o archivos alterados por terceros. Como mencionan en este post de la conocida empresa Eset, en los últimos años una de las campañas más conocidas ha sido Balada Injector, pero no es la única. También se han visto muchas infecciones con scripts inyectados en base de datos, archivos JavaScript modificados, puertas traseras escondidas y usuarios administradores creados sin permiso.
La buena noticia es que eliminar malware de WordPress es posible. La mala es que no basta con borrar un archivo al azar y cruzar los dedos. Si no limpias la infección completa, el problema vuelve. Y si no corriges el agujero por el que entraron, la web se puede volver a comprometer a los pocos días. Así que conviene actuar sin pánico, pero rápido. Cuanto más tiempo esté activa la infección, más fácil es que se extienda, afecte al SEO o termine dañando la reputación del dominio.
Qué es Balada Injector y por qué afecta a tantas webs WordPress
Balada Injector es el nombre con el que se conoce a una campaña de malware que lleva años atacando sitios WordPress aprovechando vulnerabilidades en plugins y themes. No hablamos de una única firma o de un solo archivo infectado, sino de una forma de comprometer webs para insertar scripts maliciosos, redirecciones, spam o cargas externas que cambian con el tiempo.
Uno de los problemas de este tipo de malware es que suele estar ofuscado. Es decir, el código aparece camuflado con cadenas extrañas, String.fromCharCode, nombres de archivos raros o fragmentos escondidos en lugares donde no deberían estar. A veces está en la base de datos. Otras veces en functions.php, en archivos .js, en plugins modificados o incluso en falsos plugins creados por el atacante para mantener acceso.
Por eso no conviene quedarse con la idea de “mi web tiene un script concreto y ya está”. Muchas infecciones en WordPress son más profundas. Pueden dejar redirecciones, puertas traseras, tareas programadas, usuarios falsos o cambios en archivos del core. Si solo eliminas la parte visible, el malware acaba reapareciendo.
Cómo saber si tu web está infectada
Los síntomas suelen ser bastante claros, aunque no siempre aparecen a la primera. Unas veces la web redirige a páginas para adultos, apuestas, premios falsos o captchas engañosos. Otras muestra avisos de actualización falsa del navegador, popups extraños o comportamientos distintos según el dispositivo o el país del visitante. Incluso puede ocurrir que tú veas la web normal porque el malware evita mostrarse a usuarios administradores.
También puede pasar que Google Search Console te avise, que algún antivirus bloquee la URL o que el hosting suspenda temporalmente la cuenta. Otra señal típica de que te va a tocar eliminar malware de WordPress es encontrar archivos con nombres aleatorios, plugins que no recuerdas haber instalado o tablas sospechosas en la base de datos.
En infecciones antiguas o en algunas limpiezas de sitios comprometidos también podían aparecer scripts identificados con nombres como lowerbeforwarden como ya tratamos hacer años en este post, pero hoy conviene abordar el problema desde una perspectiva más amplia, porque campañas como Balada Injector han afectado a miles de instalaciones de WordPress mediante múltiples vectores de ataque.
Primer paso para eliminar malware de WordPress: poner la web en modo contención
Para eliminar malware de WordPress de forma segura, lo primero es antes de ponerte a borrar cosas sin orden, haz una copia completa de archivos y base de datos. Aunque la web esté comprometida, necesitas un punto de restauración por si tocas algo importante. Después de eso, conviene limitar el daño: poner el sitio en mantenimiento si puedes, pausar campañas si las tienes activas y evitar que siga infectando a los usuarios.
El siguiente paso es actualizar todo lo actualizable desde un entorno seguro: WordPress, themes y plugins. Esto no limpia por sí mismo una web hackeada, pero sí cierra parte del problema si la entrada ha sido una vulnerabilidad conocida. En el caso de WP File Manager, por ejemplo, hubo una vulnerabilidad crítica explotada activamente que permitía subir y ejecutar archivos PHP sin autenticación en versiones afectadas del plugin.
Después toca cambiar contraseñas. Y no solo la de WordPress. También la del hosting, FTP o SFTP, base de datos, cuentas de correo asociadas y cualquier acceso administrativo relacionado con la web.

Escanear la web para localizar el malware
Si todavía puedes entrar al panel de WordPress, una de las formas más prácticas de empezar es pasar un escaneo con Wordfence. No hace milagros, pero ayuda bastante a localizar archivos modificados, malware conocido, cambios sospechosos y rutas donde empezar a revisar. Además, Wordfence insiste en algo básico cuando una web ha sido comprometida: actualizar, hacer copia de seguridad y cambiar contraseñas antes y durante el proceso de limpieza.
También puedes contrastar con un escaneo externo tipo Sucuri SiteCheck. Ten en cuenta que estas herramientas no siempre detectan toda la infección, sobre todo si parte del malware está en base de datos o se activa solo en ciertas condiciones. Aun así, te sirven para confirmar si hay scripts externos maliciosos, redirecciones o recursos bloqueados.
Lo ideal para detectar y eliminar malware de WordPress es usar el escaneo como mapa inicial ya sea con el mencionado Wordfence o con Cerber Security, plugin que nosotros usamos mucho, pero no como solución definitiva, ya que el trabajo serio viene después.
Eliminar malware de WordPress desde la base de datos
En muchísimas infecciones el problema no está solo en los archivos. También aparecen scripts o enlaces maliciosos dentro de la base de datos, especialmente en opciones, widgets, contenido, constructores visuales o bloques insertados en páginas y entradas.
Aquí tienes dos formas de trabajar. La más cómoda es usar un plugin de búsqueda y reemplazo si tu panel sigue siendo utilizable. La otra es entrar en phpMyAdmin y buscar manualmente cadenas sospechosas, dominios externos raros, fragmentos con String.fromCharCode, base64_decode, eval, iframe, script src= o nombres que no deberían estar ahí.
No te recomiendo lanzar consultas masivas a ciegas si no sabes exactamente qué estás tocando. Es mejor buscar primero, revisar resultados y eliminar solo lo que esté claramente infectado. En webs hackeadas, un borrado rápido mal planteado puede romper partes enteras del sitio. Sucuri recuerda precisamente que el malware en base de datos puede quedar incrustado en múltiples ubicaciones y que conviene revisar con cuidado antes de limpiar.
Revisar y limpiar archivos del sitio
Después de la base de datos toca revisar archivos. Aquí es donde muchos fallan porque borran dos cosas, la web parece volver y dan el trabajo por terminado. Luego a los tres días vuelve la redirección.
Hay que comprobar especialmente el core de WordPress, los archivos del theme activo, functions.php, .htaccess, wp-config.php, los directorios de uploads, los plugins instalados y los .js que hayan sido alterados. Sucuri ha documentado campañas donde el código se inyecta en archivos JavaScript legítimos, en temas, en plugins y en recursos que a simple vista parecen normales.
Si detectas plugins modificados o tienes dudas, lo más limpio suele ser eliminar el plugin completo y reinstalarlo desde su fuente oficial. Lo mismo con el core de WordPress: si sospechas que hay archivos alterados, conviene reponerlos con una copia limpia. Con themes premium o desarrollos a medida hay que ir con más cuidado, porque no puedes machacar cambios propios sin antes revisarlos.
Cuidado con las puertas traseras, usuarios falsos y cron jobs
Uno de los motivos por los que una web vuelve a infectarse es que el atacante ha dejado persistencia. Puede ser un archivo PHP escondido, un plugin falso, una tarea programada o un usuario administrador que nadie reconoce. Eso es justo lo que hay que buscar cuando parece que “todo está limpio” pero el problema vuelve. Sucuri detectó en 2023 y 2024 tanto plugins falsos como cron jobs maliciosos en webs comprometidas.
Revisa todos los usuarios del panel, elimina los que no reconozcas y comprueba que no haya administradores extraños. Mira también tareas cron sospechosas, fragmentos que vuelven a escribir código malicioso y archivos PHP escondidos en rutas donde no deberían existir.
En muchos hackeos esta parte es más importante que el propio script visible. Un punto a no olvidar al eliminar malware de WordPress es que lo visible molesta, la persistencia es lo que mantiene viva la infección.
Qué hacer después de limpiar la web
Cuando termines de limpiar, y eliminar malware de WordPress, toca reforzar la instalación. Primero, actualiza absolutamente todo. Segundo, elimina plugins y themes que no uses. Tercero, activa medidas de seguridad reales: firewall, control de accesos, doble factor si es viable, copias automáticas y revisiones periódicas.
También conviene revisar Search Console, volver a enviar las URLs importantes, comprobar si Google ha detectado páginas comprometidas y monitorizar durante varios días que no reaparezcan redirecciones ni scripts extraños. Si la infección ha durado bastante, revisa también el impacto SEO: páginas nuevas creadas por spam, enlaces ocultos, URLs indexadas que no deberían existir o caídas bruscas de tráfico.
Y una cosa más: no dejes instalado un plugin vulnerable “porque ahora mismo no pasa nada”. En WordPress ese pensamiento sale caro. Muchas campañas automatizadas van precisamente buscando instalaciones desactualizadas para entrar en masa.
Cuándo merece la pena pedir ayuda
Hay webs que se pueden limpiar y eliminar malware de WordPress sin demasiado drama. En cuanto detectas el problema, revisas los archivos afectados, corriges el acceso comprometido, haces un escaneo completo y la instalación vuelve a quedar estable. Pero no siempre ocurre así. En otras ocasiones la infección tiene más recorrido, ha dejado rastro en la base de datos, ha alterado varios archivos o incluso mantiene alguna puerta trasera activa que hace que el problema reaparezca al cabo de unos días.
Esto es todavía más delicado cuando hablamos de una tienda online, una web con tráfico constante, campañas activas o formularios que manejan datos sensibles. En esos casos no basta con quitar la parte visible del problema para salir del paso. Una redirección sospechosa o un aviso extraño en el navegador puede ser solo la señal más evidente de una infección bastante más profunda.
Porque una cosa es eliminar un síntoma puntual, y otra muy distinta eliminar malware de WordPress de verdad. Para hacerlo bien hay que revisar la base de datos, comprobar archivos modificados, detectar accesos no autorizados, cerrar la vía de entrada, eliminar cualquier rastro de persistencia y asegurarse de que la web queda limpia y estable una vez terminado el proceso.
















