Cómo eliminar malware de WordPress en Plesk (Detección y limpieza)
¿Cómo saber si tu WordPress está infectado?
Detectar una infección de malware a tiempo es clave para minimizar daños. WordPress es el CMS más usado del mundo y, por eso, también uno de los objetivos favoritos de los atacantes. Si tu web va lenta, aparece publicidad extraña, te redirige a otras páginas o Google te marca como sitio peligroso, es muy probable que estés ante una infección de malware.
Estos son los síntomas más comunes que indican que necesitas limpiar WordPress en Plesk:
- Redirecciones sospechosas: Al hacer clic en un enlace, el usuario es llevado a páginas de apuestas, farmacias o contenido ilegal.
- Pop-ups y banners intrusivos: Aparecen ventanas emergentes incluso cuando no hay campañas publicitarias activas.
- Avisos de Google Safe Browsing: Al buscar tu dominio en Google, aparece un aviso de “sitio engañoso” o “contiene programas dañinos”.
- Caídas de rendimiento extremas: El servidor consume muchísimos recursos porque el malware está enviando spam o minando criptomonedas.
- Archivos desconocidos o modificados: Detectas archivos PHP extraños en carpetas donde antes no había nada, o archivos core de WordPress modificados (wp-config.php, .htaccess, index.php).
- Nuevos usuarios administradores: Aparecen usuarios con permisos de administrador que tú no creaste.
Si identificas alguno de estos signos, no entres en pánico. A continuación te explico paso a paso cómo eliminar malware WordPress de forma manual y segura usando Plesk.
Antes de empezar: prepara tu entorno de trabajo
La limpieza de malware es un proceso delicado. Un error puede dejar tu sitio inservible. Por eso, sigue estas recomendaciones previas:
- Trabaja con una copia local: Si es posible, descarga una copia de seguridad y haz la limpieza en un entorno de pruebas (localhost). Así no arriesgas el sitio en producción.
- Anota todo lo que hagas: Guarda un registro de los archivos que modificas o eliminas. Esto te ayudará a entender qué ha pasado y a restaurar si algo falla.
- Cambia todas las contraseñas: Antes de limpiar, cambia las contraseñas de acceso a Plesk, FTP, base de datos y de todos los usuarios de WordPress. Si el atacante entró por una contraseña débil, sigue dentro aunque limpies los archivos.
- Actualiza todo: Una vez limpio, asegúrate de tener la última versión de WordPress, plugins y temas. Las infecciones suelen aprovechar vulnerabilidades de versiones antiguas.
Paso 1: Haz una copia de seguridad completa
Antes de tocar nada, necesitas una red de seguridad. En Plesk, la copia de seguridad es muy sencilla:
- Accede a tu panel de Plesk.
- Ve a Administración de archivos o al apartado de Copias de seguridad.
- Crea una copia completa del dominio (archivos y base de datos).
- Descarga esa copia a tu ordenador o a un almacenamiento externo.
[WARNING] No confíes en las copias de seguridad automáticas del servidor si el malware está activo. El atacante podría haber modificado también las copias. Descarga siempre una copia manual y guárdala fuera del servidor.
Paso 2: Identifica los archivos infectados
La detección manual es tediosa pero efectiva. En Plesk, puedes acceder a los archivos de tu sitio a través del Administrador de archivos o por FTP.
2.1. Busca archivos PHP modificados recientemente
Los atacantes suelen inyectar código en archivos PHP existentes o crear nuevos archivos con nombres que imitan a los legítimos (por ejemplo, wp-config.php.bak, index.php, wp-load.php).
- Ordena los archivos por fecha de modificación.
- Revisa los archivos modificados en las últimas 24-48 horas (a menos que tú hayas hecho cambios).
- Presta especial atención a los archivos en la raíz de WordPress, en /wp-content/ y en /wp-admin/.
2.2. Busca archivos sospechosos
- Busca archivos con extensiones raras:
.phpen carpetas de imágenes, archivos.icoque en realidad son PHP, etc. - Abre los archivos
.htaccessy busca código extraño (más adelante te enseño cómo). - Revisa la carpeta
wp-content/uploads. Normalmente solo debe contener imágenes, PDFs y otros medios. Si encuentras archivos PHP ahí, es una señal clara de infección.
2.3. Escanea con herramientas de seguridad
Si la revisión manual te resulta abrumadora, usa plugins de seguridad como Wordfence o Sucuri Scanner. Aunque no siempre detectan todo, son una buena primera pasada.
- Instala el plugin desde el repositorio de WordPress.
- Ejecuta un escaneo completo.
- Anota los archivos que marca como infectados o sospechosos.
[TIP] No dejes el plugin de seguridad instalado después de la limpieza si no lo necesitas. Algunos plugins de seguridad consumen muchos recursos en servidores compartidos.
Paso 3: Limpia el código malicioso manualmente
Una vez identificados los archivos, es hora de limpiarlos. Aquí tienes las tareas más comunes.
3.1. Limpia el archivo .htaccess
El archivo .htaccess es un objetivo muy común. Los atacantes añaden reglas de redirección o código PHP disfrazado.
- Accede a la raíz de WordPress en el Administrador de archivos de Plesk.
- Haz clic derecho sobre
.htaccessy selecciona Editar. - Busca líneas con código PHP (por ejemplo,
<?php ... ?>), redirecciones a dominios extraños o bloques de código ilegible. - Elimina esas líneas. Si el archivo está muy dañado, puedes sustituirlo por el contenido por defecto de WordPress:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
3.2. Limpia los archivos PHP del núcleo de WordPress
Si los archivos del núcleo (wp-settings.php, wp-load.php, wp-config.php, etc.) han sido modificados, la mejor opción es reemplazarlos con una copia limpia de la misma versión de WordPress.
- Descarga la versión exacta de WordPress que tienes instalada desde wordpress.org.
- Descomprime el archivo en tu ordenador.
- Sube los archivos del núcleo (los que están en la raíz y en /wp-admin/ y /wp-includes/) a tu servidor, sobrescribiendo los infectados.
[WARNING] No sobrescribas el archivo
wp-config.phpni el contenido dewp-content(temas, plugins y subidas). Solo reemplaza los archivos del núcleo.
3.3. Limpia temas y plugins
Los archivos de temas y plugins también son objetivos frecuentes. Revisa especialmente:
- functions.php de tu tema activo.
- header.php y footer.php (suelen inyectar scripts maliciosos).
- Carpeta
wp-content/pluginsen busca de archivos PHP sospechosos.
Si encuentras código malicioso, elimínalo. Si el archivo está muy dañado, descarga una versión limpia del tema o plugin desde el repositorio oficial y reemplázalo.
Paso 4: Limpia la base de datos
El malware no solo vive en archivos. También puede inyectar código en la base de datos, especialmente en las tablas wp_options, wp_posts y wp_users.
4.1. Revisa usuarios administradores
- Accede a phpMyAdmin desde Plesk.
- Selecciona tu base de datos.
- Abre la tabla
wp_usersy revisa si hay usuarios que no reconoces. - Si hay usuarios extraños, elimínalos. También revisa la tabla
wp_usermetapara ver si tienen permisos de administrador.
4.2. Busca enlaces sospechosos
- En phpMyAdmin, ve a la pestaña SQL.
- Ejecuta una búsqueda de dominios sospechosos (por ejemplo,
http://spam-domain.com). - Sustituye esos enlaces por tu dominio legítimo o elimina las entradas que contengan código malicioso.
[TIP] Ten mucho cuidado al editar la base de datos. Haz siempre una copia de seguridad antes de modificar nada.
Paso 5: Elimina el malware de los archivos de caché y temporales
A veces el malware se esconde en la memoria caché de WordPress o de plugins de caché (como W3 Total Cache o WP Super Cache).
- En Plesk, accede a Administración de archivos.
- Ve a
wp-content/cachey elimina todo su contenido. - Si usas un plugin de caché, ve a su configuración y pulsa en Vaciar caché.
También revisa la carpeta wp-content/tmp si existe. Elimina cualquier archivo PHP que encuentres.
Paso 6: Refuerza la seguridad de WordPress
Una vez que has conseguido limpiar WordPress en Plesk, es hora de evitar que vuelva a ocurrir. Sigue estos consejos:
- Actualiza siempre todo: WordPress, temas y plugins deben estar siempre en su última versión.
- Elimina plugins y temas que no uses: Cuantos menos elementos, menos superficie de ataque.
- Cambia el prefijo de las tablas de la base de datos (por ejemplo, de
wp_ami_prefijo_). - Usa contraseñas robustas y cambia el nombre de usuario
admin. - Activa la autenticación en dos pasos (2FA) para todos los usuarios con permisos de administrador.
- Limita los intentos de inicio de sesión con un plugin como Limit Login Attempts.
- Configura un firewall de aplicación web (WAF) si tu plan de hosting lo permite.
Paso 7: Verifica que la limpieza ha sido exitosa
Después de la limpieza, es importante comprobar que todo está correcto:
- Escanea de nuevo con Wordfence o Sucuri para asegurarte de que no quedan restos.
- Comprueba el sitio en diferentes navegadores y dispositivos. Revisa que no hay redirecciones ni pop-ups.
- Envía tu sitio a Google para que lo revise de nuevo. Puedes hacerlo desde Google Search Console en el apartado de “Seguridad y acciones manuales”.
- Monitorea el rendimiento: Si la web iba lenta por el malware, ahora debería ir más fluida.
Preguntas frecuentes (FAQ)
¿Cuánto tiempo se tarda en limpiar un WordPress infectado?
Depende del grado de infección. Una limpieza básica (archivos y base de datos) puede llevar entre 1 y 3 horas. Si la infección es profunda, puede llevar un día entero.
¿Es suficiente con reinstalar WordPress?
No siempre. Si el malware está en la base de datos o en archivos de subida (uploads), reinstalar el núcleo no lo elimina. Además, si no corriges la vulnerabilidad que permitió la entrada, volverás a ser infectado.
¿Puedo usar Syspanel para limpiar mi WordPress?
Syspanel (antes conocido como HestiaCP) es otro panel de control de hosting. Si tu sitio está alojado en Syspanel, el proceso de limpieza es muy similar al de Plesk. Accede a Syspanel a través del puerto 2106 (por ejemplo, https://tudominio:2106) y usa el administrador de archivos y phpMyAdmin integrados para realizar los mismos pasos descritos aquí.
¿Necesito contratar a un profesional?
Si no te sientes cómodo editando archivos o bases de datos, o si el malware ha afectado a múltiples sitios en tu servidor, es recomendable contratar a un especialista en seguridad WordPress. Una limpieza profesional suele incluir auditoría completa, eliminación de backdoors y refuerzo de seguridad.
¿Cómo puedo prevenir futuras infecciones de malware?
La prevención es la mejor estrategia. Mantén todo actualizado, usa contraseñas fuertes, instala un plugin de seguridad, haz copias de seguridad periódicas y elimina cualquier código o plugin que no uses.
Conclusión
Eliminar malware de WordPress en Plesk puede parecer abrumador al principio, pero siguiendo estos pasos metódicos puedes recuperar tu sitio sin demasiados quebraderos de cabeza. Recuerda: la clave está en actuar rápido, hacer copias de seguridad constantes y no dejar ninguna puerta abierta al atacante.
Si después de la limpieza tu sitio sigue dando problemas, no dudes en contactar con tu proveedor de hosting. A veces, el malware se propaga a otros sitios del mismo servidor y es necesario un análisis más profundo a nivel de servidor.
La seguridad WordPress es un proceso continuo. Dedica unos minutos al mes a revisar tu sitio, actualizar plugins y comprobar que no hay archivos extraños. Es la mejor inversión que puedes hacer para evitar sustos mayores.
[INFO] Si tu sitio ha sido marcado como peligroso por Google, después de limpiar el malware puedes solicitar una revisión en Google Search Console. El proceso suele tardar entre unos días y un par de semanas.
