Creando diccionarios de claves con "Crunch" (Parte 1)

  Un diccionario de claves, o de contraseñas, ("wordlist", en inglés) es un archivo que tiene escritas numerosas contraseñas algunas de las cuales, posiblemente, utilice algún usuario de informática en algún momento.
   Este tipo de diccionarios suele usarse en auditorías de redes que comprueban la seguridad y solidez de sus contraseñas. No obstante, tambien se emplea en los ataques de fuerza bruta a las redes, sobretodo las inalámbricas.
   Crunch es un programa que, basándose en criterios establecidos por el usuario, es capaz de generar estos di]ccionarios para ser usados por el mismo; el resultado de Crunch puede ser visto en pantalla, puede ser guardado en un archivo de texto plano (".txt"), o puede enviarse a otro programa en tiempo real para su uso.

  Esta herramienta es compatible con sistemas Linux, se encuentra actualmente en los principales repositorios de programas de las principales distribuciones, y es parte de distribuciones específicas de seguridad como Kali Linux o Wifislax, por lo que para su instalación simplemente se deberá ejecutar la orden de instalación con el gestor de paquetes adecuado seguido de “crunch”. Por ejemplo, en sistemas de tipo debian, bastará con poner apt-get install crunch (empleando sudo delante si no se está como administrador).
  Una vez instalado, se puede abrir un terminal y escribir el comando crunch para que se muestre un resumen del programa, o bien man crunch para conocer todas sus opciones.
   Puede verse claramente que el comando básico para el empleo de Crunch es crunch <min> <max> [opciones], donde "min" y "max" corresponden a números que determinan la cantidad de caracteres con la que el programa trabajará, mientras que "opciones" constituye los parámetros del programa, que pueden verse en el archivo de ayuda de Crunch (comando man crunch antes mencionado) y cuyo resumen es:
  •  -b número[tipo]: Especifica el tamaño del archivo de destino del diccionario (se debe utilizar junto al parámetro "-o START"). El "tipo" se refiere a medida informática (mb, GB, etc.).
  •   -c número: Especifica el número de líneas de cada diccionario (se debe utilizar junto al parámetro "-o START").
  •   -d númerosímbolo: Limita el número de caracteres duplicados. El número especifica el máximo de veces que se puede duplicar el símbolo determinado.
  •  -e cadena: Especifica cuando esta herramienta debe detenerse, aunque no haya completado la secuencia de contraseñas completa.
  •  -f /ruta de archivo de lista de caracteres nombre de archivo de caracteres: Especifica la lista de caracteres a utilizar de un archivo de caracteres que posee el programa.
  •  -i: Invierte el orden de salida de cada línea del diccionario.
  •  -l: Muestra al programa qué símbolos deben tratarse literalmente. Hay que utilizarlo con el parámetro "-t", con el que comparte longitud.
  •  -m: Unido a "-p".
  •  -o nombre de archivo de salida: Especifica el archivo de texto plano donde se escribirá el diccionario.
  •  -p lista de palabras o -p palabra1 palabra2 ...: Hace que Crunch cree palabras sin caracteres repetidos.
  •  -q (nombre de diccionario).txt: Proporciona al programa un diccionario desde el que trabajar.
  •  -r: Logra que esta herramienta reanude la generación de contraseñas desde donde había parado anteriormente. Debe utilizarse con "-o".
  •  -s bloque inicial: Especifica una cadena inicial.
  •  -t @,%^: Especifica un patrón."@" insertará caracteres en minúsculas, "," insertará caracteres en mayúsculas, "%" insertará números, y "^" insertará símbolos.
  •  -u: Inhabilita el porcentaje de producción que se muestra.
  •  -z gzip, bzip2, lzma, y 7z: Comprime el archivo de salida en el formato especificado (sólo son válidos los mostrados en el comando).
  Sin embargo, el comando completo sería crunch <min> <max>[<lista de caracteres> <cadena de caracteres>][opciones]donde la "lista de caracteres" es aquella que el usuario desea emplear si no prefiere especificar él mismo una "cadena de caracteres"; el resto es igual que como se ha explicado más arriba.
 Por ejemplo, si se prueba a generar un diccionario con contraseñas de cinco caracteres...
... Crunch mostrará cuántas líneas serán generadas y cuánto espacio ocuparán para luego comenzar su tarea, que no detendrá hasta haber terminado por sí mismo o por orden de alguien.
Ejemplo de Crunch trabajando de forma básica.
  Por defecto, este programa utilizará la lista de caracteres conocida como "lalpha", que sólo emplea letras minúsculas, y no números, símbolos, letras mayúsculas y/o espacios en blanco. Mas esto se puede configurar mediante el parámetro "-f" visto más arriba.
  Crunch tiene un archivo de lista de caracteres conocido como "charset.lst". Dicho archivo posee numerosas listas de caracteres que se pueden seleccionar mediante el parámetro antes mencionado. Para ver la lista completa se debe abrir dicho archivo con un programa de visualización o edición de archivos de texto (la ruta predeterminada del archivo suele ser "/usr/share/crunch").

  Si no se desea especificar ninguna lista de caracteres, el programa permite especificar que caracteres se deben usar (elegidos por el usuario), como se puede ver en el siguiente ejemplo (la cadena de caracteres empleada por el usuario es "ab123").
Ejemplo de Crunch trabajando con caracteres elegidos por el usuario.

  Hasta aquí esta parte con el uso básico de Crunch. Más adelante se verán más posibilidades de este flexible programa.
  Espero que esta entrada haya sido útil y/o interesante al lector, en cuyo caso aguardo que la comparta y/o la comente.

No hay comentarios:

Publicar un comentario

Deje aquí su comentario, si no puede comentar, pruebe a hacerlo desde otro navegador de red u otro equipo.