Cómo escanear malware en WordPress desde DirectAdmin
¿Tu sitio web en WordPress va lento, muestra errores extraños o redirige a páginas desconocidas?
Estos son síntomas comunes de que tu sitio podría estar infectado con malware. No te preocupes, es un problema más frecuente de lo que crees, y en esta guía te voy a enseñar a escanear malware en WordPress desde DirectAdmin, el panel de control que probablemente uses en tu hosting.
Vamos a hacerlo paso a paso, con un lenguaje claro y sin complicaciones. Al final, tendrás un plan de acción completo para eliminar virus y blindar tu seguridad WordPress.
¿Por qué es importante escanear tu WordPress?
WordPress es el motor de más del 40% de los sitios web en internet. Es increíblemente popular, pero precisamente por eso, es uno de los principales objetivos de los atacantes.
Un malware puede:
- Robar información de tus usuarios (contraseñas, emails, datos bancarios).
- Usar tu servidor para enviar correo basura (spam).
- Incluir tu sitio en listas negras de Google, lo que hará que desaparezca de los resultados de búsqueda.
- Dañar tu reputación y la confianza de tus visitantes.
Detectar y eliminar el problema a tiempo es crucial. Y aunque existen plugins de seguridad, a veces el malware es tan astuto que se oculta en archivos que el plugin no puede ver. Escanear desde el servidor (con DirectAdmin) es la forma más profunda y efectiva de encontrar y limpiar la infección.
Preparación antes de escanear
Antes de lanzar cualquier escaneo, necesitas saber qué estás buscando. El malware no siempre es un archivo con un nombre raro. A veces se esconde dentro de archivos legítimos de WordPress, como index.php, wp-config.php o en funciones del tema.
Signos comunes de infección:
- Archivos con permisos extraños (por ejemplo,
777). - Archivos modificados recientemente que no recuerdas haber tocado.
- Código cifrado o ilegible en archivos de texto.
- Enlaces a sitios externos en el código fuente de tu web.
- Usuarios administradores nuevos que no creaste tú.
[WARNING] Antes de tocar nada, haz una copia de seguridad completa de tu sitio. Esta es la regla de oro. Si algo sale mal, podrás restaurar tu web a un estado anterior. DirectAdmin tiene herramientas de backup, o puedes usar un plugin como UpdraftPlus.
Método 1: Escanear con la Terminal de DirectAdmin (SSH)
Esta es la forma más potente y profesional de escanear malware. No te asustes, no necesitas ser un experto. Solo tienes que copiar y pegar los comandos que te doy.
Acceder a la Terminal
En DirectAdmin, busca la sección "Advanced" o "Advanced Features" y haz clic en "Terminal" o "SSH Access". Si no lo ves, es posible que tu proveedor de hosting deba habilitarlo. Algunos hosts solo ofrecen acceso SSH a través de un cliente externo como PuTTY, pero DirectAdmin suele tener un terminal integrado en el panel.
Paso 1: Navegar a la carpeta de tu sitio
Lo primero es ir al directorio donde está instalado tu WordPress. Normalmente, es algo como domains/tudominio.com/public_html. Escribe este comando y presiona Enter:
cd /home/usuario/domains/tudominio.com/public_html
[TIP] Reemplaza
usuariocon tu nombre de usuario de hosting ytudominio.comcon tu dominio real.
Paso 2: Buscar archivos modificados recientemente
El malware suele modificar archivos existentes. Buscar los archivos que han cambiado en los últimos días es un excelente punto de partida.
find . -type f -mtime -7 -not -path "./wp-content/cache/*"
Este comando lista todos los archivos modificados en los últimos 7 días, excluyendo la carpeta de caché (que se actualiza constantemente y no es un riesgo).
Analiza los resultados: ¿Ves algún archivo en la raíz (como index.php o wp-config.php) que no debería haber cambiado? ¿Hay archivos .php en lugares extraños, como dentro de wp-content/uploads/?
[WARNING] Si encuentras un archivo
.phpenwp-content/uploads/, es una señal de alerta casi segura. Esa carpeta está diseñada solo para imágenes y archivos multimedia, no para código ejecutable.
Paso 3: Buscar código malicioso en los archivos
Este es el paso clave. Vamos a buscar patrones de código que son típicos del malware, como eval (una función que ejecuta código arbitrario) y base64_decode (una función que descifra texto codificado).
grep -r "eval(base64_decode" --include="*.php" .
grep -r "base64_decode" --include="*.php" .
grep -r "shell_exec" --include="*.php" .
grep -r "passthru" --include="*.php" .
Si estos comandos te devuelven resultados, es muy probable que tengas una infección. El código malicioso suele estar ofuscado con estas funciones para que sea difícil de leer.
Paso 4: Revisar los archivos de núcleo de WordPress
WordPress tiene archivos esenciales que nunca deberían modificarse. Puedes comparar tus archivos con los oficiales descargándolos de nuevo.
Primero, descarga una copia limpia de WordPress a tu servidor:
cd /tmp
wget https://wordpress.org/latest.tar.gz
tar -xzf latest.tar.gz
Luego, compara los archivos clave de tu instalación con los oficiales:
diff -r /tmp/wordpress/ /home/usuario/domains/tudominio.com/public_html/wp-admin/
Esto te mostrará las diferencias en la carpeta wp-admin. Haz lo mismo para wp-includes:
diff -r /tmp/wordpress/wp-includes/ /home/usuario/domains/tudominio.com/public_html/wp-includes/
Si hay diferencias, sabrás exactamente qué archivos han sido alterados.
Método 2: Escanear con un Script de Seguridad (LMD)
Este método es más automatizado y no requiere que sepas tanto de comandos. Linux Malware Detect (LMD) es una herramienta gratuita y muy popular que busca y elimina malware de forma automática.
Instalar LMD
- Conéctate a la terminal de DirectAdmin.
- Navega a la carpeta donde quieras instalar la herramienta (por ejemplo,
/home/usuario/). - Ejecuta los siguientes comandos:
cd /home/usuario/
wget http://www.rfxn.com/downloads/maldetect-current.tar.gz
tar -xzf maldetect-current.tar.gz
cd maldetect/
./install.sh
Escanear tu sitio con LMD
Una vez instalado, el escaneo es muy sencillo:
maldet --scan-all /home/usuario/domains/tudominio.com/public_html
Este comando escaneará toda tu carpeta public_html. LMD te mostrará un informe detallado de los archivos infectados que encuentre.
Eliminar el malware con LMD
Si LMD encuentra algo, puedes limpiarlo automáticamente con:
maldet --clean /ruta/al/archivo/infectado
O si prefieres limpiar todo lo que ha encontrado en el último escaneo:
maldet --clean all
[INFO] LMD no siempre es perfecto y puede dar falsos positivos. Revisa siempre los archivos que te sugiere limpiar antes de hacerlo.
Método 3: Escanear con plugins de seguridad (desde el panel de WordPress)
Si no te sientes cómodo con la terminal, hay plugins de seguridad excelentes que pueden hacer el trabajo desde tu escritorio de WordPress. Este método es más visual y fácil de entender.
Plugin recomendado: Wordfence
Wordfence es uno de los plugins de seguridad más completos y populares. Su versión gratuita es muy potente.
- Ve a "Plugins" > "Añadir nuevo" en tu panel de WordPress.
- Busca "Wordfence" e instálalo.
- Actívalo y sigue el asistente de configuración.
Una vez activado, ve a "Wordfence" > "Scan" y haz clic en "Start New Scan". Wordfence analizará el núcleo de WordPress, los temas, los plugins y el código en busca de malware.
Ventajas de Wordfence:
- Es muy fácil de usar.
- Tiene un firewall que bloquea ataques en tiempo real.
- Te da un informe claro y detallado de cualquier problema.
Desventajas:
- Puede consumir muchos recursos del servidor durante el escaneo.
- A veces, el malware puede esconderse del plugin si tiene acceso al servidor.
Plan de acción: Qué hacer si encuentras malware
Encontrar el malware es solo la mitad de la batalla. Ahora tienes que eliminarlo y asegurarte de que no vuelva a aparecer.
Paso 1: Eliminar los archivos infectados
- Si usaste la terminal: Puedes eliminar los archivos manualmente con el comando
rm. Por ejemplo:rm -f /ruta/al/archivo.php. O usa el comandomaldet --cleancomo vimos antes. - Si usaste Wordfence: Wordfence te da la opción de "Repair" (reparar) los archivos del núcleo de WordPress o de "Delete" (eliminar) los archivos maliciosos.
[WARNING] Ten mucho cuidado con lo que eliminas. Si borras un archivo legítimo de tu tema o plugin, tu sitio podría romperse. Siempre es mejor reparar el archivo original o eliminarlo y reinstalar el tema/plugin desde cero.
Paso 2: Cambiar TODAS tus contraseñas
El malware suele entrar por una contraseña débil. Cambia:
- La contraseña de tu administrador de WordPress.
- La contraseña de tu base de datos (en DirectAdmin).
- La contraseña de tu cuenta FTP.
- La contraseña de tu correo electrónico.
Paso 3: Actualizar todo
Asegúrate de que tu WordPress, tus temas y tus plugins estén actualizados a la última versión. Las actualizaciones suelen incluir parches de seguridad para vulnerabilidades conocidas.
Paso 4: Revisar los usuarios de WordPress
Ve a "Usuarios" en tu panel de WordPress y revisa si hay algún usuario que no reconozcas. Si encuentras uno, elimínalo de inmediato.
Paso 5: Endurecer la seguridad de tu servidor
- Cambia la URL de acceso a
wp-admin(puedes usar plugins como WPS Hide Login). - Limita los intentos de inicio de sesión (plugin Limit Login Attempts Reloaded).
- Activa la autenticación de dos factores (2FA) para tu cuenta de administrador.
Preguntas Frecuentes (FAQ)
¿Cada cuánto debo escanear mi WordPress?
Te recomiendo hacer un escaneo manual al menos una vez al mes. Si tu sitio es muy activo o crítico, considera hacerlo semanalmente. También puedes configurar Wordfence para que haga escaneos automáticos.
¿Qué hago si mi sitio es marcado como peligroso por Google?
Google se toma muy en serio la seguridad. Si tu sitio está en la lista negra, sigue los pasos de esta guía para limpiarlo. Luego, ve a Google Search Console, solicita una revisión en la sección de "Problemas de seguridad" y espera a que Google lo apruebe.
¿Puedo usar el Administrador de Archivos de DirectAdmin para buscar malware?
Sí, puedes. Ve a "File Manager" en DirectAdmin, navega a tu carpeta public_html y usa la función de búsqueda para buscar archivos con extensiones como .php. Sin embargo, no te dirá si el código es malicioso, solo te mostrará los archivos. Es útil para buscar archivos modificados recientemente, pero no es un escáner de malware.
¿Qué es mejor, escanear desde DirectAdmin o con un plugin?
Ambos son complementarios. El escaneo desde DirectAdmin es más profundo y puede encontrar malware que se esconde en el servidor. El plugin es más fácil de usar y te da una interfaz visual. La mejor estrategia es usar ambos: un escaneo manual con DirectAdmin una vez al mes y escaneos automáticos con el plugin.
¿Qué pasa si no encuentro malware pero mi sitio sigue fallando?
Si no encuentras malware, el problema puede ser otro: un error de configuración, un conflicto entre plugins, o un problema con tu servidor. Te recomiendo revisar los logs de error de tu servidor en DirectAdmin (sección "Error Logs") para obtener más pistas.
Conclusión: La prevención es la mejor cura
Aprender a escanear malware en WordPress desde DirectAdmin es una habilidad esencial para cualquier propietario de un sitio web. No es tan difícil como parece, y con esta guía, tienes el conocimiento para detectar y eliminar la mayoría de las infecciones.
Recuerda que la seguridad es un proceso continuo, no una acción de una sola vez. Mantén tu WordPress actualizado, usa contraseñas fuertes, haz copias de seguridad periódicas y realiza escaneos regulares. Así, tu sitio web estará mucho más seguro y podrás concentrarte en lo que realmente importa: hacer crecer tu presencia en línea.
[INFO] Si tu hosting utiliza el panel Syspanel (antes conocido como HestiaCP), el acceso se realiza a través del puerto 2106. Los pasos para escanear malware serían muy similares, pero la interfaz del panel puede variar ligeramente. En Syspanel, busca la sección "Terminal" o "SSH" para ejecutar los comandos que te he mostrado.
Con estas herramientas y conocimientos, estás listo para mantener tu sitio limpio y seguro. ¡Buena suerte!
