CASOS REALES

Caso real: una infección de WordPress que añadía propietarios en Search Console

Jordi Garcia7 de septiembre de 20264 min de lectura
Ilustración de seguridad de WordPress representando una infección persistente y accesos no autorizados

Una web WordPress aparentemente limpia puede seguir comprometida si queda algún mecanismo de persistencia oculto. Este caso real, anonimizado, es un buen ejemplo: después de una primera limpieza, Google Search Console volvió a avisar de que se habían añadido propietarios desconocidos a la propiedad del sitio.

La web funcionaba con normalidad y no mostraba señales evidentes para los visitantes. Sin embargo, alguien seguía teniendo capacidad para demostrar ante Google que controlaba el dominio.

El primer indicio: cambios sospechosos en WordPress

La intervención comenzó después de detectar código malicioso dentro de la instalación de WordPress y actividad que no correspondía con el funcionamiento habitual de la web.

Como primera medida se realizó una revisión general de la instalación, se eliminaron archivos y código sospechosos, se actualizaron WordPress y sus extensiones y se cambiaron las credenciales principales.

También se regeneraron las claves de seguridad de WordPress y se revisó la integridad de los archivos del núcleo para comprobar que no hubieran sido modificados.

Tras estas actuaciones, los análisis de seguridad dejaron de detectar malware conocido.

Parecía que el problema estaba resuelto.

El problema reaparece en Google Search Console

Poco después llegó una nueva alerta: se habían añadido propietarios desconocidos en Google Search Console.

Esto era especialmente relevante porque la propiedad de Search Console permite realizar acciones relacionadas con la presencia del dominio en Google y consultar información que no debería estar disponible para terceros.

La primera hipótesis fue que el atacante estuviera utilizando archivos HTML de verificación colocados en la raíz de la web.

No era el caso.

No aparecían nuevos archivos de verificación, por lo que había que buscar otro mecanismo.

La persistencia estaba escondida dentro de WordPress

Durante la revisión de archivos modificados recientemente apareció un fichero PHP anómalo en una zona de WordPress que normalmente contiene archivos relacionados con traducciones.

Ese archivo no formaba parte del funcionamiento normal del sitio.

Su función permitía insertar contenido dentro de las páginas generadas por WordPress. Entre otras cosas, podía introducir la etiqueta HTML utilizada por Google para verificar la propiedad de un dominio.

Esto explicaba por qué podían aparecer nuevos propietarios en Search Console sin que existiera ningún archivo de verificación visible en la raíz.

El atacante había dejado un mecanismo de persistencia capaz de modificar dinámicamente el código HTML de la web.

El origen más probable

Durante la investigación también se localizó un plugin de gestión de archivos que no era necesario para el funcionamiento habitual del sitio.

Este tipo de plugins permite manipular archivos desde el propio panel de WordPress y, si una vulnerabilidad o una cuenta comprometida permite abusar de ellos, pueden convertirse en un punto de entrada especialmente peligroso.

En este caso se consideró el principal sospechoso y se eliminó completamente de la instalación.

No siempre es posible determinar con certeza absoluta cuál fue el punto inicial de entrada, especialmente si no existen registros completos del momento de la intrusión. Por eso conviene diferenciar entre el malware localizado y el posible vector de acceso.

Medidas aplicadas

La recuperación no consistió únicamente en borrar el archivo malicioso.

Se realizaron varias acciones para reducir la posibilidad de que el atacante conservara algún acceso:

  • eliminación del código y archivos identificados como maliciosos;
  • eliminación del plugin sospechoso;
  • actualización del núcleo de WordPress, plugins y temas;
  • cambio de contraseñas de acceso, FTP y base de datos;
  • regeneración de las claves de seguridad de WordPress;
  • revisión de usuarios administradores;
  • comprobación de integridad de los archivos del núcleo;
  • nuevos análisis antimalware;
  • revisión de los métodos de verificación de Google Search Console.

También se eliminaron los propietarios no reconocidos y se continuó vigilando la instalación después de la limpieza.

Por qué borrar el malware no siempre es suficiente

Una infección de WordPress puede tener varias capas.

El archivo que muestra spam, redirige visitantes o modifica una página puede ser solo la parte visible. El atacante puede haber dejado además usuarios ocultos, tareas programadas, archivos PHP en directorios inesperados o mecanismos para volver a ejecutar código.

Por eso una web que vuelve a infectarse después de una limpieza no necesariamente ha sufrido un nuevo ataque. Puede significar que la primera limpieza eliminó el síntoma, pero no todos los mecanismos de persistencia.

Qué aprendimos de este caso

La señal definitiva no vino de un antivirus, sino de un servicio externo: Google Search Console.

Este tipo de avisos pueden ser muy útiles porque permiten detectar actividad que no siempre produce cambios visibles en la propia web.

También confirma la importancia de revisar los archivos modificados recientemente y no limitar la investigación a los directorios donde normalmente esperamos encontrar malware.

Una instalación WordPress comprometida debe analizarse como un conjunto: archivos, usuarios, plugins, credenciales, base de datos, registros y servicios externos relacionados con el dominio.

Si has detectado propietarios desconocidos en Search Console, archivos PHP que no reconoces o una web que vuelve a infectarse después de limpiarla, conviene revisar la instalación completa antes de dar el incidente por cerrado. Podemos ayudarte a valorar el alcance del problema y determinar qué pasos son necesarios para recuperar la web.

Escrito por Jordi Garcia

Desarrollador web especializado en WordPress con más de veinte años de experiencia en desarrollo, hosting y servidores. Atención directa, sin intermediarios.

¿Reconoces alguna de estas señales en tu web?

Solicita una valoración de tu WordPress hackeado antes de seguir modificando archivos.

Ver servicio para WordPress hackeado