Respuesta breve: el malware vuelve cuando una limpieza quitó el síntoma pero dejó el mecanismo de persistencia o la vía de entrada. También puede llegar de nuevo desde otra web infectada en la misma cuenta de hosting.
Los cinco supervivientes habituales — y cómo comprobar cada uno
- Una puerta trasera en un sitio distinto del archivo detectado. Ejecuta
grep -RIlE 'eval\s*\(|base64_decode\s*\(|gzinflate\s*\(|str_rot13\s*\(|assert\s*\(|create_function\s*\(' wp-content/por toda la instalación, uploads incluidos. - Una credencial válida aún en manos del atacante. Rota contraseñas de WordPress, base de datos, SFTP y hosting e invalida sesiones.
- Un componente vulnerable nunca actualizado. Compara las versiones instaladas con vulnerabilidades conocidas y actualiza o sustituye.
- Una tarea de cron que reescribe archivos. Inspecciona
wp cron event listpor hooks desconocidos. - Contaminación cruzada desde otra instalación de la cuenta. Escanea todas las webs del mismo usuario de hosting.
Distingue caché de reinfección real
Una página cacheada puede seguir sirviendo una respuesta maliciosa antigua sin infección nueva. Antes de concluir que volvió, registra hashes y fechas de modificación: archivos nuevos o modificados recientemente indican reinfección real; archivos idénticos tras una caché obsoleta indican un problema de caché. Vacía todas las capas de caché y vuelve a comprobar.
Qué incluye una limpieza completa
Comparación con fuentes limpias de núcleo/plugin/tema, revisión de archivos no estándar en directorios con escritura, auditoría de base de datos (opciones, entradas, usuarios, cron), revisión de la configuración del servidor, rotación de credenciales y comprobaciones en webs vecinas. La pregunta más útil no es “¿está limpio?” sino “¿cuál fue la vía de entrada, qué persistencia se eliminó y qué se vigilará?”.
Vigila después
Controla la integridad de archivos, las cuentas de usuario y los resultados de búsqueda al menos unas semanas. La reinfección suele volver de forma discreta, y cuanto antes se detecte más pequeña será la segunda limpieza.
CRITERIO DE INCIDENTE WP REPAIR
Cómo acotar el fallo sin adivinar
La reinfección significa que sobrevivió la persistencia, sigue abierta la entrada, quedan credenciales expuestas o una web vecina reintroduce la carga.
Compara hashes y fechas de archivos entre estado limpio y retorno.
Audita cron, mu-plugins, directorios escribibles, usuarios y opciones por persistencia.
Rota credenciales WordPress, base, SFTP, hosting y API e invalida sesiones.
Escanea todas las webs y tareas del mismo usuario de hosting.
Qué debe quedar verificado
- La integridad permanece estable tras vaciar cachés y ejecutar ciclos cron.
- No reaparecen usuarios, tareas ni PHP desconocido en directorios escribibles.
- El componente vulnerable se parchea, sustituye o elimina.
Fuentes técnicas oficiales
Continúa el diagnóstico
Esta guía explica el diagnóstico. Si la web está afectada ahora, la intervención debe preservar una vía de vuelta y verificar el recorrido real del negocio.
Ver el servicio de reparación urgente →