El 30 de Enero del 2024, publicamos la versión 1.0 de este tutorial, hoy 25 de Mayo del 2025, lo hemos actualizado a la versión 2.0 . Este tutorial sigue siendo enfocado en usuarios más avanzados.
En PremiumHosting utilizamos CPGuard en Cpanel y DirectAdmin, lo que da una protección antimalware super potente, sin embargo, aún asi, entre nuestros más de 16.000+ sitios WordPress hospedados vemos 1 o 2 casos de malware a la semana.
En la mayoría de casos esto se debe a:
- Utilizar un Plugin o Theme Nulled, pirata o GPL (No, GPL no es legal, no GPL no es confiable, y debes dejar de pagarle a un pirata por software «GPL Libre»).
- Clave de WordPress fácil o usuarios Administradores olvidados
- WordPress, temas o plugins desactualizados por mucho tiempo.
🦠 Cómo Limpiar Malware de tu Sitio WordPress en PremiumHosting
Si tu sitio de WordPress ha sido comprometido con malware, ¡no te alarmes! Es una situación frustrante, pero con paciencia y siguiendo los pasos correctos, podemos ayudarte a limpiarlo. Este tutorial te guiará a través de un proceso detallado y manual para eliminar el código malicioso de tu instalación de WordPress.
Importante: Este proceso requiere atención y se enfoca en una limpieza exhaustiva de los archivos de tu sitio. Si no te sientes cómodo realizando estos pasos, te recomendamos encarecidamente buscar la ayuda de un experto en seguridad de WordPress.
🚨 Antes de empezar: Preparativos Esenciales
- ¡Haz un Respaldo (Backup) Completo!
- Aunque tu sitio esté infectado, es CRUCIAL que hagas un respaldo completo de tu cuenta cPanel o DirectAdmin. Esto incluye todos tus archivos (comprimiendo y descargando
public_html
) y bases de datos. Este respaldo te servirá como punto de restauración si algo sale mal durante el proceso de limpieza, o para análisis forense si es necesario. - Puedes seguir nuestro tutorial para hacer un respaldo completo de Cpanel o DirectAdmin.
- Aunque tu sitio esté infectado, es CRUCIAL que hagas un respaldo completo de tu cuenta cPanel o DirectAdmin. Esto incluye todos tus archivos (comprimiendo y descargando
- Informa a nuestro equipo de soporte:
- Contáctanos en PremiumHosting para que sepamos de la situación. A veces, podemos ver patrones o te podemos dar recomendaciones específicas basadas en el tipo de infección.
- Pon tu sitio en «modo mantenimiento»:
- Considera poner tu sitio en modo mantenimiento para evitar que los visitantes vean el sitio comprometido o que el malware se siga propagando. Puedes usar un plugin de «Modo Mantenimiento» o simplemente borrar el
index.php
temporalmente (después de respaldarlo) y subir una página HTML simple, basta con subir un index.html .
- Considera poner tu sitio en modo mantenimiento para evitar que los visitantes vean el sitio comprometido o que el malware se siga propagando. Puedes usar un plugin de «Modo Mantenimiento» o simplemente borrar el
🛠️ Proceso de Limpieza Detallado
Esta metodología implica reemplazar tus archivos de WordPress con versiones limpias, y luego revisar minuciosamente tus carpetas de contenido (plugins, temas y subidas).
- Revisa los Cronjobs:
- Accede a cPanel o DirectAdmin y ve a la sección «Trabajos de Cron» (Cron Jobs).
- Verifica que no existan cronjobs sospechosos o desconocidos. El único cronjob habitual de WordPress es para
wp-cron.php
. Elimina cualquier otro que no reconozcas.
- Inspecciona Archivos Fuera de
public_html
:- Utiliza el Administrador de Archivos (o FTP).
- Navega a los directorios por encima de
public_html
. No debería haber archivos.php
sospechosos ni archivos desconocidos en estos directorios raíz de tu cuenta. Si encuentras alguno, bórralo inmediatamente.
- Prepara un Directorio de Limpieza:
- Crea un nuevo directorio, fuera de
public_html
. Puedes llamarlo/wordpresslimpio
(o algo similar). Aquí guardaremos tus archivos limpios y prepararemos la nueva instalación.
- Crea un nuevo directorio, fuera de
- Aísla tus Archivos Clave:
- Mueve los siguientes archivos desde
public_html
al directorio/wordpresslimpio
que acabas de crear:index.php
.htaccess
wp-config.php
- Advertencia: En este punto, tu sitio dejará de funcionar temporalmente, lo cual es normal.
- Mueve los siguientes archivos desde
- Reemplaza el
.htaccess
(¡Es crucial!):- El archivo
.htaccess
es un objetivo común para el malware. - Reemplázalo por una versión limpia y por defecto de WordPress. Puedes obtener la nuestra aquí:
.htaccess
por defecto de WP
- El archivo
- Reemplaza el
index.php
:- Similar al
.htaccess
, elindex.php
es a menudo alterado. - Reemplázalo por una versión limpia y por defecto de WordPress. Puedes obtenerla del repositorio oficial de WordPress: index.php limpio
- Similar al
- Revisa tu
wp-config.php
con lupa:- Este archivo contiene información sensible y es un blanco principal.
- Abre el
wp-config.php
que moviste a/wordpresslimpio
. - Revisa cada línea meticulosamente. Busca cualquier código que no reconozcas, cadenas de texto extrañas, funciones
base64_decode
,eval
, o cualquier cosa fuera de lo normal. - Si no estás seguro, compara tu
wp-config.php
con el archivowp-config-sample.php
que viene en una instalación limpia de WordPress. Solo deben diferir en tus credenciales de base de datos y llaves de seguridad.
- Obtén tu Versión de WordPress:
- Ve al archivo
public_html/wp-includes/version.php
(si aún existe, si no puedes ver tu versión en el área de administración de WordPress). - Anota la versión exacta de WordPress que estás usando (por ejemplo,
$wp_version = '6.4.2';
). Esto es vital para descargar la versión correcta.
- Ve al archivo
- Descarga una Versión Limpia de WordPress:
- Visita el sitio oficial de WordPress para descargar versiones anteriores: Descargar Versiones de WordPress
- Descarga la misma versión que anotaste en el paso anterior.
- Sube el WordPress Limpio y Descomprímelo:
- Sube el archivo
.zip
de WordPress que acabas de descargar (ej.wordpress-6.4.2.zip
) al directorio/wordpresslimpio
. - Descomprímelo. Esto creará una subcarpeta llamada
wordpress
dentro de/wordpresslimpio
(es decir,/wordpresslimpio/wordpress/
). En esta carpeta, tendrás una instalación completa y limpia de WordPress.
- Sube el archivo
- Mueve tus Carpetas de Contenido:
- Ahora, mueve las siguientes carpetas desde
public_html
a/wordpresslimpio
:/public_html/wp-content/plugins
/public_html/wp-content/themes
/public_html/wp-content/uploads
- Ahora, mueve las siguientes carpetas desde
- ¡Borra todo en
public_html
!- Este paso es irreversible y crítico. Una vez que hayas respaldado tus archivos clave y carpetas de contenido, y tengas el WordPress limpio listo, borra TODO lo que hay dentro de tu directorio
/public_html
. ¡Asegúrate de no borrar elpublic_html
en sí, solo su contenido!
- Este paso es irreversible y crítico. Una vez que hayas respaldado tus archivos clave y carpetas de contenido, y tengas el WordPress limpio listo, borra TODO lo que hay dentro de tu directorio
- Mueve el WordPress Limpio a
public_html
:- Ve a
/wordpresslimpio/wordpress/
. - Mueve TODO el contenido de esta carpeta (
/wordpresslimpio/wordpress/
) directamente a tu/public_html
. Con esto, has reemplazado todas las carpetas y archivos del core de WordPress (wp-admin
,wp-includes
, etc.) con versiones limpias.
- Ve a
- Restablece tus Archivos Clave Limpios:
- Ahora ve a
/wordpresslimpio/
y mueve los 3 archivos que respaldaste y limpiaste (index.php
,.htaccess
, ywp-config.php
) de vuelta a tu/public_html
.
- Ahora ve a
- Limpieza Manual de
wp-content
(¡La etapa más importante!):- El malware a menudo se esconde en plugins, temas o incluso en la carpeta de subidas. Esta es la parte más manual y que requiere más atención.
- Vuelve a
/wordpresslimpio/
y enfócate en los directorios:/wordpresslimpio/wp-content/plugins
/wordpresslimpio/wp-content/themes
/wordpresslimpio/wp-content/uploads
/wordpresslimpio/wp-content/uploads
:- Entra en cada subdirectorio (años y meses). NO debe haber NINGÚN archivo
.php
,.js
o archivos ejecutables. Solo imágenes, videos u otros archivos multimedia que hayas subido. Borra cualquier archivo sospechoso.
- Entra en cada subdirectorio (años y meses). NO debe haber NINGÚN archivo
/wordpresslimpio/wp-content/themes
:- Revisa los nombres de todos los temas. ¿Hay alguno que no reconozcas o que no uses? Bórralo inmediatamente.
- Si usas un tema padre y un tema hijo, asegúrate de que ambos sean legítimos.
- Si sabes exactamente qué tema estás utilizando, borra todos los demás temas (manteniendo solo el tema activo). Luego, inspecciona la carpeta de tu tema activo: busca archivos
.php
extraños, códigos ofuscados, o archivos.js
que no deberían estar allí. Si tu tema es premium, compáralo con una descarga limpia del desarrollador.
/wordpresslimpio/wp-content/plugins
:- Mira todos los nombres de los plugins. ¿Ves nombres raros, plugins que no reconoces o que no instalaste? Bórralos sin dudarlo.
- Si tienes plugins inactivos que no utilizas, bórralos también para reducir la superficie de ataque.
- Para los plugins activos, si sospechas de alguno, descárgalo (una versión limpia) y compárala con la que tienes, o incluso reinstálalos uno por uno.
- Mueve las Carpetas de Contenido Limpias:
- Una vez que estés seguro de que has revisado y limpiado minuciosamente estas tres carpetas, muévelas desde
/wordpresslimpio/wp-content/
a tu/public_html/wp-content/
. - Deben quedar así:
/public_html/wp-content/plugins
/public_html/wp-content/themes
/public_html/wp-content/uploads
- Una vez que estés seguro de que has revisado y limpiado minuciosamente estas tres carpetas, muévelas desde
🛡️ Post-Limpieza y Fortalecimiento (¡CRÍTICO para evitar futuras infecciones!)
La limpieza de archivos es solo la mitad del trabajo. Sin endurecer tu seguridad, es muy probable que tu sitio se vuelva a infectar en poco tiempo.
- Cambia Todas las Contraseñas:
- Base de Datos MySQL: Genera una nueva contraseña para tu usuario de base de datos MySQL (desde cPanel o DirectAdmin) y actualízala en tu
wp-config.php
. - Administrador de WordPress: Cambia la contraseña de todos los usuarios administradores de WordPress. Si ves usuarios desconocidos, elimínalos.
- Cuentas FTP/SSH: Cambia todas las contraseñas FTP/SSH.
- Cuentas de Correo Electrónico: Considera cambiar las contraseñas de las cuentas de correo asociadas a tu dominio.
- Contraseña de cPanel/DirectAdmin: Genera una nueva contraseña robusta para tu panel de control.
- Base de Datos MySQL: Genera una nueva contraseña para tu usuario de base de datos MySQL (desde cPanel o DirectAdmin) y actualízala en tu
- Actualiza Todo el Software:
- WordPress Core: Asegúrate de que WordPress esté actualizado a la última versión disponible.
- Temas y Plugins: Actualiza todos tus temas y plugins a sus últimas versiones. ¡Nunca subestimes la importancia de esto!
- ¡Elimina Temas y Plugins «Nulled» o Piratas!
- Si utilizas o utilizaste temas o plugins obtenidos de fuentes no oficiales (nulled, piratas, GPL de sitios no confiables), bórralos inmediatamente. Son la causa principal de muchas infecciones. Invierte en licencias legítimas.
- Instala un Plugin de Seguridad Robusto:
- Instala y configura un plugin de seguridad reconocido como Wordfence Security (la versión gratuita es muy buena), Sucuri Security, iThemes Security, o similar.
- Ejecuta un escaneo completo con el plugin inmediatamente.
- Implementa Medidas de Seguridad Adicionales:
- Autenticación de Dos Factores (2FA): Habilita 2FA para todos tus usuarios administradores de WordPress.
- Limita Intentos de Inicio de Sesión: Configura esto con un plugin de seguridad para prevenir ataques de fuerza bruta.
- Deshabilita la Edición de Archivos: Añade la siguiente línea a tu
wp-config.php
(antes de/* That's all, stop editing! Happy publishing. */
): PHPdefine('DISALLOW_FILE_EDIT', true);
- Utiliza Contraseñas Fuertes y Únicas: Para todas tus cuentas.
- Monitoreo de Archivos: Configura el plugin de seguridad para monitorear cambios en los archivos.
- Web Application Firewall (WAF): Considera usar un WAF (como el que a veces PremiumHosting puede ofrecer o servicios como Cloudflare) para filtrar tráfico malicioso antes de que llegue a tu sitio.
- Borra directorios temporales de la instalación de WordPress limpia:
- Borra el directorio
/wordpresslimpio
que creaste.
- Borra el directorio
❓ ¿Necesitas ayuda adicional?
Sabemos que limpiar un sitio de WordPress puede ser un desafío. Si te sientes abrumado o si el malware persiste, no dudes en contactar a nuestro equipo de soporte en PremiumHosting. ¡Estamos aquí para ayudarte a mantener tu sitio seguro!