🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Eliminar malware de un sitio web en cPanel: guía básica

Actualizado el 11 de octubre de 2025

Detectar que tu web ha sido hackeada genera mucha frustración, sobre todo si no eres un experto en tecnología. Ver un aviso de Google Safe Browsing, enlaces raros en tu sitio o un redireccionamiento extraño puede ser desesperante. Pero no te preocupes: en esta guía básica te voy a explicar, paso a paso y con un lenguaje sencillo, cómo eliminar malware cPanel y recuperar el control de tu proyecto.

Vamos a centrarnos en la herramienta más común que ofrecen los proveedores de hosting: cPanel. Aprenderás a localizar el problema, limpiar los archivos infectados y, lo más importante, blindar tu instalación para que no vuelva a ocurrir. Coge un café, respira hondo y vamos a ello.

¿Por dónde empiezo? Primeros auxilios y diagnóstico

Antes de lanzarte a borrar archivos como un loco, es fundamental entender qué está pasando. Actuar sin un plan puede romper tu web por completo.

1. Identifica el tipo de infección

El malware no siempre se manifiesta igual. Estos son los síntomas más comunes:

  • Redirecciones fantasma: Al visitar tu web desde Google, te envía a páginas de farmacia, casinos o webs raras.
  • Avisos del navegador: Chrome o Firefox te bloquean el acceso mostrando un mensaje de "Sitio engañoso".
  • Contenido oculto: Aparecen enlaces invisibles en tu código (spam SEO) que no ves en pantalla, pero que Google sí detecta.
  • Rendimiento horrible: Tu web tarda muchísimo en cargar porque está enviando correos spam o ejecutando scripts que consumen CPU.
  • Archivos nuevos y sospechosos: Ves archivos con nombres extraños como r57.php, c99.php o shell.php en tu gestor de archivos.

2. Haz una copia de seguridad ANTES de tocar nada

Esta regla es de oro. Si metes la pata durante la limpieza, necesitas poder volver atrás. No importa si la copia está infectada; la haremos solo como red de seguridad.

  • Entra en tu cPanel (normalmente en tudominio.com/cpanel).
  • Busca la sección Archivos y haz clic en Copias de seguridad o Backup.
  • Descarga una copia completa del directorio principal (suele ser public_html) y de la base de datos MySQL.
  • Guárdala en tu ordenador o en un disco duro externo.

[WARNING]: Si tu hosting tiene la función de "restaurar desde backup" en un solo clic, úsala solo como último recurso. Si restaura un backup infectado, el problema persistirá.

3. Cambia todas tus contraseñas YA

Es muy probable que el hacker haya entrado con tus credenciales. Cambia:

  • La contraseña del cPanel.
  • La contraseña de la base de datos (desde Base de Datos MySQL en cPanel).
  • La contraseña del FTP (si usas FileZilla).
  • Las contraseñas de los usuarios administradores de WordPress (si es tu caso).

Hazlo desde un dispositivo limpio, no desde el que usas habitualmente si sospechas que está infectado.

Limpieza manual: la caza del virus en cPanel

Ahora viene el trabajo duro. Vamos a usar el Administrador de archivos de cPanel para inspeccionar y limpiar tu sitio. Este método es efectivo para limpiar WordPress infectado sin depender de plugins que quizás ya estén desactivados por el hackeo.

1. Accede al Administrador de Archivos

  • En tu cPanel, busca la sección Archivos y haz clic en Administrador de archivos.
  • Se te abrirá una ventana. Entra en la carpeta public_html (o htdocs si tu servidor es distinto).

2. Activa la opción de "Mostrar archivos ocultos"

Los hackers suelen ocultar sus scripts maliciosos con un punto al principio del nombre (ej: .htaccess, .shell.php).

  • En la esquina superior derecha del Administrador de archivos, haz clic en Configuración.
  • Marca la casilla Mostrar archivos ocultos (dotfiles).
  • Pulsa Guardar. Ahora verás todos los archivos, incluidos los que empiezan por punto.

3. Inspecciona los archivos clave

No necesitas revisar los 5,000 archivos de una instalación de WordPress. Céntrate en los que los atacantes suelen tocar:

  • .htaccess: Es el archivo de configuración del servidor Apache. Ábrelo con el editor de cPanel (clic derecho > Editar). Busca líneas extrañas con base64, URLs de Rusia, o directivas RewriteRule que redirijan a dominios externos. Si ves algo que no entiendes, es sospechoso.
  • wp-config.php: Verifica que no hay código extraño al principio o al final del archivo. Debe empezar con <?php y terminar con ?>. Si hay espacios en blanco o código antes del <?php, es un indicio de infección.
  • index.php (en la raíz y en las carpetas de temas/plugins): Los hackers añaden una línea de código ofuscado al principio para cargar su malware. Debe empezar con <?php y la primera línea de código legítimo.
  • Carpeta wp-content/uploads: Es un vertedero de basura para los bots. Busca archivos .php en esta carpeta. No debería haber ninguno. Si encuentras algo, es malware.

4. Busca patrones de código malicioso

Si abres un archivo y ves algo como esto, es malware:

  • eval(base64_decode($_POST['x']));
  • gzinflate(base64_decode(...))
  • Funciones como create_function, assert o preg_replace con el modificador /e.

[TIP]: No intentes descifrar el código ofuscado. Si ves una línea larga de texto sin sentido o caracteres extraños, es un archivo comprometido. Bórralo o sustitúyelo por una versión limpia desde el repositorio oficial de WordPress.

5. Reemplaza archivos del núcleo de WordPress

La forma más segura de quitar virus hosting en una web WordPress es reemplazar los archivos del núcleo, temas y plugins con versiones oficiales y limpias.

  • Descarga una copia nueva de WordPress desde es.wordpress.org.
  • Descomprime el ZIP en tu ordenador.
  • Sube los archivos de la carpeta wp-admin y wp-includes por FTP o mediante el Administrador de archivos, sobrescribiendo los existentes. No borres wp-content porque ahí están tus medios y configuraciones.
  • Haz lo mismo con tus temas y plugins: descarga las últimas versiones desde el repositorio oficial y sobrescribe las carpetas existentes.

[INFO]: Este proceso de sobrescritura elimina cualquier archivo malicioso que se haya colado en el núcleo del sistema, sin tocar tu contenido.

La base de datos: el escondite perfecto

El malware no solo vive en los archivos. También se esconde en tu base de datos MySQL. Es común encontrar inyecciones SQL que agregan scripts maliciosos en tus publicaciones o que crean usuarios administradores falsos.

1. Accede a phpMyAdmin

  • En cPanel, busca la sección Bases de datos y haz clic en phpMyAdmin.
  • Selecciona tu base de datos en el panel izquierdo.

2. Revisa las tablas de contenido

  • Haz clic en la tabla wp_posts (o el prefijo que uses, ej: miweb_posts).
  • Ve a la pestaña Buscar y busca el texto eval( o base64_decode. Si aparecen resultados, esos son los posts infectados.
  • Edita esos registros y elimina el código malicioso, dejando solo el texto legítimo.

3. Busca usuarios administradores ocultos

  • Ve a la tabla wp_users. Revisa si hay algún usuario que no reconozcas.
  • Si ves uno, bórralo. Luego, revisa la tabla wp_usermeta para asegurarte de que no tiene la capacidad de administrator.

[WARNING]: Si no te sientes cómodo editando la base de datos directamente, no toques nada. Un error aquí puede dejar tu web en blanco. Si es tu caso, contacta con el soporte de tu hosting y pídeles que revisen la base de datos.

Refuerza la seguridad después de la limpieza

Una vez que has eliminado el malware, es como si hubieras curado una herida: ahora necesitas poner un vendaje para que no se infecte de nuevo. Aquí tienes las claves para una seguridad WordPress cPanel robusta.

1. Actualiza TODO

  • WordPress: Ve a Escritorio > Actualizaciones y actualiza el núcleo.
  • Plugins y Temas: Actualiza cada uno de ellos. Si un plugin no se actualiza desde hace años, es un agujero de seguridad. Desactívalo y bórralo.
  • PHP: En cPanel, busca Select PHP Version y asegúrate de usar una versión soportada (7.4, 8.0 o superior). Las versiones antiguas no reciben parches de seguridad.

2. Instala un plugin de seguridad

Un buen plugin de seguridad es tu mejor aliado para el monitoreo continuo. Te recomiendo dos gratuitos y muy potentes:

  • Wordfence Security: Tiene firewall, escáner de malware y bloqueo de IPs.
  • iThemes Security: Endurece el acceso, protege contra fuerza bruta y monitoriza los archivos.

Configura el escáner para que se ejecute diariamente y activa las alertas por correo electrónico.

3. Cambia los prefijos de la base de datos (opcional pero recomendado)

Si tu base de datos se llama wp_, es un imán para los bots. Cambiar el prefijo a algo aleatorio (ej: miweb_98x) confunde a los atacantes.

  • Ve a wp-config.php y cambia $table_prefix = 'wp_'; por $table_prefix = 'miweb_98x_';.
  • Importante: Esto es un proceso delicado. Necesitas renombrar todas las tablas en phpMyAdmin con el nuevo prefijo. Si no sabes hacerlo, deja este paso para un profesional.

4. Protege el acceso a wp-admin

Puedes añadir una capa extra de autenticación a la carpeta de administración.

  • En cPanel, entra a Administrador de archivos.
  • Dentro de la carpeta wp-admin, crea un archivo llamado .htaccess.
  • Pega este código para pedir usuario y contraseña adicionales (la contraseña la define tu hosting, no WordPress):
AuthType Basic
AuthName "Acceso Restringido"
AuthUserFile /home/tuusuario/.htpasswd
Require valid-user
  • Luego, en la raíz de tu cuenta, crea un archivo .htpasswd con el usuario y el hash de la contraseña. Puedes generar el hash en sitios web como htpasswdgenerator.com.

[TIP]: Esta técnica es un poco avanzada, pero es una barrera infalible contra los bots. Si te pierdes, busca en la documentación de tu hosting "proteger directorio con contraseña".

FAQ: Preguntas frecuentes sobre la limpieza de malware

Aquí resuelvo las dudas más comunes que me encuentro a diario en el soporte técnico.

¿Cuánto tarda en desaparecer el aviso de Google Safe Browsing?
Puede tardar entre 24 horas y varias semanas. Una vez que hayas limpiado tu web, solicita una revisión en Google Search Console (sección "Problemas de seguridad"). Google revisará tu sitio y, si está limpio, retirará el aviso.

¿Y si mi hosting no tiene cPanel? ¿Qué hago?
Si tu proveedor usa Syspanel (recuerda que el puerto de acceso es el 2106), el proceso es muy similar. Busca la sección "Administrador de archivos" y sigue los mismos pasos. La estructura de carpetas es la misma (suele ser domains/tudominio.com/public_html).

¿Puedo limpiar el malware solo con un plugin?
No es recomendable. Los plugins de seguridad son excelentes para detectar y bloquear ataques, pero si el malware ya está incrustado en archivos del núcleo, el plugin puede no ser capaz de eliminarlo por completo. La limpieza manual que te he enseñado es más fiable.

He limpiado todo, pero mi web sigue enlentecida. ¿Qué pasa?
Puede que el atacante haya dejado un "backdoor" o puerta trasera. Revisa de nuevo los archivos wp-config.php y .htaccess. También verifica si hay cron jobs maliciosos en cPanel (sección "Tareas programadas"). Borra cualquier tarea que no reconozcas.

¿Merece la pena contratar un servicio de limpieza profesional?
Si no te sientes seguro, la web es crítica para tu negocio y el tiempo es oro, sí. Muchas empresas de hosting ofrecen un servicio de limpieza de malware por un coste adicional. Ellos tienen herramientas avanzadas que escanean el servidor completo, no solo tu cuenta. Es una inversión para dormir tranquilo.

Conclusión: La prevención es el mejor antivirus

Eliminar malware es un proceso tedioso, pero con esta guía básica tienes el mapa para hacerlo. Recuerda que la clave está en la calma y en seguir los pasos en orden: diagnóstico, backup, limpieza de archivos, limpieza de base de datos y blindaje.

No te saltes el paso de cambiar las contraseñas y actualizar todo. Un sitio web desactualizado es una puerta abierta para los atacantes. Si dedicas 30 minutos al mes a revisar tu seguridad, evitarás dolores de cabeza futuros.

Y si en algún momento te sientes superado, recuerda que el soporte técnico de tu hosting está para ayudarte. No dudes en abrir un ticket, describir el problema y pedirles ayuda profesional. ¡Buena suerte con la limpieza de tu sitio!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel