Usuarios administrador fantasma: el riesgo silencioso en tu WordPress
Cuando analizo un sitio WordPress comprometido, una de las primeras cosas que busco son cuentas de administrador que no reconozco. En mi experiencia, los hackers crean estas cuentas fantasma como punto de entrada persistente, permitiéndoles volver cuando quieran sin necesidad de explotar nuevas vulnerabilidades. Es un método que he visto una y otra vez en ataques dirigidos a tiendas online y blogs de mediana audiencia.
La mayoría de propietarios de WordPress nunca se da cuenta porque estas cuentas suelen tener nombres genéricos como «admin2», «wordpress», «support» o simplemente números. El hacker accede, crea su usuario, y se va. Meses después, tú sigues sin saber que hay una puerta abierta en tu sistema.
¿Por qué los atacantes crean usuarios administrador?
Un usuario administrador fantasma es la garantía del atacante. Con acceso administrativo, puede:
- Instalar backdoors y webshells que funcionan incluso si cierras las puertas iniciales.
- Modificar plugins y temas para inyectar código malicioso de forma silenciosa.
- Crear redirecciones SEO spam que dañan tu reputación en buscadores.
- Inyectar cryptominers que usan recursos de tu servidor sin que lo sepas.
- Robar datos de clientes si tienes una tienda (especialmente peligroso con Magecart).
- Mantener persistencia a largo plazo, volviendo cada vez que necesita.
Es el tipo de acceso que transforma un ataque puntual en una infección crónica.
Vectores de creación de usuarios maliciosos
Los hackers no crean estas cuentas al azar. Lo hacen explotando vulnerabilidades concretas:
1. Plugins vulnerables con funciones de registro abiertas
He visto decenas de plugins antigüos que permiten registro de usuarios sin verificación correcta. Un atacante envía una solicitud POST manipulada y crea un admin sin pasar por la interfaz normal. Plugins de formularios, pasarelas de pago, y constructores de páginas son especialmente propensos a esto.
2. Inyección SQL
Si tu base de datos es vulnerable a SQL injection, el hacker puede insertar directamente filas en la tabla wp_users con privilegios de administrador. Lo he visto en tiendas PrestaShop y WordPress con plugins de filtrado deficientes.
3. Acceso directo al archivo wp-config.php
Si el atacante obtiene acceso vía FTP o exploit de lectura de archivos, puede usar WP-CLI remotamente para crear usuarios. Algunos webshells ya incluyen scripts que hacen exactamente esto.
4. Brute force sobre wp-login.php
Si tu sitio no tiene protección contra intentos de login, un hacker puede crear una cuenta de administrador con fuerza bruta. No es lo más sigiloso, pero funciona en sitios sin WAF.
5. Explotación de vulnerabilidades zero-day
Ocasionalmente aparecen CVEs en WordPress core o plugins populares que permiten escalada de privilegios sin autenticación previa. En esos casos, la creación de admin es automática.
Cómo detectar cuentas fantasma en WordPress
Ahora viene lo práctico. Te muestro exactamente cómo encontrar estas cuentas:
Opción 1: Panel de administración de WordPress
Accede a Usuarios > Todos los usuarios. Busca:
- Cuentas con rol de administrador que no creaste tú.
- Nombres sospechosos o genéricos (admin2, test, soporte, wordpress, etc.).
- Fecha de alta reciente que no coincida con tus cambios reales.
- Usuarios con email desconocido, especialmente dominios gratuitos (gmail, yahoo, etc.).
- Cuentas que nunca han publicado nada pero tienen acceso total.
Haz clic en cada usuario sospechoso y verifica su perfil completo. Los hackers suelen dejar pocos datos, así que un admin «vacío» es una bandera roja.
Opción 2: Acceso directo a la base de datos (phpMyAdmin)
Si prefieres un análisis más profundo, conéctate a phpMyAdmin y ejecuta esta consulta SQL:
SELECT user_login, user_email, user_registered FROM wp_users WHERE (user_login LIKE ‘%admin%’ OR user_login LIKE ‘%test%’ OR user_login LIKE ‘%support%’ OR user_login LIKE ‘%wordpress%’) AND user_registered > DATE_SUB(NOW(), INTERVAL 6 MONTH);
Esta búsqueda te muestra usuarios con nombres típicamente maliciosos registrados en los últimos 6 meses. Luego verifica cada uno manualmente en la tabla wp_usermeta para confirmar que tienen rol de administrador.
Opción 3: WP-CLI (línea de comandos)
Si tienes acceso SSH a tu servidor, usa WP-CLI:
wp user list –field=ID,user_login,user_email –role=administrator
Esto lista todos los administradores en segundos. Luego comprueba detalles con:
wp user get [ID] –format=json
Opción 4: Plugins de seguridad especializados
Herramientas como Wordfence o MalCare tienen reportes específicos de usuarios. Wordfence incluso te alertará de creaciones de usuarios en tiempo real si activar su servicio premium. En mi experiencia, Wordfence es especialmente útil porque también registra el IP desde el que se creó cada usuario, lo que te ayuda a identificar patrones de ataque.
Pasos para eliminar cuentas fantasma de forma segura
Una vez identificadas, la eliminación debe ser cuidadosa. Si simplemente borras, podrías perder posts o comentarios asociados:
Paso 1: Anota toda la información
Antes de tocar nada, toma capturas de pantalla de:
- Nombre de usuario y email exactos.
- Fecha de creación.
- IP de registro (si es visible).
- Posts o comentarios asociados.
Esto te servirá para tu auditoría posterior y para denunciar si es necesario.
Paso 2: Revisa qué contenido tiene asociado
Haz clic en el usuario sospechoso. En su perfil, WordPress te muestra cuántos posts y comentarios ha creado. Si es realmente un ghost admin, probablemente sea cero. Pero verifica para estar seguro.
Paso 3: Reasigna contenido (si es necesario)
Si el usuario tiene posts o comentarios, WordPress te permite reasignarlos a otro usuario durante la eliminación. Elige un administrador real tuyo.
Paso 4: Elimina la cuenta
En el panel, ve a Usuarios > Todos los usuarios, marca el usuario sospechoso, selecciona «Borrar» en el menú desplegable de acciones en bloque, y aplica.
Si usas WP-CLI, es más directo:
wp user delete [ID] –reassign=[ID_admin_real]
Paso 5: Verifica en la base de datos
Para estar 100% seguro, consulta de nuevo phpMyAdmin:
SELECT COUNT(*) FROM wp_users WHERE user_login = ‘[nombre_usuario]’;
El resultado debe ser 0.
Cómo evitar que vuelvan a crear usuarios fantasma
La detección es importante, pero la prevención es más. Aquí están las medidas que recomiendo siempre:
1. Limita la creación de usuarios
En Ajustes > General, desactiva «Cualquiera puede registrarse» a menos que lo necesites específicamente (tiendas con clientes, comunidades, etc.). Si lo necesitas, configura que los nuevos usuarios tengan rol «Suscriptor», nunca administrador.
2. Protege wp-login.php con .htaccess
Añade esto a tu .htaccess para limitar intentos de fuerza bruta:
<Files wp-login.php>
ErrorDocument 429 «Demasiados intentos»
<Limit POST GET>
Order Allow,Deny
Allow from all
</Limit>
</Files>
Mejor aún, usa un plugin como Wordfence o Fail2Ban en servidor.
3. Implementa autenticación de dos factores (2FA)
Obliga a todos los administradores a usar 2FA. Plugins como Google Authenticator o Authy hacen imposible que un atacante acceda aunque tenga contraseña.
4. Mantén WordPress, plugins y temas actualizados
La mayoría de exploits que permiten crear usuarios explotan vulnerabilidades conocidas ya parcheadas. Un sistema desactualizado es una invitación. Configura actualizaciones automáticas o revisa semanalmente.
5. Usa un WAF (Firewall de Aplicación Web)
Servicios como Sucuri WAF o Cloudflare filtran solicitudes maliciosas antes de que lleguen a WordPress, bloqueando inyecciones SQL, RFI, y otros vectores de creación de usuarios.
6. Monitorea logs de acceso
Habilita logging en WordPress (WP_DEBUG_LOG en wp-config.php) y revisa regularmente quién intenta qué. En servidor, revisa los logs de Apache/Nginx en busca de patrones sospechosos.
7. Cambia el prefijo de tablas de WordPress
En wp-config.php, cambia de «wp_» a algo como «wpx2024_». Dificulta ataques por SQL injection dirigidos a tablas específicas. Hazlo antes de instalar, o usa plugins como Brute Force Login Protection.
Caso práctico: Cómo detecté un admin fantasma en 5 minutos
Hace poco, un cliente me contactó porque su sitio estaba siendo lento y veía tráfico extraño en Google Search Console. Accedí al panel, fui a Usuarios, y vi:
- «support_admin» creado hace 3 meses (el cliente no recordaba crearla).
- Email: support.admin@gmail.com (nada a ver con su dominio).
- Rol: Administrador completo.
- Cero posts publicados.
Elimiué la cuenta. Luego revisé plugins recientes y encontré un constructor de páginas desactualizado (CVE-2022-XXXXX) que permitía crear usuarios sin autenticación. Actualicé, instalé Wordfence WAF, y configuré 2FA.
Resultado: tráfico malicioso desapareció en 48 horas, y la velocidad volvió a la normalidad.
Qué hacer si ya tienes cuentas fantasma (auditoría completa)
Si has identificado usuarios sospechosos, no es suficiente eliminarlos. Necesitas una limpieza profunda:
- Cambia todas las contraseñas de administrador y usuarios con acceso.
- Revisa plugins recientes en busca de backdoors o código modificado.
- Ejecuta un escaneo de malware con Wordfence o MalCare.
- Analiza logs para ver cuándo se creó la cuenta y desde qué IP.
- Revisa la tabla wp_usermeta en busca de campos sospechosos o datos de sesión extraños.
- Haz un backup limpio DESPUÉS de eliminar todas las cuentas fantasma.
- Implementa las medidas preventivas que mencioné arriba.
Herramientas y recursos para la detección automatizada
Si prefieres no hacer esto manualmente, aquí están las soluciones que más utilizo:
- Wordfence Security: Escanea usuarios maliciosos, monitorea cambios en tiempo real.
- MalCare: Detección específica de backdoors y usuarios sospechosos.
- Sucuri SiteCheck: Análisis en nube, incluye auditoría de usuarios.
- WP-CLI: Gratuito, requiere acceso SSH pero es muy potente.
En mi experiencia, una combinación de Wordfence + revisión manual mensual es imbatible.
Preguntas frecuentes sobre usuarios fantasma
¿Puedo tener un admin fantasma sin saber cómo entró? Sí, completamente. Los vectores son variados: plugins antigüos, credenciales débiles, o incluso una contraseña compartida con alguien de confianza que luego fue comprometida.
¿Un usuario fantasma puede crear otro usuario? Sí, es una práctica común. El atacante crea múltiples cuentas como redundancia, así si detectas una, todavía tiene acceso a través de otra.
¿Cómo sé si el admin soy yo mismo y he olvidado? Comprueba tus registros de email. WordPress envía un correo cada vez que se crea una cuenta de administrador. Si no está en tu bandeja, no eres tú.
¿Debo avisar a Google Search Console si encontré usuarios fantasma? Sí. Si el atacante usó el sitio para spam SEO, declara el incidente a Google y solicita una revisión manual una vez limpio.
¿Los usuarios fantasma dejan rastro en logs? Sí, pero depende de la configuración. Asegúrate de habilitar logging en wp-config.php: define(‘WP_DEBUG’, true); define(‘WP_DEBUG_LOG’, true);
Lo que recomiendo como próximo paso
Si tienes un WordPress o PrestaShop y nunca has auditado tus usuarios administrador, hazlo hoy. Es la tarea de 5 minutos más importante que puedes hacer por tu seguridad.
Si encuentras algo sospechoso, no improvises. Una eliminación incorrecta puede romper funcionalidades, y un análisis incompleto puede dejar puertas abiertas. Por eso siempre digo: detecta tú mismo para estar alerta, pero consulta a un profesional para la remediación completa.
En ManuelFolgar.com/contacto ofrecemos auditorías de usuarios, detección de backdoors, y hardening completo de WordPress y PrestaShop. Si sospechas que tienes una infección, cuéntanos y hacemos un análisis sin compromiso.