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

Guía para eliminar malware de un sitio WordPress en DirectAdmin

Actualizado el 13 de noviembre de 2025

¿Tu sitio WordPress ha sido hackeado? No entres en pánico. Tener malware en tu web es una experiencia frustrante, pero con una guía clara y las herramientas adecuadas, puedes limpiarlo y recuperar el control. Esta guía está diseñada para usuarios de DirectAdmin, un panel de control de hosting muy popular. Aquí te explicaremos, paso a paso, cómo detectar, eliminar y prevenir futuras infecciones de malware en tu WordPress.


Primeros Pasos: Diagnóstico y Preparación

Antes de lanzarte a borrar archivos, es crucial entender qué ha pasado y preparar el terreno. Actuar sin un plan puede empeorar las cosas o hacer que pierdas datos importantes.

¿Cómo saber si tu WordPress tiene malware?

Los síntomas de un sitio infectado pueden ser muy variados. Algunos son evidentes, otros más sutiles. Presta atención a estas señales de alarma:

  • Redirecciones extrañas: Tu sitio te lleva a páginas de spam, farmacias online o sitios de apuestas sin que tú hagas clic.
  • Anuncios emergentes (pop-ups): Aparecen ventanas publicitarias que no has programado, incluso en páginas que no tienen anuncios.
  • Rendimiento lento: Tu web carga muy lentamente o el servidor se vuelve inestable, porque el malware consume recursos.
  • Archivos y carpetas desconocidos: En tu gestor de archivos de DirectAdmin ves carpetas con nombres extraños (como wp-Admin, tmp, uploads con archivos PHP) o archivos .php que no reconoces.
  • Usuarios administradores desconocidos: En tu panel de WordPress (Usuarios > Todos los usuarios) ves una cuenta de administrador que no creaste tú.
  • Alertas de Google: Recibes un mensaje de Google Search Console diciendo que tu sitio está comprometido o que tiene contenido sospechoso.
  • Cambios en el contenido: Aparecen enlaces o textos en tu web que no has escrito, a menudo en diferentes idiomas o sobre temas que no son los tuyos.

[WARNING] Si ves alguno de estos síntomas, no accedas a tu sitio web a través del navegador. El malware podría estar rastreando tus sesiones o intentando robar tus credenciales. Siempre trabaja a través de DirectAdmin o FTP.

Lo que NO debes hacer (Errores comunes)

  • No entres en pánico y actúes sin pensar: Borrar archivos al azar puede romper tu sitio para siempre.
  • No reinstales WordPress desde cero sin hacer una copia de seguridad: Podrías perder contenido importante (posts, páginas, comentarios) que no está en la base de datos.
  • No ignores el problema: El malware no desaparece solo. Cuanto más tiempo pase, más profundo se incrustará y más difícil será de eliminar.
  • No asumas que con un plugin de seguridad es suficiente: Los plugins son una gran ayuda, pero a veces el malware bloquea su ejecución o se esconde en archivos que el plugin no puede tocar.

Copia de seguridad: Tu salvavidas

Antes de tocar nada, haz una copia de seguridad completa. Esto incluye dos partes: los archivos del sitio y la base de datos. DirectAdmin tiene herramientas integradas para esto.

Cómo hacer una copia de seguridad en DirectAdmin

  1. Accede a tu panel de DirectAdmin (normalmente en https://tudominio.com:2222).
  2. Busca la sección "Admin Tools" o "Advanced Features" y haz clic en "Backup/Transfer".
  3. Selecciona "Create Backup".
  4. Marca las opciones que quieres respaldar. Lo más seguro es marcar todas:
    • User Data: Incluye todos tus archivos.
    • Databases: Guarda tu base de datos de WordPress.
    • E-mail Data: Por si acaso.
    • DNS Records: Para no perder la configuración de tu dominio.
  5. Elige un destino. Lo mejor es "Download" para tener una copia local en tu ordenador. También puedes guardarlo en el servidor.
  6. Haz clic en "Create Backup". El proceso puede tardar unos minutos, dependiendo del tamaño de tu web.

[TIP] Guarda siempre al menos dos copias de seguridad: una en tu ordenador y otra en un servicio en la nube (Google Drive, Dropbox, etc.). Nunca está de más tener un respaldo extra.


Fase 1: Acceso Seguro y Análisis Inicial

Una vez que tienes tu copia de seguridad a salvo, es hora de ponerse manos a la obra. El objetivo aquí es identificar dónde se esconde el malware.

Accede a tu servidor de forma segura

No uses el navegador para navegar por tu web infectada. En su lugar, accede directamente a los archivos del servidor a través de:

  • File Manager de DirectAdmin: Es la opción más sencilla. Dentro de DirectAdmin, busca la sección "File Manager". Te mostrará la estructura de carpetas de tu cuenta de hosting.
  • FTP/SFTP: Usa un cliente como FileZilla. Es más rápido para transferir archivos grandes. Asegúrate de usar SFTP (puerto 22) en lugar de FTP normal, ya que es más seguro.

Identifica archivos sospechosos

Ahora que estás dentro de la carpeta raíz de tu WordPress (normalmente public_html o www), empieza la búsqueda. No te agobies, no necesitas revisar cada archivo uno por uno. Busca patrones comunes de malware:

  1. Archivos con nombres extraños: Busca archivos como 0x0.php, shell.php, wp-login.php.bak, adminer.php, cgi-bin/, css/ con archivos .php dentro, etc. Los archivos de malware suelen tener nombres que imitan a los legítimos pero con ligeras variaciones.
  2. Archivos con fechas de modificación recientes: Ordena los archivos por fecha de modificación. Si ves un archivo que se modificó hace 5 minutos y no has cambiado nada, es una gran pista.
  3. Archivos PHP en carpetas de imágenes: Una carpeta wp-content/uploads/año/mes/ NUNCA debería contener archivos .php. Si encuentras uno, es casi seguro que es malware.
  4. Código ofuscado: Abre algunos archivos .php sospechosos con un editor de texto (el propio File Manager de DirectAdmin tiene uno). Si ves código que parece una sopa de letras o una línea interminable sin sentido, como eval(base64_decode(...)), es malware ofuscado.

Revisa los archivos principales de WordPress

Los archivos wp-config.php, index.php, .htaccess y wp-settings.php son objetivos comunes para los hackers. Ábrelos y compáralos con una versión limpia (puedes descargar WordPress desde wordpress.org). Busca código extraño al principio o al final, especialmente líneas como eval(gzinflate(base64_decode(...))).

[INFO] El archivo .htaccess es un archivo oculto. En el File Manager de DirectAdmin, asegúrate de tener marcada la opción "Show Hidden Files" (Mostrar archivos ocultos) para poder verlo.


Fase 2: Eliminación del Malware Manual

Esta es la parte más delicada. Vamos a limpiar los archivos infectados. Es un proceso minucioso, pero muy efectivo.

Paso 1: Cambia todas las contraseñas

Antes de limpiar, asegura el acceso. Cambia las contraseñas de:

  • DirectAdmin: El panel de control de tu hosting.
  • Base de datos de WordPress: La contraseña del usuario de la base de datos.
  • Todos los usuarios administradores de WordPress: Desde la base de datos o usando un plugin de seguridad en una instalación limpia (más adelante).

Paso 2: Limpia el archivo .htaccess

El .htaccess es un archivo de configuración que los hackers usan para redirigir el tráfico. Es muy común que esté infectado.

  1. En el File Manager, localiza el archivo .htaccess en la raíz de tu web.

  2. Descarga una copia a tu ordenador por si acaso.

  3. Ábrelo con el editor de texto.

  4. Busca cualquier línea que no reconozcas. Las reglas legítimas de WordPress suelen empezar con # BEGIN WordPress y # END WordPress. Cualquier cosa fuera de eso, especialmente reglas RewriteRule que redirijan a otros dominios, es sospechosa.

  5. Borra todo el contenido y pégalo de nuevo con el código limpio de un .htaccess de WordPress estándar:

    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    # END WordPress
    

Paso 3: Limpia los archivos principales (wp-config.php, index.php, etc.)

  1. Abre wp-config.php. Busca cualquier línea que no sea la configuración estándar (definiciones de base de datos, claves de seguridad, prefijo de tabla). Si ves código ofuscado o funciones extrañas, borra solo esa línea. Si todo el archivo parece extraño, descarga una copia limpia desde wordpress.org y sustitúyelo, pero no olvides copiar tus claves de seguridad y la configuración de la base de datos del archivo original.
  2. Repite el proceso con index.php y cualquier otro archivo en la raíz que parezca infectado. Lo más seguro es sustituirlos por versiones limpias.

Paso 4: Elimina archivos maliciosos en wp-content

La carpeta wp-content es el refugio favorito del malware.

  • wp-content/uploads/: Revisa cada subcarpeta. Si encuentras algún archivo .php, bórralo inmediatamente. No necesitas ningún PHP aquí.
  • wp-content/themes/: Revisa los archivos de tu tema activo. Los hackers suelen inyectar código en functions.php o header.php. Abre estos archivos y busca código ofuscado. Si tu tema es de un repositorio oficial, la opción más segura es eliminar la carpeta del tema y reinstalarlo desde cero (después de limpiar la web, claro).
  • wp-content/plugins/: Similar a los temas. Revisa los archivos de los plugins activos. Si un plugin está infectado, desactívalo y bórralo. Luego lo reinstalarás desde el repositorio oficial.

[WARNING] Si no estás seguro de si un archivo es legítimo, no lo borres. Ponlo en cuarentena: descárgalo a tu ordenador, cambia su extensión (por ejemplo, de .php a .php.bak) o muévelo a una carpeta temporal. Si tu sitio deja de funcionar, sabrás que ese archivo era importante y podrás restaurarlo.


Fase 3: Limpieza de la Base de Datos

El malware no solo vive en los archivos. También puede esconderse en tu base de datos, inyectando scripts en tus entradas, páginas o widgets.

Cómo acceder a la base de datos desde DirectAdmin

  1. En DirectAdmin, busca la sección "MySQL Management" o "Databases".
  2. Verás una lista de tus bases de datos. Haz clic en el icono de "phpMyAdmin" al lado de la base de datos de tu WordPress.
  3. Se abrirá phpMyAdmin. En el menú de la izquierda, selecciona el nombre de tu base de datos.

Buscar y eliminar código malicioso en las tablas

Las tablas más comunes donde se esconde el malware son wp_posts, wp_postmeta y wp_options.

  1. Haz clic en la tabla wp_posts.
  2. Ve a la pestaña "Search" (Buscar).
  3. En el campo "Search for" (Buscar), escribe palabras clave comunes como eval(, base64_decode, gzinflate, <script>, <iframe>, o http:// (si buscas enlaces sospechosos).
  4. Elige "All columns" (Todas las columnas) y haz clic en "Go".
  5. Revisa los resultados. Si encuentras entradas o páginas que contienen este código, puedes editarlas para eliminar el código malicioso o, si la entrada está completamente comprometida y no la necesitas, borrarla.
  6. Repite el proceso con la tabla wp_options. Busca opciones que tengan nombres extraños o que contengan código ofuscado en su valor.

[TIP] Si no te sientes cómodo editando la base de datos, muchos plugins de seguridad (como Wordfence o Sucuri) tienen un escáner de base de datos que puede ayudarte a identificar y limpiar estas inyecciones.


Fase 4: Refuerza la Seguridad de tu WordPress

Una vez que has limpiado todo, es hora de construir un muro para que no vuelva a pasar.

Actualiza todo

  • WordPress: Ve a Escritorio > Actualizaciones y actualiza a la última versión.
  • Temas y Plugins: Actualiza todos tus temas y plugins a sus versiones más recientes. Borra los que no uses.
  • PHP: En DirectAdmin, busca la sección "PHP Selector" o "PHP Version" y asegúrate de usar una versión de PHP compatible y soportada (PHP 8.0 o superior es lo ideal).

Cambia las claves de seguridad de WordPress

Las claves de seguridad (salts) en tu wp-config.php ayudan a encriptar las cookies y sesiones de los usuarios. Si un hacker las obtuvo, cambiarlas los echará.

  1. Ve a https://api.wordpress.org/secret-key/1.1/salt/.
  2. Copia todo el bloque de código que se genera.
  3. Abre tu wp-config.php y reemplaza las líneas de define('AUTH_KEY', ...) por las nuevas que copiaste.

Instala un plugin de seguridad

Un buen plugin de seguridad es tu mejor aliado para la prevención. Algunos excelentes y gratuitos son:

  • Wordfence Security: Escanea archivos, base de datos, bloquea IPs maliciosas y tiene un firewall.
  • Sucuri Security: Ofrece escaneo, monitoreo de integridad de archivos y acciones de hardening.
  • iThemes Security: Aplica más de 30 medidas de seguridad, como forzar contraseñas fuertes, limitar intentos de inicio de sesión y hacer copias de seguridad de la base de datos.

[WARNING] No instales varios plugins de seguridad a la vez. Pueden entrar en conflicto y ralentizar tu web. Elige uno y configúralo bien.

Medidas de hardening adicionales

  • Cambia el prefijo de la base de datos: Si tu prefijo sigue siendo wp_, es más fácil para los hackers atacar. Puedes cambiarlo con un plugin como "Change wp prefix" o manualmente en la base de datos.
  • Desactiva la edición de archivos desde el panel: Añade esta línea a tu wp-config.php: define('DISALLOW_FILE_EDIT', true);
  • Protege la carpeta wp-admin: Puedes añadir una autenticación adicional (usuario y contraseña) a la carpeta /wp-admin/ desde DirectAdmin (sección "Password Protect Directories").

Preguntas Frecuentes (FAQ) sobre Malware en WordPress

P: ¿Es posible eliminar el malware sin pagar a un experto?
R: Sí, en la mayoría de los casos, siguiendo esta guía paso a paso, puedes limpiar tu web tú mismo. Sin embargo, si el malware es muy persistente o tu sitio es muy complejo, un servicio profesional de limpieza (como Sucuri o SiteGround Security) puede ahorrarte tiempo y dolores de cabeza.

P: ¿Mi hosting me puede ayudar a eliminar el malware?
R: Algunos hosts de calidad ofrecen limpieza gratuita de malware como parte de su servicio. Contacta con el soporte de tu hosting y pregunta. Si usas un hosting barato o no gestionado, probablemente tendrás que hacerlo tú mismo.

**P

¿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