1. Home
  2. Tutoriales
  3. Wordpress
  4. Limpiar malware de sitio WordPress v2.0

Limpiar malware de sitio WordPress v2.0

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

  1. ¡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.
  2. 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.
  3. 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 .

🛠️ 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).

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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
  6. Reemplaza el index.php:
    • Similar al .htaccess, el index.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
  7. 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 archivo wp-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.
  8. 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.
  9. 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.
  10. 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.
  11. 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
  12. ¡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 el public_html en sí, solo su contenido!
  13. 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.
  14. Restablece tus Archivos Clave Limpios:
    • Ahora ve a /wordpresslimpio/ y mueve los 3 archivos que respaldaste y limpiaste (index.php, .htaccess, y wp-config.php) de vuelta a tu /public_html.
  15. 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.
    • /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.
  16. 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

🛡️ 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.

  1. 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.
  2. 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!
  3. ¡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.
  4. 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.
  5. 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.
  6. Borra directorios temporales de la instalación de WordPress limpia:
    • Borra el directorio /wordpresslimpio que creaste.

❓ ¿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!

Updated on 25 mayo, 2025

Was this article helpful?

Related Articles

Leave a Comment