El uso de crunch es simple:
crunch minimo maximo caracteres
Mininimo será número mínimo de caracteres que tendrán las palabras del diccionario y maximo lo mismo pero máximo. Caracteres serán la combinación de caracteres que usará para «fabricar» todo el diccionaro. Por ejemplo, si quisiesemos que solamente utilizará numeros en las combinaciones y como minimo y maximo 2 digitos:
crunch 2 2 0123456789
Los parámetros que se van a utilizar en este ejemplo son los siguientes:
-l LOGIN / -L FILE: Establecer el nombre del usuario que se va a utilizar o una
lista de nombres a probar.
-p PASS / -P FILE: Contraseña a usar o lista de las mismas (diccionario) que se
van a probar.
-f/-F: Terminar la ejecución de programa cuando se encuentre un par usuario/
contraseña válido.
-s PORT: Especificar el Puerto si éste es distinto al Puerto por defecto.
-v / -V / -d: Activar el modo debug (depuración) para obtener más información
sobre la ejecución de la herramienta.
De esta forma con nmap podemos comprobar si la maquina objetivo tiene el servicio ssh abierto:
nmap –Pn 127.0.0.1
Generamos el diccionario con todas las combinaciones posibles que nos interesan:
crunch 3 3 0123456789 > pass.txt
Y realizamos el intento de login con hydra utilizando todos las palabras que nos generó crunch y con el usuario ‘root’:
hydra 127.0.0.1 ssh -s 22 -l root -P pass.txt -f -vV
Podemos utilizar tambien un diccionario con nombres de usuario (si no lo conocemos). Utilizamos el parametro -L con hydra para indicarle que utilice ese fichero para la prueba de user/pass.
hydra 127.0.0.1 ssh -s 22 -L users -P worstpasswords.txt -f -vV
Una pequeña aportación más a modo de apunte.
Espero que os ayude.
muchisimas gracias por tu ayuda compañero