Cómo detectar y eliminar malware en un sitio WordPress desde Plesk
¿Tu web WordPress va lenta? ¿Ves contenido extraño que no has publicado? ¿O peor, Google te ha marcado como sitio peligroso?
Respira. No estás solo. El malware en WordPress es uno de los problemas más comunes en el hosting, pero también uno de los más solucionables si sabes exactamente dónde mirar.
En esta guía completa te voy a enseñar, paso a paso y sin tecnicismos innecesarios, cómo detectar malware en Plesk, cómo eliminar malware WordPress Plesk de forma manual y segura, y cómo blindar tu sitio para que no vuelva a pasar.
Vamos a ello.
¿Por qué se infecta WordPress y cómo saber si ya está infectado?
Antes de lanzarnos a limpiar, es fundamental entender qué está pasando. WordPress es el CMS más usado del mundo, y precisamente por eso es el objetivo favorito de los atacantes.
Las causas más habituales de una infección son:
- Plugins o temas desactualizados (la puerta de entrada número uno).
- Contraseñas débiles en wp-admin, FTP o la base de datos.
- Nulled themes (temas pirateados con código malicioso oculto).
- Ataques de fuerza bruta que automatizan intentos de acceso.
Señales claras de que tu web tiene malware
No siempre aparece un cartel rojo diciendo "Estás infectado". A veces, el malware es silencioso. Presta atención a estas pistas:
- Avisos de Google Safe Browsing al intentar entrar a tu web.
- Redirecciones extrañas a páginas de spam, casinos o farmacias online.
- Aparición de anuncios pop-up que tú no has configurado.
- El código fuente (ver con clic derecho > Ver código fuente) contiene scripts que no reconoces, como
eval(base64_decode(...)). - Usuarios administradores nuevos que no has creado.
- Caídas repentinas de rendimiento o consumo excesivo de CPU en tu plan de hosting.
Si has detectado al menos dos de estos síntomas, sigue leyendo. Vamos a entrar en acción.
Preparación previa antes de limpiar
La regla de oro en ciberseguridad: nunca limpies sin una copia de seguridad. Es como operar a corazón abierto sin tener el quirófano preparado. Si algo sale mal, necesitas poder volver atrás.
1. Haz una copia de seguridad completa (sí, antes de tocar nada)
Desde Plesk, haz una copia de seguridad completa (archivos + base de datos). Esto te dará un punto de restauración por si acaso.
Pasos en Plesk:
- Ve a tu dominio en Plesk.
- Busca la sección "Copias de seguridad" (o "Administrador de copias de seguridad").
- Haz clic en "Crear una copia de seguridad".
- Elige "Todo el sitio web" y ejecuta la copia.
[WARNING]
No subas esa copia de seguridad a tu hosting. Descárgala a tu ordenador o a un almacenamiento externo. Si el malware está en el servidor, podría re-infectar la copia.
2. Cambia todas tus contraseñas (sí, todas)
Antes de empezar a buscar el malware, cambia:
- La contraseña de FTP/SFTP.
- La contraseña de la base de datos MySQL.
- La contraseña de wp-admin (todos los usuarios administradores).
- La contraseña del panel de Plesk.
Usa contraseñas largas y únicas. Si no quieres memorizarlas, usa un gestor de contraseñas.
Fase 1: Cómo detectar malware en Plesk (diagnóstico manual)
No necesitas ser un hacker para detectar archivos sospechosos. Con Plesk y un poco de método, puedes encontrar el origen del problema.
1. Activa el modo de mantenimiento (opcional pero recomendado)
Para evitar que los visitantes vean errores mientras limpias, activa una página de mantenimiento. Puedes hacerlo desde un plugin como WP Maintenance Mode o editando tu archivo .htaccess.
2. Revisa la lista de archivos sospechosos en el Administrador de archivos
Plesk tiene un Administrador de archivos que es tu mejor aliado.
Cómo usarlo:
- Entra en tu dominio en Plesk.
- Ve a "Administrador de archivos".
- Navega hasta
httpdocs(opublic_htmlsegún tu configuración). - Ordena los archivos por fecha de modificación.
¿Qué buscamos?
- Archivos modificados en una fecha muy reciente y que no recuerdas haber tocado.
- Archivos con extensiones raras:
.php,.phtml,.php7,.suspected,.ico(que en realidad son PHP). - Archivos que no pertenecen a WordPress en la raíz, como
r57.php,c99.php,shell.php,adminer.php.
[TIP]
Un truco rápido: en el buscador del administrador de archivos, filtra por*.phpy ordena por fecha. Si ves un PHP modificado a las 3 de la mañana y no tienes un cron, sospecha.
3. Busca código malicioso en los archivos principales
Los archivos más atacados suelen ser:
index.phpwp-config.phpfunctions.php(del tema activo).htaccess
Abre index.php de la raíz y busca patrones como:
eval(base64_decode(gzinflate(str_rot13(shell_exec(passthru(system(
Si encuentras alguna de estas funciones en un archivo que no es tuyo, estás ante malware.
4. Revisa la base de datos (sí, el malware también vive ahí)
El malware no solo está en archivos. A veces se esconde en la base de datos, sobre todo en la tabla wp_options o en los posts.
Cómo revisarla desde Plesk:
- Ve a tu dominio en Plesk.
- Entra en "Bases de datos MySQL".
- Haz clic en "phpMyAdmin".
- Accede a tu base de datos.
- Revisa la tabla
wp_optionsy busca opciones extrañas comositeurlmodificado o enlaces a dominios desconocidos. - Revisa la tabla
wp_postspor si hay contenido de spam inyectado.
[INFO]
Si no te sientes cómodo con phpMyAdmin, puedes instalar un plugin de seguridad como Wordfence o iThemes Security que escanea la base de datos automáticamente. Pero para esta guía, haremos el diagnóstico manual.
Fase 2: Cómo eliminar malware WordPress Plesk (limpieza paso a paso)
Una vez identificado el problema, toca limpiar. Aquí tienes el proceso en orden de menor a mayor complejidad.
Paso 1: Elimina archivos maliciosos encontrados
Vuelve al Administrador de archivos de Plesk.
- Selecciona el archivo malicioso (por ejemplo,
shell.php). - Haz clic en "Eliminar".
- Confirma la acción.
Importante: Si el archivo está en un plugin o tema, no lo elimines manualmente si no sabes qué estás haciendo. Mejor desactiva el plugin y luego lo borras desde wp-admin.
Paso 2: Limpia los archivos núcleo de WordPress
Si los archivos del núcleo (wp-admin, wp-includes) están infectados, la solución más limpia es reinstalar WordPress.
Desde Plesk:
- Ve a "Aplicaciones" o "Instalador de aplicaciones".
- Busca tu instalación de WordPress.
- Elige la opción "Reparar" o "Reinstalar".
Esto reemplazará los archivos del núcleo con versiones limpias sin tocar tu contenido (posts, páginas, medios).
[WARNING]
Reinstalar WordPress no elimina el malware de tus plugins o temas. Es una capa de limpieza, no la solución definitiva.
Paso 3: Limpia el tema y los plugins
El 90% de las veces, el malware está en un plugin o tema.
Cómo limpiarlos:
- Entra en wp-admin (si puedes).
- Ve a Apariencia > Temas.
- Desactiva y elimina cualquier tema que no uses.
- Ve a Plugins.
- Desactiva todos los plugins.
- Revisa la lista de plugins instalados. Si ves alguno que no reconoces, bórralo.
Limpieza manual del tema activo:
Si el tema activo está infectado, ve al Administrador de archivos de Plesk y navega a:
httpdocs/wp-content/themes/tu-tema/
Abre functions.php y busca el código malicioso al principio o al final del archivo. Si encuentras una línea con eval o base64_decode, bórrala.
[TIP]
Si no estás seguro de qué parte es mala, descarga el tema original desde el repositorio de WordPress y compáralo. O simplemente reinstala el tema desde cero.
Paso 4: Limpia el .htaccess
El archivo .htaccess es un archivo de configuración que a menudo se usa para redireccionar a sitios maliciosos.
Cómo limpiarlo:
- Ve a
httpdocs/.htaccess. - Descárgalo a tu ordenador.
- Ábrelo con un editor de texto (Bloc de notas, Sublime, etc.).
- Busca líneas que contengan
RewriteRuleapuntando a dominios extraños o código PHP. - Elimina esas líneas.
La solución rápida: Si no sabes qué borrar, elimina el archivo .htaccess y ve a Ajustes > Enlaces permanentes en wp-admin y haz clic en "Guardar cambios". WordPress generará uno nuevo limpio.
Paso 5: Limpia la base de datos
Si has encontrado enlaces maliciosos en la base de datos, usa phpMyAdmin para eliminarlos.
Queries útiles (ejecutar con cuidado):
-- Buscar contenido malicioso en posts
SELECT * FROM wp_posts WHERE post_content LIKE '%eval(base64%' OR post_content LIKE '%<script%';
-- Limpiar opciones maliciosas
SELECT * FROM wp_options WHERE option_name LIKE '%malware%' OR option_value LIKE '%http://sitio-malicioso.com%';
Si encuentras resultados, elimina los registros que no necesites.
[WARNING]
Si no te sientes cómodo con SQL, no ejecutes nada. Mejor contrata a un profesional o usa un plugin de seguridad que limpie la base de datos automáticamente.
Fase 3: Refuerza la seguridad para evitar futuras infecciones
Limpiar sin proteger es volver a caer en la trampa. Aquí tienes una checklist de seguridad para WordPress en Plesk.
1. Actualiza absolutamente todo
- WordPress al núcleo más reciente.
- Todos los plugins y temas.
- PHP a una versión soportada (7.4, 8.0, 8.1, etc.) desde Plesk.
2. Cambia los prefijos de las tablas de la base de datos
Si tu base de datos usa el prefijo wp_ por defecto, es más fácil de atacar. Puedes cambiarlo con un plugin como iThemes Security o manualmente con phpMyAdmin (renombrando tablas y editando wp-config.php).
3. Instala un firewall y un escáner de malware
Plesk tiene extensiones de seguridad, pero también puedes instalar plugins gratuitos:
- Wordfence (el más completo).
- iThemes Security.
- Sucuri Security.
Estos plugins escanean tus archivos en busca de cambios sospechosos y bloquean ataques de fuerza bruta.
4. Configura la autenticación de dos factores (2FA)
Desde wp-admin, instala un plugin de 2FA para que, aunque alguien robe tu contraseña, no pueda entrar sin el código de tu móvil.
5. Limita los intentos de acceso
Wordfence o iThemes Security te permiten limitar el número de intentos de inicio de sesión. Después de 3-5 intentos fallidos, bloquea la IP.
Preguntas frecuentes (FAQ)
¿Cuánto tarda en limpiar un WordPress infectado?
Depende de la gravedad. Una limpieza manual como la que hemos descrito puede llevar entre 1 y 3 horas si sabes lo que haces. Si es una infección muy profunda (en el servidor), puede llevar días.
¿Mi hosting puede bloquear mi cuenta por malware?
Sí. Si tu sitio está infectado y consume muchos recursos o envía spam, el proveedor de hosting (Plesk) puede suspender tu cuenta temporalmente. Por eso es crucial actuar rápido y limpiar cuanto antes.
¿Necesito pagar por un servicio de limpieza?
No necesariamente. Si sigues esta guía, puedes limpiar la mayoría de infecciones comunes. Sin embargo, si el malware es avanzado o no te sientes seguro, existen servicios especializados (Sucuri, Wordfence) o técnicos freelance que lo hacen por ti.
¿Qué hago si Google sigue marcando mi web como peligrosa después de limpiar?
Después de limpiar, tienes que solicitar una revisión a Google Search Console. Ve a "Problemas de seguridad" y solicita la revisión. Google puede tardar unos días en revisar y quitar el aviso.
¿El malware puede volver después de limpiar?
Sí, si no corriges la vulnerabilidad que lo causó. Por eso la fase de refuerzo de seguridad (actualizaciones, firewall, contraseñas fuertes) es tan importante como la limpieza.
¿Plesk tiene una herramienta automática para limpiar malware?
Plesk no tiene un limpiador automático de malware integrado, pero puedes instalar extensiones de seguridad desde el catálogo de Plesk. Además, algunos proveedores de hosting ofrecen escaneo de malware como servicio adicional.
Conclusión final
Detectar y eliminar malware WordPress Plesk no es una ciencia imposible. Con método, paciencia y las herramientas que te he mostrado, puedes recuperar tu sitio y, lo más importante, blindarlo para que no vuelva a caer en las garras de los atacantes.
Recuerda la secuencia de oro:
- Copia de seguridad antes de tocar nada.
- Detecta los archivos y código malicioso.
- Elimina los archivos infectados.
- Limpia la base de datos.
- Refuerza la seguridad con actualizaciones y plugins.
Y si en algún momento te sientes abrumado, no pasa nada por pedir ayuda. Mejor invertir en un profesional que perder tu web, tu reputación y tus clientes.
¿Has tenido alguna experiencia con malware en WordPress? Cuéntamelo en los comentarios y te ayudo a resolverlo.
¡Buena suerte con la limpieza!
