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

Cómo eliminar malware de WordPress desde cPanel (limpieza manual)

Actualizado el 8 de mayo de 2026

¿Tu WordPress ha sido hackeado? Respira hondo. No eres el primero al que le pasa y, lo más importante, tiene solución. Si tienes acceso a tu panel de control de hosting (cPanel), puedes limpiar el malware manualmente sin necesidad de pagar a un experto. En esta guía extensa y paso a paso, te voy a enseñar exactamente cómo hacerlo, usando únicamente las herramientas que ya tienes en tu cPanel. Vamos a ensuciarnos las manos (virtualmente) y a expulsar a los intrusos de tu sitio.

Antes de empezar, una aclaración importante: este proceso requiere paciencia y un poco de método. No es magia, es cirugía. Pero si sigues cada paso al pie de la letra, podrás limpiar malware WordPress cPanel de forma efectiva y devolver la salud a tu web.

Preparación: El Kit de Emergencia Antes de la Limpieza

No entres a cPanel a lo loco borrando archivos. Eso sería como entrar a una habitación oscura con una espada. Primero, necesitas preparar el terreno.

1. Cambia Todas tus Contraseñas (YA)

El hacker tiene una puerta de entrada. Si no la cierras, volverá a entrar al día siguiente de que la limpies. Este es el paso más crítico y el que más gente se salta.

Ve a cPanel y cambia:

  • La contraseña principal de cPanel.
  • La contraseña de la base de datos de tu WordPress (la encontrarás en la sección "Bases de datos MySQL").
  • La contraseña del usuario administrador de tu WordPress. Si no puedes entrar a tu wp-admin, tendrás que hacerlo desde la base de datos (te explico cómo más abajo).

[WARNING] No uses una contraseña simple. Usa un generador de contraseñas y guarda el resultado en un gestor de contraseñas. Un atacante con acceso a tu servidor puede estar monitorizando tus teclas (keylogger) o tus cookies de sesión.

2. Haz una Copia de Seguridad Completa (Sí o Sí)

Este es tu salvavidas. Si algo sale mal durante la limpieza, podrás restaurar tu sitio al estado actual (hackeado, pero restaurable). Sin copia de seguridad, cualquier error puede ser fatal.

En tu cPanel, busca la sección "Archivos" y haz clic en "Administrador de copias de seguridad" o "Backup". Crea una copia completa que incluya:

  • Directorio principal (todo el contenido de public_html).
  • Bases de datos MySQL (todas las que uses para WordPress).

Descarga estos archivos a tu ordenador. No te fíes de que el backup se quede en el servidor, porque el malware podría borrarlo.

3. Identifica el Método de Ataque (El Origen del Problema)

Antes de borrar, debes saber qué estás buscando. El malware en WordPress suele colarse por:

  • Temas o plugins desactualizados: La causa más común. Los hackers explotan vulnerabilidades conocidas.
  • Archivos de temas o plugins modificados: A veces el código malicioso se inyecta en archivos legítimos como functions.php o header.php.
  • Usuarios administradores ocultos: El atacante crea un usuario con rol de administrador para volver a entrar.
  • Archivos inyectados en la raíz: Suelen ser archivos .php con nombres raros como wp-login.php.bak, 0day.php, c99.php o similares.

La Limpieza Manual Paso a Paso desde cPanel

Ahora sí, vamos a la acción. Abre tu cPanel e inicia sesión.

Paso 1: Accede al Administrador de Archivos

En cPanel, busca la sección "Archivos" y haz clic en "Administrador de archivos" (File Manager). Se abrirá una nueva pestaña o ventana. Navega hasta la carpeta donde está instalado tu WordPress. Normalmente es public_html, pero puede ser una subcarpeta si tienes el sitio en un subdirectorio.

Paso 2: La Búsqueda del Tesoro (Encontrar los Archivos Maliciosos)

Esta es la parte que requiere más ojo. No te abrumes, vamos a ir por partes.

2.1. Revisa la Raíz de tu WordPress (public_html)

Mira los archivos que hay en la carpeta principal. Deberías ver archivos normales como wp-admin, wp-includes, wp-content, index.php, wp-config.php, etc.

Presta atención a:

  • Archivos con doble extensión: archivo.php.jpg, imagen.png.php. Son una señal de alarma.
  • Archivos con nombres sospechosos: hack.php, shell.php, upload.php, c99.php, r57.php, 0x.php, o cualquier nombre aleatorio como a1b2c3.php.
  • Archivos .htaccess: Ábrelo con el editor de texto del Administrador de archivos. Si ves código raro que no entiendes, como líneas con RewriteRule apuntando a dominios extraños, es que está infectado. Un .htaccess limpio de WordPress suele ser muy corto.

[WARNING] No borres archivos del núcleo de WordPress (como wp-login.php o wp-settings.php) si no estás 100% seguro de que son maliciosos. Podrías romper tu sitio. La regla de oro es: si no sabes qué es, no lo borres, pero búscalo en Google primero.

2.2. Explora la Carpeta wp-content

Esta es la zona de juegos favorita de los hackers. Entra en wp-content.

  • Carpeta themes: Revisa cada tema instalado. Un truco es que el malware se esconde en los archivos de los temas. Abre el functions.php de tu tema activo y busca código que no reconozcas. Si ves funciones extrañas como eval(base64_decode(...)) o enlaces a sitios web externos, está infectado.
  • Carpeta plugins: Igual que los temas. Revisa los archivos principales de cada plugin activo. Si encuentras un plugin que no instalaste tú, bórralo.
  • Carpeta uploads: Aquí se suben las imágenes. El malware puede esconderse en archivos PHP disfrazados de imágenes. Usa la búsqueda del Administrador de archivos (botón "Buscar") y busca archivos con extensión .php dentro de uploads. Si hay alguno, es 99% malicioso. Bórralo.

[TIP] Usa la función de búsqueda del Administrador de archivos. Puedes buscar por extensión. Escribe *.php y te listará todos los archivos PHP. Es más fácil revisar la lista que hacerlo carpeta por carpeta.

2.3. Revisa los Usuarios Administradores Ocultos

Una vez que hayas limpiado los archivos, debes asegurarte de que no hay un usuario falso con privilegios de administrador.

  • Ve a tu cPanel y entra en "Bases de datos MySQL".
  • Encuentra la base de datos de tu WordPress y haz clic en "phpMyAdmin".
  • En la lista de tablas de la izquierda, busca una que se llame wp_users (si cambiaste el prefijo de las tablas, se llamará diferente, como mi_prefijo_users).
  • Haz clic en "Examinar" (Browse) en esa tabla.
  • Verás la lista de usuarios. Busca cualquier nombre de usuario que no reconozcas. Si encuentras uno, no lo borres solo. Primero, haz clic en "Editar" (Edit) y cambia el user_login a algo que no conozca el hacker, y ponle un user_pass nuevo (selecciona MD5 en el menú desplegable de la función). Después, bórralo.

[INFO] El prefijo de las tablas de WordPress está definido en tu archivo wp-config.php. Si usas el prefijo por defecto wp_, es más fácil de hackear. Considera cambiarlo en el futuro.

Paso 3: La Limpieza Profunda (Archivos Infectados)

Has encontrado archivos sospechosos. Ahora toca decidir: ¿borrarlos o limpiarlos?

3.1. Borrar Archivos Maliciosos

Si el archivo es claramente un malware (un shell PHP, un archivo con doble extensión, un plugin desconocido), bórralo sin piedad. En el Administrador de archivos, selecciona el archivo, haz clic derecho y elige "Eliminar".

3.2. Limpiar Archivos Legítimos Infectados

Si el archivo es legítimo (por ejemplo, el functions.php de tu tema) pero tiene código malicioso inyectado, debes editarlo.

  • Haz clic derecho sobre el archivo y elige "Editar" (o "Code Editor").
  • Busca el código malicioso. Normalmente es una línea larga y encriptada que empieza con eval(base64_decode(...)) o gzinflate(base64_decode(...)).
  • Elimina solo esa línea y guarda el archivo.

[WARNING] Si no te sientes cómodo editando código, mejor borra el archivo y reinstala el tema o plugin desde cero. Es más limpio y seguro. Para ello, borra la carpeta del tema o plugin infectado y luego instálalo de nuevo desde el repositorio de WordPress.

Paso 4: Limpiar la Base de Datos (Inyecciones SQL)

El malware no solo se esconde en archivos, también puede estar en tu base de datos. Busca en las tablas de wp_options y wp_posts contenido sospechoso.

  • En phpMyAdmin, haz clic en la tabla wp_options.
  • Busca una opción llamada siteurl y home. Asegúrate de que apuntan a tu dominio correcto (con https:// y www si es el caso). Si apuntan a otro sitio, cámbialo.
  • Haz clic en la tabla wp_posts.
  • Usa la búsqueda de phpMyAdmin (botón "Buscar") y busca términos como <script>, eval(, iframe, base64_decode. Si encuentras resultados en el post_content o post_excerpt, es que tu contenido ha sido manipulado. Deberías limpiar esas entradas.

[TIP] Si tu base de datos es muy grande, la búsqueda puede tardar. Ten paciencia.

Paso 5: Reinstala el Núcleo de WordPress (La Red de Seguridad)

Para asegurarte de que no queda nada en los archivos del núcleo, la mejor opción es reinstalar WordPress. Esto no borra tu contenido, solo reemplaza los archivos del sistema.

  • Ve a la sección "Administrador de archivos" y navega hasta public_html.
  • NO borres la carpeta wp-content ni el archivo wp-config.php.
  • Borra las carpetas wp-admin y wp-includes, y todos los archivos .php de la raíz (excepto wp-config.php).
  • Ve a wordpress.org/download y descarga la última versión de WordPress en tu ordenador.
  • Descomprime el archivo .zip.
  • Sube el contenido de la carpeta wordpress (las carpetas wp-admin, wp-includes y los archivos .php) a tu public_html usando el Administrador de archivos o un cliente FTP como FileZilla.
  • Cuando te pregunte si quieres sobrescribir archivos, dile que sí.

[INFO] Este paso es como reinstalar Windows en tu PC. No toca tus documentos (uploads) ni tu configuración de usuario (base de datos).

Paso 6: Verifica la Integridad de los Archivos (Opcional pero Recomendado)

Una vez que has reinstalado el núcleo, es buena idea verificar que no hay más archivos corruptos. Puedes hacerlo comparando los checksums (hashes) de los archivos de WordPress.

  • En tu cPanel, busca la herramienta "Verificador de integridad de archivos" o "File Integrity Checker" (depende de tu hosting, puede estar en "Seguridad" o "Administrador de archivos").
  • Esta herramienta compara los archivos de tu instalación con los oficiales de WordPress y te reporta cuáles han sido modificados. Si hay alguno, sabrás dónde mirar.

Después de la Limpieza: Blindando tu WordPress

Has eliminado el malware. ¡Enhorabuena! Pero la guerra no ha terminado. Ahora debes asegurarte de que no vuelva a pasar. Es el momento de ponerle un buen candado a tu casa.

1. Actualiza Todo

  • Entra en tu wp-admin y actualiza el núcleo de WordPress, todos los temas y todos los plugins a sus últimas versiones. Borra los temas y plugins que no uses.

2. Cambia tus Claves de Seguridad (Salts)

En tu archivo wp-config.php, hay unas constantes llamadas AUTH_KEY, SECURE_AUTH_KEY, LOGGED_IN_KEY, etc. Estas "sales" son como la sal de una receta secreta. Si el hacker las conoce, puede forjar cookies de sesión.

3. Instala un Plugin de Seguridad

No es una opción, es una necesidad. Plugins como Wordfence, Sucuri o iThemes Security te ofrecen:

  • Firewall: Bloquean el tráfico malicioso antes de que llegue a tu sitio.
  • Escaneo de malware: Revisan tus archivos en busca de código sospechoso.
  • Protección de inicio de sesión: Limitan los intentos de acceso y bloquean IPs.

[TIP] No instales varios plugins de seguridad a la vez. Pueden entrar en conflicto. Elige uno bueno y configúralo bien.

4. Activa la Autenticación de Dos Factores (2FA)

Esto añade una capa extra de seguridad a tu inicio de sesión. Incluso si alguien roba tu contraseña, no podrá entrar sin el código de tu teléfono.

5. Limpia tu Ordenador

El malware puede estar en tu PC. Si el hacker entró a través de una contraseña robada, es posible que tengas un keylogger. Escanea tu ordenador con un buen antivirus.

Preguntas Frecuentes (FAQ) sobre la Limpieza de WordPress

¿Cuánto tiempo se tarda en limpiar un WordPress hackeado?
Depende del tamaño de tu sitio y de la gravedad de la infección. Para un sitio pequeño, puede llevar de 2 a 4 horas si eres meticuloso. Para un sitio grande, puede ser un trabajo de un día entero.

¿Qué pasa si no encuentro el malware?
Si has seguido todos los pasos y no encuentras nada, pero tu sitio sigue mostrando anuncios raros o redirige a otras páginas, puede ser un problema de tu red de distribución de contenido (CDN) o de tu servidor a nivel de sistema. En ese caso, contacta con tu proveedor de hosting y pídeles que revisen los logs del servidor.

¿Puedo usar un plugin para limpiar el malware?
Sí, puedes usar plugins como Wordfence o Sucuri para escanear y eliminar malware. Sin embargo, la limpieza manual que te he enseñado es más exhaustiva y te permite entender qué ha pasado. Te recomiendo hacer la limpieza manual primero y luego usar el plugin como herramienta de prevención.

¿Es necesario cambiar el prefijo de las tablas de la base de datos?
No es obligatorio, pero es una buena práctica de seguridad. Si tu prefijo es wp_, es el más conocido por los hackers. Cambiarlo a algo personalizado como miweb_ dificulta los ataques de inyección SQL.

¿Qué hago si no tengo acceso a cPanel?
Si tu plan de hosting no incluye cPanel, contacta con tu proveedor de soporte. Ellos podrán ayudarte a acceder a los archivos a través de FTP o a la herramienta de administración que utilicen. Recuerda que si tu hosting usa Syspanel (antes conocido como HestiaCP), el acceso se realiza a través del puerto 2106 (ej: https://tu-dominio.com:2106).

[WARNING] Si no tienes una copia de seguridad reciente y tu sitio es muy valioso, considera contratar un servicio profesional de limpieza de malware como Sucuri o Wordfence. Ell

¿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