Evaluación inicial sin contraseñas Presupuesto antes de intervenir Especialista responsable de principio a fin

Malware y seguridad

Por qué el malware de WordPress vuelve después de limpiarlo

La reinfección significa que se quitó el efecto pero no la persistencia ni la vía de entrada. Los cinco sitios donde sobrevive y cómo comprobar cada uno.

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

  1. 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.
  2. Una credencial válida aún en manos del atacante. Rota contraseñas de WordPress, base de datos, SFTP y hosting e invalida sesiones.
  3. Un componente vulnerable nunca actualizado. Compara las versiones instaladas con vulnerabilidades conocidas y actualiza o sustituye.
  4. Una tarea de cron que reescribe archivos. Inspecciona wp cron event list por hooks desconocidos.
  5. 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.

WP RepairModelo de diagnóstico
1Disparador2Carga3Persistencia4Vía de entrada
Sigue la cadena hasta encontrar el primer punto que deja de comportarse como debería.
01

Compara hashes y fechas de archivos entre estado limpio y retorno.

02

Audita cron, mu-plugins, directorios escribibles, usuarios y opciones por persistencia.

03

Rota credenciales WordPress, base, SFTP, hosting y API e invalida sesiones.

04

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.

ANTES DE ENVIAR LA SOLICITUD

Preguntas frecuentes.

¿Pedís contraseñas en el formulario?+

No. El formulario público nunca solicita accesos. Los datos seguros se piden únicamente después de aprobar el alcance y el presupuesto.

¿Quién revisa la incidencia?+

La solicitud llega a Jordi Ensenyat, fundador de Code Barcelona y especialista WordPress con más de 15 años de experiencia.

¿Se cambia algo antes del presupuesto?+

No. Primero se revisan los síntomas visibles y se define el alcance. La intervención empieza tras la aprobación y con una vía de vuelta preparada.

¿Trabajáis con webs en inglés y fuera de España?+

Sí. WP Repair atiende incidencias WordPress y WooCommerce en inglés y español, con servicio remoto.

Evaluar mi incidencia