Cómo identificar malware en WordPress: guía 2026

Identifica malware en WordPress: señales de infección, archivos sospechosos, comandos SSH y escáneres. Guía técnica de diagnóstico de Pixelize.

Para identificar malware en WordPress, busca señales como redireccionamientos sospechosos, avisos del navegador, usuarios admin que no creaste y archivos PHP modificados. Confirma con wp core verify-checksums y un escáner como Wordfence antes de eliminar nada.

Un sitio infectado rara vez avisa con claridad. Redirecciona a un visitante aquí, inyecta un enlace de farmacia allá, desaparece de Google un martes. Cuando el dueño lo nota, el daño al SEO y a la reputación ya empezó. Esta guía muestra cómo confirmar la infección con tus propios ojos — no solo instalar un plugin y cruzar los dedos.

¿Qué es el malware en WordPress?

El malware en WordPress es cualquier código malicioso inyectado en tu sitio — en archivos PHP, en la base de datos o en el .htaccess — para redireccionar visitantes, robar datos, enviar spam o mantener acceso oculto al servidor. Suele entrar por plugins y temas desactualizados, contraseñas débiles o hosting vulnerable.

A diferencia de un virus de escritorio, el malware de WordPress vive en tu servidor y afecta a quien visita el sitio. Los tipos más comunes son backdoors (acceso oculto del atacante), redireccionamientos maliciosos, SEO spam (el clásico pharma o japanese hack) y scripts de phishing.

8 señales de que tu WordPress está infectado

Ninguna señal aislada prueba la infección. Varias juntas, sí. Revisa estas:

1. Redireccionamientos a sitios sospechosos

Los visitantes caen en páginas de apuestas, adultas o de farmacia — muchas veces solo en el móvil o solo cuando llegan desde Google, para escapar de tu vista. El origen casi siempre está en .htaccess, wp-config.php o un script inyectado en el tema.

2. Aviso del navegador o blacklist de Google

Mensajes como “Este sitio puede ser peligroso” en Chrome indican que Google ya marcó el dominio. Confírmalo en Search Console → Seguridad y acciones manuales.

3. Usuario admin fantasma

Un administrador que no creaste es señal clásica de un backdoor activo. En el panel, ordena usuarios por fecha de registro. En la base de datos, esta consulta revela cuentas que el panel a veces oculta:

SELECT ID, user_login, user_email, user_registered
FROM wp_users
ORDER BY user_registered DESC;

Un admin con email genérico y fecha igual a la del incidente confirma el compromiso.

4. Caída repentina de ranking y spam en la SERP

Si Google muestra títulos en japonés o términos de farmacia en tus páginas (el japanese/pharma hack), hay SEO spam inyectado. Busca site:tudominio.com y mira qué indexó Google realmente.

5. Lentitud, error 500 o pico de tráfico extraño

El malware consume CPU enviando spam o minando cripto. Un error 500 sin causa aparente y picos de tráfico hacia archivos PHP oscuros son banderas rojas.

6. Archivos y pop-ups que no agregaste

Pop-ups, banners y archivos nuevos en la raíz o en wp-content/uploads (donde PHP nunca debería existir) apuntan a una inyección.

7. Fallo de inicio de sesión inexplicable

No poder entrar a wp-admin puede significar que el atacante cambió las credenciales o corrompió la tabla de usuarios.

8. Correos del host o caída de entregabilidad

Un aviso de “cuenta suspendida por spam” o tus correos cayendo en spam indican que el servidor se volvió origen de envío malicioso.

Cómo confirmar la infección con tus propios ojos

Aquí está lo que la mayoría de las guías omite. Antes de cualquier plugin, un acceso SSH (o la terminal de tu panel de hosting) confirma la infección en minutos.

Haz una copia de seguridad completa antes de ejecutar cualquier comando.

Paso 1 — Verifica la integridad del core

WP-CLI compara tus archivos del núcleo con los oficiales de WordPress.org y lista lo que cambió:

wp core verify-checksums

Cualquier archivo del core reportado como modificado es sospechoso — el núcleo no debería cambiar.

Paso 2 — Caza archivos PHP modificados recientemente

El malware es código nuevo. Lista los archivos PHP cambiados en los últimos 7 días:

find wp-content -name "*.php" -mtime -7 -ls

Cruza con la fecha del incidente. Los archivos PHP dentro de uploads/ son casi siempre maliciosos.

Paso 3 — Busca código ofuscado

Los atacantes esconden el payload en funciones de ofuscación. Un grep recursivo revela la mayoría:

grep -rEn "eval\(|base64_decode|gzinflate|str_rot13" wp-content/ wp-includes/

eval(base64_decode(...)) es la firma de backdoor más común. No todo resultado es malware, pero cada uno merece una lectura manual.

Paso 4 — Inspecciona .htaccess y wp-config.php

Abre ambos. En .htaccess, busca bloques de RewriteRule que manden tráfico a dominios extraños. En wp-config.php, cualquier eval, base64 o include de un archivo desconocido es una inyección.

Paso 5 — Audita los usuarios en la base de datos

Ejecuta el SELECT de la señal 3 y elimina cualquier cuenta no reconocida — pero solo después de confirmar que es fantasma.

Escáneres: server-side vs externo (y el límite de cada uno)

Las herramientas automatizan lo que acabas de hacer a mano. Entiende la diferencia antes de confiar a ciegas:

  • Escáneres server-side (Wordfence, MalCare) corren en el servidor, leen el contenido real de los archivos, comparan con versiones íntegras y detectan inyección en la base de datos. Son los más completos.
  • Escáneres externos (Sucuri SiteCheck, VirusTotal) ven solo lo que ve un visitante — la página pública. Rápidos y sin instalación, pero no ven archivos del servidor ni backdoors inactivos.
  • Google Search Console confirma blacklist y páginas comprometidas desde el punto de vista de Google — gratis y esencial.

Regla práctica: usa uno externo para un triaje rápido y uno server-side para el diagnóstico real. Ninguno es 100%.

El punto ciego de 2026: malware generado por IA

Un cambio reciente alteró el juego. Los atacantes empezaron a usar modelos de lenguaje (LLMs) para generar malware que imita el patrón de código de plugins legítimos. Los escáneres basados en firmas tienden a marcar ese código como limpio, porque se parece a un plugin de verdad.

Lo que esto cambia en la práctica:

  • No confíes solo en la firma. Un escaneo “limpio” no prueba que el sitio esté limpio.
  • Prioriza integridad y comportamiento. verify-checksums, archivos modificados por fecha y tráfico anómalo detectan lo que la firma no ve.
  • Combina señales. La verificación manual de arriba se vuelve aún más valiosa cuando el malware sabe disfrazarse.

Encontré malware. ¿Y ahora?

Si confirmaste la infección, sigue este orden — la prisa aquí empeora el daño:

  1. Copia de seguridad completa de archivos y base de datos (sí, incluso infectada — es tu evidencia y tu red de seguridad).
  2. Aísla el sitio — modo de mantenimiento o fuera de línea para contener el daño al SEO y a los visitantes.
  3. Cambia todas las contraseñas — admin, FTP/SSH, base de datos y panel de hosting.
  4. Elimina el payload — restaura core, plugins y temas desde fuentes oficiales y limpia las inyecciones que encontraste.
  5. Solicita una revisión a Google en Search Console tras limpiar.
  6. Cierra la puerta de entrada — actualiza todo, revisa permisos y endurece el servidor.

Una remoción mal hecha deja un backdoor atrás, y el sitio se reinfecta en días. Si el diagnóstico apuntó a un backdoor, SEO spam persistente o no tienes acceso SSH cómodo, vale la pena traer a un especialista — que es lo que hace Pixelize en su servicio de WordPress Specialist. Y si el síntoma es un error y no una intrusión, la guía de errores comunes de WordPress cubre el diagnóstico.

Preguntas frecuentes

¿Cómo saber si mi sitio WordPress está infectado?

Busca redireccionamientos sospechosos, avisos del navegador, usuarios admin que no creaste, una caída repentina de ranking y archivos PHP modificados. Confirma con el comando wp core verify-checksums y un escáner server-side como Wordfence antes de eliminar nada.

¿Cuál es el mejor escáner de malware para WordPress?

Para un diagnóstico real, usa un escáner server-side como Wordfence o MalCare, que leen los archivos del servidor y la base de datos. Para un triaje rápido sin instalar nada, Sucuri SiteCheck revisa la página pública. Combina ambos — ninguno detecta todo por sí solo.

¿Cómo eliminar el virus de redireccionamiento de WordPress?

Localiza la inyección en .htaccess, wp-config.php o los archivos del tema usando grep por base64_decode y eval. Elimina el código, restaura los archivos oficiales de WordPress, cambia todas las contraseñas y actualiza todo. Si el redireccionamiento vuelve en días, hay un backdoor activo.

¿Qué es un admin fantasma en WordPress?

Es una cuenta de administrador que el atacante creó para mantener el acceso incluso tras una limpieza parcial. Detéctala ejecutando SELECT ID, user_login, user_email, user_registered FROM wp_users ORDER BY user_registered DESC — cuentas con un email genérico y fecha igual a la del incidente confirman el compromiso.

¿Basta un plugin de seguridad para detectar malware?

No por sí solo. En 2026, los atacantes usan IA para generar malware que imita el código de un plugin legítimo y evade los escáneres basados en firmas. Combina el escáner con verificación de integridad (verify-checksums), análisis de archivos modificados por fecha y monitoreo de tráfico anómalo.