Fuerza bruta con Hydra y diccionario

Hace tiempo me vi en el caso de querer ingresar a un router que habían configurado hace mucho tiempo y no recordaban sus credenciales, pero si recordaban que era algo fácil como una serie de números o letras, algo así me dieron como pista :-/

Probe con los datos por defecto admin/ y nada, 1234, qwerty, etc. y nada, pense en resetear de fabrica, pero no podia afectar a los usuarios de la red en ese momento y como ya sabía que la password era débil, entonces no me quedaba más que ponerme bruto 😀

  1. Me baje un diccionario básico, el más básico que encontré fue este 500-worst-passwords.txt  con solo 4KB, me pareció que era muy pequeño, pero el nombre me gusto.
  2. Desenfunde la vieja confiable: THC HYDRA

alt text

Como ya hace tiempo no ocupaba esta herramienta me puse a leer el manual y a probar lo que necesitaba, el router entregaba una ventana de autenticación básica vía http del siguiente tipo:

alt text

Hydra es muy versátil en cuanto al tipo de autenticaciones que soporta, según nos indica su documentación:


_Suported services: adam6500 asterisk cisco cisco-enable cvs ftp ftps http[s]-{head get post} http[s]-{get post}-form http-proxy http-proxy-urlenum icq imap[s] irc ldap2[s] ldap3[-{cram digest}md5][s] mssql mysql nntp oracle-listener oracle-sid pcanywhere pcnfs pop3[s] rdp redis rexec rlogin rpcap rsh rtsp s7-300 sip smb smtp[s] smtp-enum snmp socks5 teamspeak telnet[s] vmauthd vnc xmpp_

En mi caso ya conocía el nombre de usuario admin, ya tenía la mitad del trabajo hecho, sabía que la password era una combinación sencilla y sabía que la autenticación era básica vía http, entonces fui armando el comando a ejecutar:

-l: Indico el login (admin en mi caso)
-P: Indico la ruta del archivo de passwords a utilizar (el diccionario 500-worst-passwords.txt en mi caso)
-e: Realiza algunos chequeos adicionales n= prueba null como password s= prueba el login como password.
-f: Termina la ejecución una vez encuentra la password.
-V: Verbose, muestra los intentos de passwords que va probando por pantalla.

Quedando el comando así:

hydra -l admin -P /Users/miuser/Desktop/500-worst-passwords.txt -e ns -f -V 192.168.1.1 http-get

Probé sin mucha fé y a los segundos ya tenía la clave en mis manos: abc123, jajaja como no haberlo pensado antes.

Un buen sitio donde encontrar muchos diccionarios de todo tipo es este: https://github.com/danielmiessler/SecLists/tree/master/Passwords créditos para el usuario danielmiessler de github que se dio el trabjo de recolectar estos archivos.

Written on July 28, 2017