Ir al contenido

Brute Force Attack

ID de alerta: brute_force MITRE ATT&CK: T1110 – Brute Force


NivelCondición
Baja3–5 intentos → Actividad sospechosa inicial
Media6–20 intentos → Ataque activo moderado
Alta21–40 intentos → Ataque persistente significativo
Crítica41+ intentos o login exitoso tras fuerza bruta → Compromiso potencial

  • Intentos de acceso no autorizado a cuentas administrativas.
  • Riesgo de compromiso total del sitio WordPress.
  • Posible robo de credenciales o datos sensibles.
  • Uso del sitio como punto de partida para otros ataques.

!!! danger “Crítico” Un login exitoso después de múltiples intentos fallidos indica una brecha potencial.


  • Umbral inicial: 3 intentos fallidos desde la misma IP.
  • Ventana de agregación: 60 segundos.
  • Cooldown: 5 minutos tras cada alerta.
  • Disparo crítico inmediato si hay login exitoso después de fallos consecutivos.
  • Análisis de patrones:
    • targeted_single_user
    • targeted_multiple_users
    • dictionary_attack

TipoPatrónDescripción
log_patternPOST /wp-login.phpPeticiones masivas al login
log_patternPOST /xmlrpc.php (system.multicall)Ataques XML-RPC
behavior401/403 responsesRespuestas de acceso denegado
behavior>2 requests/secActividad automatizada
file_patternwp_options -> failed_login_attemptsRegistro de intentos fallidos

  • Usuarios que olvidan su contraseña (normalmente <3 intentos).
  • Gestores de contraseñas mal configurados.
  • Plugins de autenticación que reintentan automáticamente.
  • Herramientas de monitorización o uptime checkers con configuraciones erróneas.

  1. Verificar origen de IP: whois [IP] y geoiplookup [IP].
  2. Analizar patrones temporales: determinar si corresponden a actividad humana o automatizada.
  3. Revisar usuarios objetivo: comprobar si el ataque se centra en cuentas administrativas.
  4. Si hubo login exitoso, analizar actividad posterior (cambios de usuarios, permisos, plugins o archivos).

=== “Inmediatas”

!!! danger ""
- Bloquear la IP atacante en el firewall o WAF.
- Forzar cambio de contraseña si hubo login exitoso.
- Revocar sesiones activas del usuario comprometido.
- Activar autenticación en dos pasos (2FA).

=== “Preventivas”

!!! tip ""
- Implementar límite de intentos (Wordfence, Limit Login Attempts).
- Cambiar la URL de acceso a `wp-admin` (WPS Hide Login).
- Añadir CAPTCHA en el formulario de inicio de sesión.
- Deshabilitar XML-RPC si no se usa.
- Configurar fail2ban con una regla específica para WordPress.