the_open_door
café
ESEN
← Volver al índice

Brute Force

ATT&CKT1110
Arsenal completo de comandos en la cheatsheet

La fuerza bruta consiste en probar muchas combinaciones (de contraseñas, PIN, tokens, rutas) hasta dar con la válida. Es ruidosa y, bien hecha, dirigida: rara vez se prueba "todo el espacio"; casi siempre se parte de una lista de candidatos razonable y de una observación que diga cuándo se acierta.

Sus formas.

El oráculo: saber cuándo se acierta. Lo decisivo no es lanzar peticiones, sino distinguir el éxito del fallo. En web se filtra por código de estado, longitud o redirección (wfuzz --hh/--hc, ffuf -fc/-fs); contra servicios, la herramienta lo gestiona (hydra, netexec). Sin un oráculo claro, la fuerza bruta es ciega.

hydra -L users.txt -P rockyou.txt <ip> ssh
hydra -l <user> -P rockyou.txt <ip> http-post-form '/login:user=^USER^&pass=^PASS^:F=incorrect'
netexec ssh <ip> -u users.txt -p rockyou.txt
medusa -h <ip> -U users.txt -P rockyou.txt -M ssh
wfuzz -u 'http://<host>/login' -d 'user=<user>&pass=FUZZ' -w rockyou.txt --hh=<len>
ffuf -w rockyou.txt -u http://<host>/login -X POST -d 'user=<user>&pass=FUZZ' -fc 401

Online vs offline. Online (contra un servicio en vivo) es lenta y choca con bloqueos y rate limiting. Offline (contra un hash ya capturado, con hashcat/john) es mucho más rápida y no deja rastro en el objetivo: por eso robar el hash y crackearlo suele ser preferible.

Consideraciones de laboratorio vs mundo real. En un CTF no hay bloqueo de cuentas ni alertas; en real, una política de bloqueo, MFA, CAPTCHA o rate limiting pueden parar el ataque en seco o delatar al atacante. Conviene comprobar esas defensas antes de lanzar.

Cómo detectarlo. La fuerza bruta online es de las técnicas más detectables: muchos intentos fallidos en poco tiempo desde un mismo origen contra una cuenta o un endpoint. Cada servicio deja su rastro: SSH, ráfagas de Failed password en /var/log/auth.log; Windows, una avalancha de Event ID 4625 (y 4771/4776 en el DC); web, un pico de 401/403 o de POST al login con la misma longitud de respuesta. La contramedida de detección clásica es un contador de fallos por IP/cuenta (fail2ban, reglas SIEM). Ojo al acierto tardío: un 4624/200 correcto tras la ráfaga marca la cuenta comprometida. La variante offline (contra un hash robado) es indetectable en la víctima: ahí la señal es el robo previo del hash (ver crackeo de hashes).

Defensa. Contraseñas largas y únicas; MFA; bloqueo progresivo y rate limiting; CAPTCHA en formularios sensibles; respuestas uniformes para no servir de oráculo; almacenar hashes con algoritmos lentos (bcrypt, argon2). Relacionado con enumeración de usuarios y, en dominios, con Kerberoasting.

HerramientashydraMedusa

Máquinas donde se aplica

  • AuthByProving Grounds Practice
  • PeppoProving Grounds Practice
  • PostfishProving Grounds Practice
  • WallaProving Grounds Practice