Cómo eliminar malware de WordPress en cPanel (guía de limpieza)
¿Tu página web va lenta, muestra anuncios extraños o redirige a sitios raros? Respira hondo. Si estás leyendo esto, es muy probable que te hayas encontrado con un problema que, tarde o temprano, le pasa a casi todos los que gestionamos WordPress: el temido malware.
Pero no cunda el pánico. Eliminar malware de WordPress no es una misión imposible, y con esta guía paso a paso, podrás limpiar WordPress hackeado directamente desde tu panel de control cPanel, sin necesidad de ser un experto en programación.
Vamos a ponernos el traje de limpieza y a sacar ese virus de tu web. Lo haremos de forma metódica, segura y, sobre todo, didáctica.
Fase 1: Preparación y Diagnóstico (Antes de Tocar Nada)
Antes de lanzarnos a borrar archivos como locos, necesitamos un plan. Actuar sin pensar puede romper más cosas de las que arregla.
1.1. Haz una Copia de Seguridad Completa (¡Imprescindible!)
Esta es la regla de oro. No limpies nada sin tener un respaldo. Si algo sale mal durante la limpieza, tu copia de seguridad es tu red de seguridad.
En cPanel, busca la sección "Archivos" y haz clic en "Copias de seguridad" o "Backup".
- Copia de seguridad completa: Si tu hosting te lo permite, genera una copia completa del sitio (archivos y base de datos).
- Copia parcial: Si no, al menos descarga la carpeta
public_html(o el directorio raíz de tu web) mediante el Administrador de Archivos o un cliente FTP como FileZilla. También exporta tu base de datos desde phpMyAdmin.
Guarda esta copia en tu ordenador o en un servicio de almacenamiento en la nube. Nunca la guardes en el propio servidor, porque si el malware está en el servidor, podría infectar tu copia de seguridad.
[WARNING] No subas nunca una copia de seguridad infectada a tu servidor después de limpiarlo. Guárdala en tu PC local y, si necesitas restaurar, hazlo con una copia limpia de antes de la infección.
1.2. Identifica el Problema y el Alcance del Ataque
No todo es un virus. A veces, el problema es una vulnerabilidad en un plugin. Para saber a qué nos enfrentamos, hazte estas preguntas:
- ¿Cuándo empezó el problema?
- ¿Qué cambios notaste? (redirecciones, banners, errores de base de datos, etc.)
- ¿Tienes muchos plugins y temas instalados?
Revisa el Administrador de Archivos de cPanel y navega hasta public_html. Busca archivos con nombres extraños, especialmente en la raíz. Presta atención a archivos como:
r57.php,c99.php,shell.php(o cualquier archivo.phpcon nombres aleatorios).- Archivos
.icoo.txtque no reconoces. - Archivos
.htaccessmodificados (puedes abrirlo con el editor de cPanel y ver si contiene líneas de código raras que no entiendes).
Fase 2: La Limpieza Manual en cPanel (Paso a Paso)
Ahora sí, vamos a la acción. Trabajaremos directamente sobre los archivos de tu WordPress.
2.1. Accede al Administrador de Archivos y Entra en Modo Mantenimiento
Lo primero es poner tu web en "modo mantenimiento" para que los visitantes no vean errores mientras trabajas. Puedes hacerlo de dos formas:
- Instalando un plugin de mantenimiento (si tu WordPress aún responde).
- Creando un archivo
.maintenanceen la raíz de tu instalación de WordPress (junto alwp-config.php). El contenido del archivo debe ser:<?php $upgrading = time(); ?>
Esto hará que tu web muestre un mensaje de "mantenimiento" temporal.
2.2. Busca y Elimina Archivos Maliciosos (La Parte Más Importante)
Dentro del Administrador de Archivos, navega a public_html. Vamos a buscar los archivos infectados.
- Revisa la raíz (
public_html): Busca archivos.phpque no estén en las carpetas de WordPress (wp-admin,wp-content,wp-includes). Los archivos comowp-load.phpno deben estar aquí. Los archivos legítimos en la raíz suelen serindex.php,wp-config.php,.htaccess,license.txt, etc. - Revisa
wp-content/uploads: Los atacantes suelen esconder scripts PHP en esta carpeta, ya que es una zona de subida de archivos. Busca cualquier.phpdentro de esta carpeta. No debería haber ninguno. Si encuentras uno, es casi seguro que es malware. - Revisa
wp-content/themesywp-content/plugins: Compara los archivos de tus temas y plugins con las versiones originales. Si ves archivos extraños o código inyectado enfunctions.php, está hackeado.
¿Cómo eliminar un archivo malicioso? Simplemente, haz clic derecho sobre el archivo y selecciona "Eliminar". Si tienes dudas sobre un archivo, puedes "Editar" para ver su contenido. Si ves código ofuscado (una línea larga de código sin sentido), es malware.
[TIP] No borres archivos que no entiendas sin antes buscar en Google el nombre del archivo. A veces, un archivo con un nombre raro puede ser parte de un plugin legítimo (aunque es poco común).
2.3. Limpia el Archivo .htaccess
El archivo .htaccess es un archivo de configuración muy poderoso en Apache. Los hackers lo usan para redirigir tu tráfico a sitios maliciosos.
- En el Administrador de Archivos, activa la opción "Mostrar archivos ocultos" (suele estar en la esquina superior derecha).
- Busca el archivo
.htaccessenpublic_html. - Haz clic derecho y selecciona "Editar".
- Revisa su contenido. Un
.htaccesslimpio de WordPress suele tener reglas de reescritura de URL y de seguridad básica. Si ves líneas con dominios extraños, redirecciones a otras webs o código base64, está comprometido. - Solución rápida: Si no estás seguro, puedes eliminar el archivo y generar uno nuevo. WordPress lo regenerará automáticamente con los permisos correctos. Para ello, ve a
Ajustes > Enlaces permanentesen tu wp-admin y haz clic en "Guardar cambios".
[INFO] Para seguridad WordPress cPanel, te recomiendo que, tras la limpieza, añadas reglas básicas de bloqueo al
.htaccess, como bloquear la ejecución de PHP en la carpeta deuploads.
2.4. Revisa y Limpia la Base de Datos
El malware también puede esconderse en tu base de datos. Es menos común, pero ocurre.
- Ve a phpMyAdmin en cPanel.
- Selecciona la base de datos de tu WordPress.
- Haz clic en la pestaña "Buscar" (o "Search").
- Busca términos como
eval(base64_decode,gzinflate,document.write, o el nombre de un dominio extraño que hayas visto en las redirecciones. - Si encuentras resultados, están en las tablas
wp_postsowp_options. Deberás editarlos y eliminar el código malicioso.
Cuidado: No borres filas enteras de la base de datos sin saber qué estás haciendo. Es mejor editar el campo y eliminar solo el código malicioso.
2.5. Cambia Todas tus Contraseñas (Sí, Todas)
Después de una limpieza, es fundamental cambiar las cerraduras.
- Contraseña de cPanel: Cámbiala desde la sección "Preferencias" > "Cambiar contraseña".
- Contraseña de la Base de Datos: Cámbiala en "Bases de datos MySQL".
- Contraseñas de WordPress (admin): Cámbialas desde el perfil de usuario.
- Contraseñas de FTP y correo electrónico: También deben cambiarse.
[TIP] Usa un gestor de contraseñas para crear contraseñas fuertes y únicas para cada servicio.
Fase 3: Refuerza la Seguridad y Prevén Futuros Ataques
Limpiar es solo la mitad del trabajo. La otra mitad es asegurarse de que no vuelva a pasar.
3.1. Actualiza Todo lo que Esté Desactualizado
La causa número uno de infecciones en WordPress es el software desactualizado.
- Núcleo de WordPress: Ve a
Escritorio > Actualizaciones. - Plugins y Temas: Actualiza todos los que tengan una versión nueva. Si un plugin o tema no se actualiza hace mucho tiempo, es mejor eliminarlo y buscar una alternativa.
- PHP: Asegúrate de que tu versión de PHP sea compatible y esté soportada. Puedes cambiarla desde la sección "Seleccionar versión de PHP" en cPanel.
3.2. Instala un Plugin de Seguridad (Firewall y Escáner)
Para una protección continua, instala un plugin de seguridad de confianza. Estos son algunos de los más populares:
- Wordfence: Es uno de los más completos. Incluye firewall, escáner de malware, bloqueo de IPs y más.
- Sucuri Security: Ofrece un escáner de malware en la nube y un firewall de aplicaciones web (WAF).
- iThemes Security: Se centra en reforzar la seguridad de tu WordPress con autenticación de dos factores, protección de archivos y más.
Estos plugins te avisarán de cualquier actividad sospechosa y escanearán tu web en busca de virus.
[INFO] Si tu hosting usa Syspanel (antes conocido como HestiaCP), el acceso a la gestión de archivos y bases de datos es muy similar al de cPanel. La principal diferencia es que la URL de acceso a tu panel de control suele ser
https://tu-dominio.com:2106. El resto de pasos (Administrador de Archivos, phpMyAdmin, etc.) son prácticamente idénticos.
3.3. Buenas Prácticas de Mantenimiento Continuo
- Haz copias de seguridad periódicas: Configura copias automáticas en tu hosting o usa un plugin de backup.
- Elimina lo que no uses: Desinstala plugins y temas que no necesites.
- Limita los intentos de inicio de sesión: Usa un plugin que limite los intentos de acceso fallidos para evitar ataques de fuerza bruta.
- Usa autenticación de dos factores (2FA): Añade una capa extra de seguridad a tu panel de administración.
Preguntas Frecuentes (FAQ)
¿Qué hago si no encuentro el malware manualmente?
Si has seguido todos los pasos y no encuentras nada, o si la infección es muy compleja, tienes dos opciones:
- Restaurar desde una copia de seguridad limpia: Si tienes una copia de seguridad de antes de la infección, puedes restaurarla. Esto es lo más rápido y seguro.
- Contratar un servicio de limpieza profesional: Empresas como Sucuri o Wordfence ofrecen servicios de limpieza de malware por un precio razonable. Ellos se encargan de todo.
¿Cómo sé si mi WordPress tiene un virus?
Los síntomas más comunes son:
- Redirecciones a sitios web extraños.
- Anuncios emergentes (pop-ups) que no has creado.
- La web se vuelve muy lenta.
- Google te marca el sitio como "engañoso" o "peligroso".
- Aparecen usuarios administradores nuevos en tu panel.
- Se modifican archivos del núcleo de WordPress.
¿Cuánto tiempo se tarda en limpiar un WordPress hackeado?
Depende del alcance del ataque. Una limpieza de archivos básica puede llevar de 1 a 2 horas. Si tienes que limpiar la base de datos o restaurar archivos, puede llevarte una tarde entera.
¿Es necesario cambiar las contraseñas después de limpiar?
Sí, absolutamente. El atacante podría tener las contraseñas antiguas y volver a entrar en tu sitio. Cambiarlas todas es un paso crucial del proceso.
¿Puedo usar un plugin para eliminar el malware en lugar de hacerlo manualmente?
Sí, los plugins de seguridad como Wordfence tienen escáneres que pueden eliminar malware automáticamente. Sin embargo, la limpieza manual te da más control y te permite entender qué ha pasado. Te recomiendo usar el plugin como herramienta de apoyo, pero no como única solución.
En resumen: Eliminar malware de WordPress en cPanel es un proceso que requiere paciencia y método. Empieza con una copia de seguridad, identifica los archivos maliciosos, límpialos, refuerza la seguridad y, sobre todo, mantén todo actualizado. Con esta guía, tendrás las herramientas necesarias para limpiar WordPress hackeado y proteger tu sitio en el futuro. ¡Manos a la obra!
