Cómo eliminar malware de un sitio en cPanel
Primeros pasos: Detecta la infección antes de limpiar
Cuando tu web empieza a redirigir a páginas extrañas, muestra anuncios invasivos o es marcada como peligrosa por Google, lo más probable es que esté infectada con malware. No te preocupes, es un problema más común de lo que piensas y tiene solución. En esta guía te voy a enseñar paso a paso cómo eliminar malware de un sitio en cPanel, incluso si nunca has hecho algo así antes.
Antes de lanzarte a borrar archivos a lo loco, es fundamental que sepas qué tipo de infección tienes. El malware puede esconderse en el código de tus archivos, en la base de datos, o incluso en archivos de configuración. Un buen diagnóstico inicial te ahorrará horas de trabajo.
Síntomas comunes de una web infectada
Tu sitio puede estar comprometido si notas alguno de estos signos:
- Redirecciones a webs de apuestas, farmacias o contenido dudoso.
- Aparición de ventanas emergentes o pop-ups que no has creado.
- El sitio se vuelve muy lento sin razón aparente.
- Google Chrome o Firefox muestran un aviso de "sitio engañoso".
- Archivos nuevos con nombres raros (como
c99.php,shell.phpowp-admin.php) que no reconoces. - Modificaciones en el código de tus archivos principales (index.php, .htaccess).
Herramientas de diagnóstico en cPanel
Para limpiar web infectada necesitas saber dónde está el problema. cPanel incluye algunas herramientas útiles, aunque a veces necesitarás ayuda externa.
Revisa el Administrador de Archivos
Entra en tu cPanel y abre el Administrador de Archivos. Navega hasta la carpeta public_html (o la raíz de tu dominio). Busca archivos con fechas de modificación recientes que no recuerdes haber subido. Presta especial atención a:
- Archivos PHP con códigos codificados (parecen una línea larguísima sin sentido).
- Archivos
.htaccessmodificados con reglas extrañas (redirecciones a dominios raros). - Carpetas con nombres sospechosos que contengan scripts.
Usa el Escáner de Malware de cPanel (si está disponible)
Algunos proveedores de hosting incluyen un escáner de malware integrado en cPanel. Búscalo en la sección de Seguridad o Archivos. Si lo tienes, ejecuta un análisis completo. Te mostrará los archivos infectados y, en muchos casos, podrás ponerlos en cuarentena directamente.
Instala un escáner externo (recomendado)
Si tu cPanel no tiene escáner, puedes usar herramientas gratuitas como ClamAV (disponible en algunos hosts) o subir un escáner manual como Imunify360 o Wordfence (si usas WordPress). Estos escáneres son más exhaustivos y detectan variantes de malware que pasan desapercibidas.
[INFO] Si tu hosting usa Syspanel en lugar de cPanel, el proceso es similar. Accede a través del puerto 2106 (por ejemplo,
https://tu-dominio.com:2106) y busca la sección de archivos y seguridad. Las herramientas son casi idénticas.
Eliminar malware cPanel: El proceso de limpieza manual
Una vez que has identificado los archivos infectados, es hora de actuar. Te recomiendo hacer una copia de seguridad completa antes de borrar nada, por si acaso.
Paso 1: Haz una copia de seguridad
En cPanel, ve a la sección Archivos y haz clic en Copias de seguridad. Descarga una copia completa de tu cuenta. Si tu hosting te permite hacer copias remotas, mejor. Guárdala en tu ordenador o en un servicio en la nube.
Paso 2: Pon el sitio en modo mantenimiento
Esto evita que los visitantes sigan accediendo a contenido infectado mientras limpias. Puedes crear un archivo maintenance.php en la raíz y redirigir todo el tráfico a él temporalmente, o usar un plugin si tienes WordPress.
Paso 3: Elimina los archivos maliciosos
Con el Administrador de Archivos, navega hasta cada archivo infectado y elimínalo. Si es un archivo legítimo que ha sido modificado (como index.php), puedes reemplazarlo con una copia limpia de tu instalación original.
Para WordPress: Descarga una copia limpia de WordPress desde wordpress.org y reemplaza los archivos del núcleo (los de la raíz y las carpetas wp-admin y wp-includes). Ten cuidado de no sobreescribir tu carpeta wp-content, ahí están tus temas y plugins.
Paso 4: Limpia la base de datos
El malware no solo vive en archivos. También puede esconderse en tu base de datos, especialmente en las tablas de opciones o en scripts inyectados en entradas y páginas. Usa phpMyAdmin desde cPanel para:
- Buscar cadenas sospechosas como
<script>oeval(base64_decodeen tus tablas. - Revisar la tabla
wp_options(si usas WordPress) en busca de opciones ocultas que ejecuten código. - Eliminar usuarios administradores que no reconoces.
[WARNING] Cuidado al editar la base de datos. Haz siempre una copia de seguridad de la misma antes de tocar nada. Un error aquí puede romper tu sitio por completo.
Paso 5: Revisa y repara el archivo .htaccess
El archivo .htaccess es uno de los favoritos de los atacantes. Pueden añadir reglas de redirección que envían a tus visitantes a webs maliciosas. Ábrelo con el editor de cPanel y busca líneas como:
RewriteRuleque apunten a dominios que no sean los tuyos.- Código PHP codificado al principio o final del archivo.
- Directivas
RedirectoRedirectMatchextrañas.
Si no estás seguro de qué es lo correcto, puedes reemplazarlo con el .htaccess por defecto de tu CMS (WordPress, Joomla, etc.) y volver a configurar las reglas de tu web (caché, redirecciones 301, etc.) desde los plugins o herramientas que uses.
Pasos adicionales para quitar virus hosting
La limpieza manual es solo el principio. Para que el malware no vuelva, debes cerrar las puertas por donde entró.
Cambia todas las contraseñas
Esto incluye:
- Contraseña del cPanel.
- Contraseñas de las cuentas FTP.
- Contraseñas de la base de datos.
- Contraseñas de los usuarios administradores de tu CMS.
Usa contraseñas largas y únicas para cada servicio. Un gestor de contraseñas te ayudará a recordarlas.
Actualiza todo a la última versión
El malware suele aprovechar vulnerabilidades en software desactualizado. Actualiza:
- El CMS (WordPress, Joomla, Drupal).
- Los temas y plugins.
- Las librerías PHP del servidor (esto lo hace tu proveedor de hosting).
Revisa los archivos de configuración
Comprueba que wp-config.php (en WordPress) no contenga código extraño. Asegúrate de que las claves de autenticación (AUTH_KEY, SECURE_AUTH_KEY, etc.) hayan sido cambiadas. Puedes generar nuevas desde la página oficial de WordPress.
Elimina usuarios y plugins sospechosos
Revisa la lista de usuarios de tu panel de administración. Elimina cualquier usuario que no reconozcas, especialmente si tiene permisos de administrador. Desactiva y elimina plugins que no uses o que no hayas instalado tú.
Prevención: Cómo evitar futuras infecciones
Una vez que has conseguido quitar virus hosting, es hora de blindar tu web.
Instala un firewall de aplicación web (WAF)
Muchos proveedores de hosting ofrecen este servicio de forma gratuita. Un WAF filtra el tráfico malicioso antes de que llegue a tu web. Si tu hosting no lo incluye, puedes usar servicios en la nube como Cloudflare.
Activa la autenticación en dos pasos (2FA)
Añade una capa extra de seguridad a tu panel de administración y a tu cPanel. Aunque alguien robe tu contraseña, no podrá acceder sin el código de verificación.
Haz copias de seguridad periódicas
Configura copias automáticas diarias o semanales. Si algo sale mal, podrás restaurar tu web a un estado limpio en minutos. Guarda las copias en un lugar externo (no solo en el mismo servidor).
Mantén todo actualizado
Esto es aburrido pero vital. Programa recordatorios mensuales para actualizar tu CMS, temas y plugins. Las actualizaciones incluyen parches de seguridad que cierran vulnerabilidades conocidas.
[TIP] Si tu web es muy importante para tu negocio, considera contratar un servicio de monitorización de malware. Hay opciones económicas que escanean tu web a diario y te avisan al instante si detectan algo raro.
Preguntas frecuentes (FAQ) sobre limpieza de malware
¿Cuánto tiempo tarda en limpiarse una web infectada?
Depende del nivel de infección. Una limpieza básica de archivos puede llevar una hora. Si el malware está muy extendido o en la base de datos, puede llevarte un día entero. Si no te ves capaz, contrata un servicio profesional.
¿Puedo limpiar el malware sin cPanel?
Sí, puedes usar FTP o el administrador de archivos de tu hosting, pero cPanel facilita mucho el proceso. Con cPanel también tienes acceso a phpMyAdmin para limpiar la base de datos.
¿Por qué mi web sigue infectada después de limpiarla?
Es muy común que el malware se reinfecte si no has encontrado la puerta de entrada original. Revisa si tienes plugins vulnerables, cuentas de usuario comprometidas o archivos de configuración modificados. A veces es mejor restaurar desde una copia limpia anterior a la infección.
¿Qué hago si Google ha marcado mi web como peligrosa?
Después de limpiar tu web, solicita una revisión en Google Search Console. Ve a la sección de Seguridad y manual y pide una revisión. Google revisará tu web y, si está limpia, quitará la advertencia en unos días.
¿Puedo evitar el malware usando Syspanel?
Syspanel (con acceso por el puerto 2106) ofrece las mismas herramientas de seguridad que cPanel. La prevención es la misma: contraseñas seguras, actualizaciones y copias de seguridad. No hay un sistema mágico que te haga inmune, pero Syspanel es igual de seguro que cPanel si lo configuras bien.
Conclusión
Eliminar malware de un sitio en cPanel no es una tarea imposible, pero requiere paciencia y método. Recuerda siempre: primero diagnostica, luego haz una copia de seguridad, después limpia y por último refuerza la seguridad. No te saltes ningún paso, porque el malware es persistente y volverá si dejas una puerta abierta.
Si en algún momento te sientes abrumado, no dudes en pedir ayuda a tu proveedor de hosting o a un profesional. Muchas veces, el coste de un servicio de limpieza es menor que el tiempo que pierdes intentándolo tú. Pero con esta guía, ya tienes el conocimiento para hacerlo por ti mismo.
La seguridad web es un proceso continuo. No se trata de una limpieza única, sino de mantener buenas prácticas a lo largo del tiempo. Con las medidas de prevención que te he dado, tu web estará mucho más protegida contra futuros ataques. Ahora ya sabes cómo eliminar malware de un sitio en cPanel y, más importante aún, cómo evitar que vuelva a ocurrir.
