Cómo comprobar y eliminar malware en WordPress desde cPanel (Scan)
¿Tu sitio WordPress va lento, muestra anuncios extraños o redirige a páginas raras? Es muy probable que haya sido infectado con malware. No entres en pánico. Es una situación más común de lo que crees, y con las herramientas adecuadas y un poco de paciencia, puedes limpiarlo tú mismo desde el panel de control de tu hosting (cPanel).
En esta guía extensa y paso a paso, te voy a enseñar exactamente cómo comprobar y eliminar malware en WordPress desde cPanel. Vamos a utilizar el escáner integrado, así como métodos manuales para asegurarnos de que tu sitio queda limpio y seguro.
Primeros Pasos: Antes de Empezar a Limpiar
Antes de lanzarnos a eliminar archivos, es crucial preparar el terreno. Actuar con prisa y sin un plan puede empeorar las cosas, como romper tu sitio o perder datos importantes.
Haz una Copia de Seguridad Completa (Sí o Sí)
Esta es la regla de oro. Nunca intentes limpiar un sitio hackeado sin una copia de seguridad reciente. Si algo sale mal durante el proceso, podrás restaurar tu sitio a un estado anterior (aunque esté infectado, es mejor que no tener nada).
Para hacer una copia de seguridad desde cPanel:
- Busca la sección "Archivos" y haz clic en "Administrador de copias de seguridad" o "Backup".
- Puedes generar una copia de seguridad completa del sitio o, al menos, una copia del directorio
public_html(donde está WordPress) y de la base de datos. - Descarga estos archivos a tu computadora. No los dejes solo en el servidor, porque si el hackeo es a nivel de servidor, podrían borrarlos.
[WARNING] Una copia de seguridad es tu red de seguridad. Sin ella, cualquier error durante la limpieza podría resultar en la pérdida total de tu contenido.
Identifica el Alcance del Problema
¿Qué es exactamente lo que ves? Anota los síntomas:
- ¿Tu sitio redirige a páginas de spam o farmacéuticas?
- ¿Ves anuncios emergentes que tú no pusiste?
- ¿Hay archivos nuevos en tu carpeta
public_htmlque no reconoces? - ¿Google te marca el sitio como "Engañoso" o "Peligroso"?
Conocer los síntomas te ayudará a saber qué buscar más adelante.
Método 1: Escaneo Automático con el Escáner de cPanel
La mayoría de los paneles de control de hosting modernos (como cPanel) incluyen una herramienta de seguridad o un escáner de malware integrado. Es el primer lugar donde debemos mirar.
Localizando el Escáner de Malware
- Inicia sesión en tu cPanel. La URL suele ser
tudominio.com/cPanelotudominio.com:2083. - Busca una sección llamada "Seguridad" o "Archivos".
- Dependiendo de tu proveedor, la herramienta puede llamarse "Escáner de malware", "Protección de seguridad", "Site Scanner" o similar. En algunos hosts es un complemento llamado "Imunify360" o "CxScan".
Ejecutando el Análisis
Una vez que encuentres la herramienta:
- Haz clic en el botón "Escanear ahora" o "Iniciar análisis".
- El escáner revisará todos los archivos de tu sitio en busca de firmas de malware, código sospechoso y archivos modificados.
- Este proceso puede tardar desde unos minutos hasta más de una hora, dependiendo del tamaño de tu sitio.
Interpretando los Resultados del Escaneo
Cuando el escaneo termine, verás una lista de archivos marcados como infectados o sospechosos.
- Archivos Infectados: Son aquellos que contienen código malicioso conocido. La herramienta te dará la opción de "Poner en cuarentena" o "Eliminar".
- Archivos Sospechosos: Son archivos que no coinciden con el núcleo de WordPress o tus plugins/temas originales. Pueden ser legítimos o no.
[INFO] La opción de "Poner en cuarentena" es más segura que "Eliminar", ya que mueve el archivo a una zona segura sin borrarlo. Si el sitio falla después, puedes restaurar el archivo desde la cuarentena.
Acción recomendada: Para archivos claramente marcados como malware (como shell.php o archivos con código base64 codificado), puedes eliminarlos directamente. Para los sospechosos, ponlos en cuarentena primero.
Método 2: Limpieza Manual desde el Administrador de Archivos
El escáner automático es genial, pero no siempre detecta todo. El malware puede estar oculto en archivos legítimos o tener nombres que engañan al escáner. Por eso, necesitamos inspeccionar manualmente.
Accediendo al Administrador de Archivos
- En cPanel, ve a la sección "Archivos" y haz clic en "Administrador de archivos".
- Se abrirá una nueva ventana. Asegúrate de que estás en la carpeta raíz de tu sitio, generalmente
public_htmlowww.
Buscando Archivos Sospechosos
Ahora es momento de ponerse el detective. Busca estos signos de infección:
- Archivos PHP con nombres extraños: Busca archivos como
wp-login.php.bak,0x.php,shell.php,upload.php,c99.php,r57.phpo cualquier combinación aleatoria de letras y números (ej.a1b2c3.php). - Archivos con doble extensión: Por ejemplo,
imagen.jpg.phpoarchivo.txt.php. Esto es un truco clásico para ocultar código. - Archivos PHP en carpetas de imágenes o subidas: La carpeta
wp-content/uploadssolo debería tener imágenes, PDFs y otros medios. Si ves un.phpahí, es malicioso. - Código ofuscado en archivos .htaccess: El archivo
.htaccesses un archivo de configuración. Si está lleno de líneas de código ilegible o redirecciones a sitios extraños, está comprometido.
Revisando el Contenido de los Archivos
No te fíes solo de los nombres. Un archivo llamado index.php puede estar infectado.
- Haz clic derecho sobre un archivo
.phpy selecciona "Editar". - Busca bloques de código que estén codificados en base64 (cadenas largas de letras y números que terminan en
==). - Busca funciones de PHP peligrosas como
eval(),base64_decode(),shell_exec(),exec(),system(),passthru(). Estas funciones se usan para ejecutar comandos en el servidor. Si no están en un plugin legítimo que las requiera, son una señal de alerta. - Busca URLs extrañas o dominios que no reconozcas, especialmente en el código.
[WARNING] Si encuentras una línea como
eval(base64_decode("....")), es 100% malware. No intentes "arreglarla", elimina esa línea o el archivo completo si no es crítico.
Cómo Eliminar el Malware Manualmente
Una vez que identifiques un archivo malicioso:
- Haz clic derecho sobre el archivo y selecciona "Eliminar".
- Confirma la eliminación.
- Si el malware está dentro de un archivo legítimo (como
index.php), edítalo, elimina las líneas maliciosas y guarda los cambios.
Método 3: Revisión y Limpieza de la Base de Datos
El malware no solo se esconde en archivos; también puede inyectarse en tu base de datos. Esto es típico en ataques que añaden enlaces ocultos o código malicioso en tus entradas y páginas.
Accediendo a phpMyAdmin
- En cPanel, ve a la sección "Bases de datos" y haz clic en "phpMyAdmin".
- Selecciona la base de datos de tu sitio WordPress en el panel izquierdo.
Buscando Inyecciones SQL
El malware en la base de datos suele manifestarse como:
- Enlaces ocultos: Busca contenido que contenga
<a href="http://sitio-malicioso.com">odisplay:none(que esconde enlaces). - Código JavaScript malicioso: Busca
<script>que no reconozcas. - Contenido extra en tus tablas: Revisa las tablas
wp_postsywp_optionspara ver si hay entradas duplicadas o modificadas.
La Consulta SQL para Encontrar el Malware
En la pestaña "SQL" (en la parte superior), puedes ejecutar consultas para buscar contenido sospechoso.
Por ejemplo, para buscar enlaces maliciosos en tus entradas:
SELECT * FROM wp_posts WHERE post_content LIKE '%hxxp://%' AND post_status='publish';
Reemplaza hxxp:// con la URL sospechosa que hayas encontrado. Si los resultados muestran entradas legítimas, ignóralas. Si ves enlaces a sitios de spam o casinos, es malware.
Limpiando la Base de Datos
Si no estás seguro de lo que estás haciendo, es mejor no tocar la base de datos manualmente. Un error aquí puede romper tu sitio por completo.
Si encuentras una entrada maliciosa clara, puedes usar "Editar" en la fila correspondiente y eliminar el código malicioso del campo post_content.
[WARNING] Antes de ejecutar cualquier consulta SQL que modifique la base de datos, haz una copia de seguridad de la base de datos desde cPanel. Una consulta mal escrita puede eliminar toda tu información.
Pasos Finales: Fortalecer la Seguridad y Prevenir Futuros Ataques
Limpiar el malware es solo la mitad del trabajo. La otra mitad es asegurarte de que no vuelva a pasar. Eliminar el malware sin cerrar la puerta por donde entró es como curar los síntomas pero no la enfermedad.
Cambia Todas tus Contraseñas
Este paso es crítico. Cambia:
- La contraseña de tu cPanel.
- La contraseña de tu base de datos MySQL.
- La contraseña de tu usuario administrador de WordPress.
- Las contraseñas de todos los usuarios con nivel de administrador en tu sitio.
Usa contraseñas largas y únicas para cada cuenta.
Actualiza Todo: Núcleo, Plugins y Temas
El malware aprovecha vulnerabilidades en software desactualizado.
- Ve a tu panel de administración de WordPress (
tudominio.com/wp-admin). - Ve a "Escritorio" -> "Actualizaciones".
- Actualiza el núcleo de WordPress, todos los plugins y temas a sus últimas versiones.
- Si algún plugin o tema no se actualiza, considera eliminarlo y buscar una alternativa. Un plugin sin actualizar es un agujero de seguridad enorme.
Elimina Plugins y Temas Inactivos
Todo lo que está inactivo en tu WordPress es un posible punto de entrada. Si no lo usas, elimínalo.
Revisa los Usuarios Administradores
Ve a "Usuarios" en tu panel de WordPress. Asegúrate de que solo existan los usuarios que tú conoces y que tengan el rol correcto. Si ves un usuario llamado "admin" que no creaste o un usuario con el rol "Administrador" que no reconoces, elimínalo.
Instala un Plugin de Seguridad
Para monitoreo y protección en tiempo real, instala un buen plugin de seguridad como Wordfence, Sucuri o iThemes Security. Estos plugins pueden:
- Escanear tu sitio en busca de malware.
- Bloquear intentos de inicio de sesión maliciosos.
- Activar un cortafuegos (firewall) para tu sitio.
Preguntas Frecuentes (FAQ)
¿Cuánto tiempo se tarda en eliminar malware de WordPress?
Depende del tamaño del sitio y del nivel de infección. Un escaneo automático puede tardar minutos, pero la limpieza manual puede llevar horas si tienes que revisar archivo por archivo.
¿Qué hago si no encuentro el malware pero mi sitio sigue hackeado?
El malware puede estar muy bien oculto, en archivos de caché o en la raíz del servidor (fuera de public_html). Contacta a tu proveedor de hosting y pídeles que revisen el servidor. Ellos tienen herramientas más avanzadas.
¿Es posible que mi sitio vuelva a ser hackeado después de limpiarlo?
Sí, si no corriges la vulnerabilidad original. Actualizar todo, cambiar contraseñas y eliminar archivos innecesarios es esencial para prevenir un ataque recurrente.
¿Debo contratar un servicio profesional de limpieza?
Si te sientes abrumado o el sitio es muy crítico para tu negocio, sí. Servicios como Sucuri o los ofrecidos por tu hosting pueden limpiar el sitio por ti, garantizando que se elimine todo el malware y se cierren las puertas de entrada.
¿Qué es Syspanel y qué tiene que ver con esto?
Syspanel es el nombre que usamos para referirnos al panel de control alternativo a cPanel (como HestiaCP). Si tu hosting usa Syspanel, el acceso se realiza a través del puerto 2106 (ej. tudominio.com:2106). Aunque la interfaz es diferente, los conceptos son los mismos: encontrar el administrador de archivos, la base de datos y las herramientas de seguridad. La lógica de esta guía es totalmente aplicable.
Conclusión
Eliminar malware de WordPress desde cPanel es un proceso que, aunque puede parecer intimidante, es totalmente manejable si sigues los pasos correctos. Recuerda siempre empezar con una copia de seguridad, usar el escáner integrado, revisar manualmente los archivos y la base de datos, y luego fortalecer la seguridad para evitar futuros ataques.
La clave está en la prevención. Mantén tu WordPress actualizado, usa contraseñas fuertes y elimina lo que no uses. Con estas prácticas, reducirás drásticamente el riesgo de que tu sitio sea comprometido. ¡Tu sitio web es tu casa digital, mantén las puertas bien cerradas!
