Crunch es un generador de diccionarios para ataques de fuerza bruta, puedes especificar un conjunto de caracteres entre números, símbolos, letras mayúsculas y minúsculas, con esto obtendrás una lista de varias palabras para que puedas utilizarla en la recuperación de una contraseña.
Te diré detalladamente como utilizar cada parámetro de la herramienta, lo primero que harás es descargarlo, si estas utilizado algún sistema operativo enfocado al pentesting, puedes revisar si ya tienes Crunch instalado, por ejemplo, en este artículo yo utilizaré Parrot OS, así que en este caso no será necesario descargarlo; pero si no lo tienes preinstalado, te compartiré el enlace para que puedas obtenerlo.
Llegamos al momento más interesante del artículo, para abrir la herramienta hazlo como usuario root y coloca lo siguiente en tu terminal: crunch, después da el enter.
Te mostraré algunas capturas pantalla de lo que realiza cada parámetro del script, con esto podrás crear tus mejores diccionarios, comencemos con la primera sintaxis.
crunch <longitud mínima> <longitud máxima> [juego de caracteres]
El primer parámetro es la longitud mínima con el que iniciará los caracteres y la segunda se refiere a la cantidad máxima de caracteres que contendrán las claves, después de especificar la longitud, toca asignar el conjunto de caracteres que deseemos generar, en caso de omitir esto la herramienta creará una lista de palabras con el abecedario, te daré el primer ejemplo: crunch 2 4
Ahora lo haremos especificando algunos caracteres: crunch 4 4 a3?@, con esto solo hará todas las combinaciones posibles que contengan algunos de los caracteres mencionados con una longitud de 4 caracteres, sí deseas detener el proceso solo presiona ctrl + c.
-b: tamaño máximo para escribir en el diccionario.
-c: indica la cantidad de líneas que contendrá el archivo, solo funciona si se usa “-o START”
-d: evita la cantidad de caracteres duplicados.
-e: interrumpe la creación de las claves en un determinado string.
-f: ruta a un archivo que contiene una lista de juegos de caracteres, por ejemplo: charset.lst
-i: invierte la salida del archivo por lo que el primer carácter cambiará.
-l: interpreta los caracteres literales para usarlo en -t @,%^.
-o: especifica el archivo donde se guardarán las claves, por ejemplo: pass.txt
-p: imprime permutaciones sin repetir caracteres. Esta opción NO PUEDE usarse con -s. También ignora las longitudes mínima y máxima.
-q: Como la opción -p, excepto que lee las cadenas del archivo especificado. NO PUEDE usarse con -s. También ignora las longitudes mínimas y máximas.
-r: reanudar una sesión anterior. Debe utilizar la misma línea de comando que la sesión anterior.
-s: le permite especificar la cadena de inicio.
-t: especifica un patrón, donde solo las @ cambiarán por letras minúsculas, las (“,” comas) cambiarán por letras mayúsculas, los % cambiarán por números y los ^ lo harán cambiar por símbolos.
-z: Comprime la salida generada, debe usarse con la opción -o. Solo admite gzip, bzip, lzma y 7z.
@: Especifica letras en minúscula.
,: Especifica letras en mayúscula.
%: Especifica caracteres numéricos.
^: Especifica el uso de caracteres especiales.
Aquí le estamos indicando a crunch que haga una combinación de los caracteres amidn e inicie con la combinación admin con una longitud de 5 caracteres.
La diferencia de este ejemplo a la anterior es que esta tiene una especificación de que solo contenga 50 líneas.
En caso de que necesites crear permutaciones, puedes optar por esta funcionalidad, ten en cuenta que no podrás indicar el conjunto de caracteres inicial “-s”.
En esta ocasión le estamos indicando a crunch que genere una lista de palabras iniciando con el abecedario y finalizando con un número.
Ahora supongamos la situación de que necesitamos ocupar algunos de los caracteres especiales del script, para esa tarea necesitaremos permitir la interpretación literal de @,% ^ con “-l”.
Para usarlo correctamente asegúrate de saber en qué posición se encuentra dicha literal, en este ejemplo se ubica en el último caracter, así que solo reemplázalo por algún otro caracter, como referencia yo he utilizado la “x”, pero tú puedes utilizar cualquier otra letra.
Para evitar la repetición de caracteres, utiliza la opción -d y especifica la cantidad de veces que se pueden repetir los caracteres.
Hasta ahora ya hemos visto varios ejemplos, pero todavía no estamos guardando las claves, para esto indica el nombre que tendrá el archivo donde se almacenaran todas las contraseñas generadas, coloca el comando “ls” para verificar que el archivo este creado.
Si te topas con la creación de un cuestionario con un tamaño enorme, lo que puedes hacer es dividirlos en tamaños más pequeños, en este ejemplo me ha generado 4 archivos divididos en 5kb de peso.
En lo personal esta opción no le encuentro una gran necesidad de uso, lo que hace es detener el proceso del script una vez que cree una cadena específica, pero te doy este ejemplo por si te es de utilidad.
Antes de terminar, te daré esta referencia, si quieres invertir el orden de la generación de las claves del diccionario, utiliza “-i”.
Por último, si quieres comprimir los diccionarios ingresa -z y la extensión del archivo comprimido, como nota importante es que esta necesita ir acompañado de -o.
Para ver todos los diccionarios que se han creado, dirígete al directorio donde se ha llamado al script, en mi caso fue en home/elcursodelhacker/crunch, si nunca utilizaste la opción -o no encontraras nada; espero te haya sido útil el artículo, próximamente hablaré de otras herramientas similares.
Sígueme en mi cuenta de Arthii, encontrarás más publicaciones gratis, también estaré compartiendo más contenido.