Un administrador desconocido es una señal evidente, pero un atacante también puede conservar acceso API mediante una contraseña de aplicación vinculada a un usuario legítimo. Eliminar una cuenta no revoca las sesiones o credenciales externas de las demás.
Construye un inventario de acceso verificado antes de rotarlo todo.
Establece la lista de propietarios legítimos
Pide al negocio que identifique al personal, desarrolladores, agencias e integraciones actuales. Registra el rol previsto y el último uso esperado de cada cuenta.
Compara la lista con usuarios, roles y fechas de alta mediante el panel y un método autorizado independiente, como WP-CLI o una revisión de solo lectura de la base.
El código malicioso puede ocultar usuarios del panel, por lo que su recuento visual no es suficiente.
Revisa las capacidades de los roles
Inspecciona usuarios con capacidades de administrador o equivalentes, incluidos los roles personalizados. Busca en sus metadatos cambios inesperados.
No confíes solo en la etiqueta mostrada. Un rol modificado puede permitir instalar plugins, gestionar usuarios o editar código bajo un nombre aparentemente inocuo.
Exporta la configuración de roles antes de restaurar valores conocidos; plugins de membresía o ecommerce pueden definir capacidades personalizadas legítimas.
Audita las contraseñas de aplicación
Las contraseñas de aplicación de WordPress permiten autenticación API sin revelar la principal. Revisa nombre, creación y último uso de cada una cuando estén disponibles.
Revoca entradas desconocidas u obsoletas. Para una integración legítima, crea una credencial nueva con un nombre que indique su finalidad después de limpiar la web y guárdala de forma segura.
Nunca pidas que te envíen una contraseña de aplicación por email o formulario.
Termina las sesiones de forma deliberada
Genera salts nuevos tras conservar las evidencias para invalidar las cookies de inicio existentes. Restablece las contraseñas de administradores afectados desde dispositivos limpios.
Usa cuentas individuales y no un administrador compartido. Elimina usuarios abandonados tras reasignar su contenido legítimo a un propietario verificado.
Coordina las cuentas de servicio para que publicaciones programadas o integraciones no fallen en silencio.
Comprueba cómo se creó el acceso
Revisa logs de auditoría, peticiones web, aprovisionamiento SSO, endpoints de plugins, acceso a la base y sesiones del hosting alrededor de la creación del usuario o credencial.
Busca en código en cuarentena y cron funciones que creen usuarios o cambien capacidades. Examina plugins vulnerables que expusieran acciones de gestión de cuentas.
La cuenta de correo usada para restablecer contraseñas también puede estar comprometida: asegura sus sesiones, reenvíos y métodos de recuperación.
Valida la propiedad del correo administrativo
Confirma el email de cada cuenta privilegiada con un contacto empresarial independiente, no escribiendo a la dirección almacenada en la base posiblemente alterada. El atacante puede haber cambiado el correo de un usuario legítimo manteniendo su nombre visible.
Revisa avisos recientes de restablecimiento y cambio de email en el buzón del sitio. Restaura la dirección verificada y envía un reset controlado solo después de revocar sesiones y contraseñas de aplicación.
Comprueba que los logs SMTP no expongan enlaces de restablecimiento ni los reenvíen a destinatarios desconocidos.
Revisa la actividad API y XML-RPC
Busca autenticaciones REST API o XML-RPC inusuales asociadas al usuario. No desactives las API completas sin comprobar aplicaciones móviles, herramientas de publicación o integraciones WooCommerce.
Restringe el acceso mediante controles admitidos y privilegio mínimo. Las contraseñas de aplicación heredan los permisos del usuario: una cuenta de integración dedicada y limitada es más segura que vincularlas al administrador propietario.
Verifica después de la revocación
Monitoriza creación de usuarios, cambios de rol, inicios y uso de contraseñas de aplicación más allá del periodo del incidente. Ejecuta la sincronización SSO o de integraciones normal y confirma que no recrea el acceso retirado.
Prueba el inicio, restablecimiento y flujos de publicación o API requeridos con cuentas verificadas. Documenta propietario y fecha de revisión de cada acceso, y repite la auditoría tras el siguiente despliegue.
Cuándo se necesita recuperación urgente
Solicita ayuda si hay usuarios ocultos, los administradores reaparecen o no se explica la actividad de las contraseñas de aplicación. Envía horas e ID censurados, nunca credenciales.
Una limpieza completa revoca sesiones y tokens, atribuye su creación y elimina el código o la ruta de cuenta que los concedió.