¿Cómo detectar malware en WordPress? Herramientas y pasos desde cPanel
Imagina que llegas a tu web y ves que el navegador te muestra un aviso de "Sitio engañoso", o peor aún, Google te ha eliminado de los resultados de búsqueda. Esa sensación de impotencia es horrible, pero no estás solo. Detectar malware en WordPress es una habilidad que cualquier administrador puede aprender, y no necesitas ser un hacker para hacerlo.
En esta guía, vamos a recorrer paso a paso cómo identificar si tu WordPress infectado tiene código malicioso, usando las herramientas que tu hosting (especialmente cPanel) ya te ofrece. Veremos desde síntomas evidentes hasta trucos de terminal, y al final te daré un plan de acción para limpiar malware de forma segura.
¿Por qué mi WordPress se infecta? (Síntomas comunes)
Antes de ponernos técnicos, es clave que sepas qué buscar. Un WordPress infectado no siempre se nota a simple vista. Estos son los síntomas más frecuentes:
Señales de alerta en el frontend
- Redirecciones extrañas: Al hacer clic en un enlace, te lleva a páginas de apuestas, farmacias o sitios de spam.
- Pop-ups agresivos: Aparecen ventanas emergentes incluso cuando no haces clic en nada.
- Página en blanco o error 500: El código malicioso rompe la estructura del sitio.
- Velocidad lamentable: El malware consume recursos del servidor, haciendo que tu web cargue muy lento.
Señales en el backend (wp-admin)
- No puedes acceder al panel: Te pide contraseña una y otra vez, o directamente te redirige a otra web.
- Usuarios desconocidos: Aparecen cuentas de administrador que no creaste tú.
- Plugins o temas que se activan solos: El malware se reinstala aunque los borres.
Señales desde el exterior
- Google te marca como "Sitio engañoso": Recibirás una notificación en Search Console.
- Tu correo es bloqueado: El malware envía spam desde tu dominio, y los servidores de correo te ponen en listas negras.
[WARNING] Si notas uno solo de estos síntomas, asume que tu sitio está comprometido hasta que demuestres lo contrario. No esperes a tener más señales.
Paso 1: Accede a tu cPanel y prepara el entorno
cPanel es el panel de control que la mayoría de los hostings comparten. Aquí es donde empezaremos a detectar malware WordPress de forma metódica.
Conecta por FTP o File Manager
- Entra a tu cPanel (normalmente
tudominio.com/cpanel). - Busca la sección Archivos y haz clic en Administrador de archivos.
- Selecciona la carpeta
public_html(owww). Ahí están todos los archivos de tu WordPress.
[TIP] Si tu hosting usa Syspanel (HestiaCP), el acceso es por
tudominio.com:2106. Una vez dentro, el proceso es idéntico.
Haz una copia de seguridad completa
Antes de tocar nada, descarga una copia de todos los archivos y la base de datos. Así, si algo sale mal, puedes restaurar. En cPanel:
- Ve a Archivos > Copias de seguridad.
- Descarga la Copia de seguridad completa (o al menos la carpeta
public_htmly la base de datos).
Paso 2: Escanea con plugins de seguridad (la vía fácil)
Si tienes acceso al panel de administración de WordPress, instalar un plugin de seguridad es el primer paso. Estos plugins son como un antivirus para tu web.
Plugins recomendados para detectar malware
- Wordfence: El más completo. Tiene escáner de archivos, firewall y monitoreo en tiempo real.
- Sucuri Security: Excelente para detectar inyecciones de código y redirecciones.
- MalCare: Especializado en limpieza automática (versión de pago).
Cómo usarlos
- Instala y activa el plugin desde Plugins > Añadir nuevo.
- Ve al panel del plugin y haz clic en Escanear ahora.
- Espera unos minutos (depende del tamaño de tu web).
- Revisa los resultados: te mostrará archivos sospechosos, cambios en el core de WordPress, y usuarios extraños.
[INFO] Si el plugin encuentra malware, NO LO ELIMINES AÚN. Primero identifica qué archivos están infectados para no borrar algo importante por error.
Paso 3: Inspección manual de archivos (desde cPanel)
A veces los plugins fallan o el malware es tan nuevo que no está en sus bases de datos. Entonces toca ensuciarse las manos.
Revisa los archivos del core de WordPress
Los archivos originales de WordPress nunca cambian (a menos que los edites tú). Si ves modificaciones, es señal de infección.
- En el Administrador de archivos, ve a
public_html. - Busca estos archivos y comprueba su tamaño y fecha de modificación:
wp-config.php(debería tener unos 2-3 KB, no más).index.php(suele pesar menos de 1 KB)..htaccess(puede tener muchas líneas, pero si ves redirecciones extrañas, es malware).
- Ábrelos con el editor de texto de cPanel y busca código ofuscado (líneas largas de texto sin sentido, funciones como
base64_decode,eval,gzinflate).
Busca archivos extraños en carpetas inesperadas
El malware suele esconderse en:
wp-content/uploads/: Aquí se suben imágenes, pero a veces los hackers meten archivos PHP.wp-content/themes/: Revisa si hay archivos PHP en temas que no usas.wp-content/plugins/: Similar, busca plugins que no instalaste.
Usa la búsqueda de cPanel: en la parte superior derecha hay un campo de búsqueda. Escribe *.php y filtra por fecha de modificación reciente. Si ves archivos PHP con nombres raros (ej: fghjkl.php, system.php), están infectados.
[WARNING] No borres archivos sin saber qué son. Si dudas, renómbralos añadiendo
.oldal final. Así el sitio dejará de ejecutarlos, pero podrás recuperarlos si eran legítimos.
Paso 4: Revisa la base de datos (desde phpMyAdmin)
El malware no solo vive en archivos. A veces se inyecta directamente en la base de datos, especialmente en la tabla wp_options o en el contenido de posts y páginas.
Accede a phpMyAdmin desde cPanel
- En cPanel, busca la sección Bases de datos y haz clic en phpMyAdmin.
- Selecciona la base de datos de tu WordPress (la que aparece en
wp-config.php). - Haz clic en la pestaña SQL y ejecuta esta consulta para buscar código sospechoso en las entradas:
(Si tu prefijo de tabla no esSELECT * FROM wp_posts WHERE post_content LIKE '%eval(%' OR post_content LIKE '%base64_decode(%' OR post_content LIKE '%<script>%';wp_, cámbialo por el que tengas).
Revisa la tabla wp_options
Busca la fila siteurl y home. Si apuntan a un dominio que no es el tuyo, el malware te está redirigiendo. Cámbialas a tu dominio real.
[TIP] Si no te sientes cómodo con SQL, usa el plugin Better Search Replace para buscar y reemplazar cadenas sospechosas (por ejemplo, un dominio extraño) en toda la base de datos.
Paso 5: Herramientas online para escanear tu dominio
Si no quieres complicarte, existen servicios gratuitos que escanean tu web desde fuera. Son ideales para una segunda opinión.
Las más fiables
- Sucuri SiteCheck: Solo pones tu dominio y te dice si hay malware, redirecciones o listas negras.
- Quttera: Escanea en profundidad archivos y base de datos (versión gratuita limitada).
- VirusTotal: Sube la URL de tu web y la analiza con múltiples antivirus.
Cómo usarlas
- Ve a Sucuri SiteCheck.
- Escribe tu dominio y haz clic en Scan Website.
- Espera unos segundos. Te mostrará alertas de seguridad, scripts maliciosos y si estás en listas negras de Google o Norton.
[INFO] Estas herramientas son complementarias. No confíes al 100% en una sola. Si tres fuentes diferentes dicen que estás limpio, probablemente lo estés.
Paso 6: Elimina el malware (plan de acción)
Una vez que has detectado malware WordPress, toca eliminar virus WordPress de raíz. Sigue este orden:
1. Cambia todas las contraseñas
- Contraseña de cPanel, FTP, base de datos y WordPress.
- Usa contraseñas largas (16+ caracteres) con mayúsculas, números y símbolos.
2. Actualiza todo
- WordPress a la última versión.
- Todos los plugins y temas.
- Elimina plugins y temas que no uses.
3. Reemplaza archivos del core
- Descarga una copia limpia de WordPress desde wordpress.org.
- Sube las carpetas
wp-adminywp-includes(reemplazando las existentes) y el archivowp-config.php(pero conserva el tuyo, solo reemplaza los demás archivos raíz comoindex.php,wp-settings.php, etc.).
4. Limpia la base de datos
- Usa el plugin WP-Optimize para limpiar transients, revisiones y spam.
- Si encontraste código malicioso en
wp_posts, elimina esas entradas o reemplázalas con contenido limpio.
5. Reinstala los plugins desde cero
- Desinstala todos los plugins (no los desactives, bórralos).
- Vuelve a instalar solo los esenciales desde el repositorio oficial.
6. Aplica medidas de seguridad
- Instala un firewall como Cloudflare (gratuito) para bloquear tráfico malicioso.
- Activa la autenticación de dos factores (2FA) en WordPress.
- Limita los intentos de inicio de sesión con un plugin como Limit Login Attempts Reloaded.
[TIP] Después de limpiar, vuelve a escanear con Sucuri SiteCheck y Wordfence para confirmar que todo está bien.
FAQ: Preguntas frecuentes sobre detección de malware
¿Cada cuánto debo escanear mi WordPress?
Al menos una vez al mes. Si tienes un sitio con mucho tráfico o comentarios, hazlo semanalmente.
¿Puedo limpiar malware sin perder contenido?
Sí, si solo reemplazas archivos del core y limpias la base de datos, tu contenido (posts, páginas, imágenes) se conserva. Eso sí, haz copia de seguridad antes.
¿Qué hago si no puedo acceder a wp-admin?
Usa FTP o el Administrador de archivos de cPanel para desactivar todos los plugins (renombrando la carpeta wp-content/plugins a plugins_old). Luego reinstala los plugins uno por uno.
¿El hosting me puede ayudar a limpiar el malware?
Algunos hostings ofrecen limpieza gratuita (como SiteGround o WP Engine). Pregunta a tu soporte técnico. Si usas Syspanel (HestiaCP), el soporte técnico suele ser más limitado, pero puedes pedirles que activen el firewall del panel.
¿Cómo evito futuras infecciones?
- Mantén todo actualizado.
- Usa contraseñas fuertes.
- No instales plugins o temas de fuentes no oficiales.
- Activa un firewall (Cloudflare, Wordfence).
- Limita los permisos de archivos a 644 para archivos y 755 para carpetas.
Conclusión: No entres en pánico, actúa con método
Detectar malware WordPress no es magia negra. Con las herramientas de cPanel, unos plugins de confianza y un poco de paciencia, puedes identificar y limpiar malware de tu sitio. Lo importante es no ignorar los síntomas y actuar rápido.
Recuerda: la prevención es el mejor antivirus. Dedica 30 minutos al mes a revisar tu web, actualiza todo y no descargues cosas sospechosas. Si sigues estos pasos, tu WordPress infectado volverá a estar sano en cuestión de horas.
Y si en el proceso te sientes abrumado, respira hondo. Siempre puedes pedir ayuda a un profesional o a tu hosting. ¡Tu web te lo agradecerá!
