Crear Listas de Palabras con Crunch
Crunch es un generador de listas de palabras. Cuando se especifique un conjunto de caracteres estándar o un conjunto específico, Crunch generará todas las posibles combinación y permutaciones. Crunch creará una lista de palabras basado en un criterio específico. Además, la salida generada por Crunch puede ser enviada a la pantalla, a un archivo, u otro programa.
Características de Crunch
- Crunch genera listas de palabras en forma de combinaciones o permutaciones
- Puede dividir la salida en base al número de lineas o al tamaño del archivo
- Tiene soporte de resumen
- Los patrones ahora soportan números y símbolos
- Los patrones ahora soportan caracteres mayúsculas y minúsculas de forma separada
- Añade un reporte de estado cuando se generan varios archivos
- Nueva opción “-l” para soporte literal de @,%^
- Nueva opción “-d” para limitar caracteres duplicados
- Ahora tiene soporte Unicode.
Cadena de Conjunto de Caracteres
Se puede especificar conjuntos de caracteres en Crunch para ser utilizados en la linea de comandos, o si se deja en blanco crunch usará el conjunto de caracteres por defecto. El orden debe ser, caracteres minúsculas, caracteres mayúsculas, números, y otros símbolos. Si no se sigue este orden no se obtendrán los resultados deseados. Se tiene que especificar valores para los tipos de caracteres o un signo más. Anotar que si se desea incluir caracteres de espacio en el conjunto de caracteres se debe escapar utilizando el caracter “\” o encerrar el conjunto de caracteres en comillas, por ejemplo “abc ”.
Los conjuntos de caracteres por defecto están ubicados en el directorio “/usr/share/crunch/”. En la siguiente imagen se muestra el contenido de este directorio y las primeras lineas del archivo charset.lst.
La manera más sencilla de ejecutar Crunch es definiendo la longitud mínima (de inicio) y máxima (de fin) de la cadena que se desea crear. La opción “-o” especifica el archivo al cual escribir los resultados.
# crunch 1 5 -o /tmp/lista_c5.txt
Al finalizar su ejecución, se muestran algunas estadísticas del proceso realizado.
Se procede a visualizar las primeras y últimas lineas del archivo creado por Crunch.
Los patrones en Crunch son de valiosa utilidad, dado que permiten especificar requerimientos muy específicos para la creación de listas de palabras. Por ejemplo, si se descubre que la manera en la cual se construyen las contraseñas son de cuatro caracteres en minúsculas con dos números al final. En el siguiente comando se utiliza “lalpha” el cual define el conjunto de caracteres que será utilizado desde el archivo “charset.lst”. Además no se especifica un archivo donde se guardarán los resultados, razón por la cual estos se muestran por pantalla.
# crunch 6 6 -t @@@@%% lalpha
Otra interesante capacidad de Crunch es la de generar permutaciones desde un conjunto de caracteres o cadenas de caracteres. Los números incluidos en el comando son ignorados pero deben ser especificados. En este caso se utilizan cuatro palabras que constituirán la lista de palabras de la posibles contraseñas creadas por Crunch.
# crunch 1 1 -p perro gato raton loro
El utilizar listas de palabras (wordlists) personalizadas y que cumplan ciertos requerimientos, maximiza la probabilidad de encontrar contraseñas válidas, ya sea que se esté realizando un procedimiento para tratar de descifrarlas desde un archivo, o si se está realizando una evaluación en tiempo real contra algún mecanismo de autenticación.
Fuentes:
Sobre el Autor
Alonso Eduardo Caballero Quezada - ReYDeS
Instructor y Consultor Independiente en Ciberseguridad
WhatsApp: https://wa.me/51949304030
Correo Electrónico: ReYDeS@gmail.com
Twitter: https://twitter.com/Alonso_ReYDeS
Youtube: https://www.youtube.com/c/AlonsoCaballero
LinkedIn: https://pe.linkedin.com/in/alonsocaballeroquezada/