Crunch - Generacion de Wordlists

Crunch - Generacion de Wordlists

1. Introduccion

Crunch es una herramienta de generacion de wordlists que permite crear listas de contrasenas personalizadas mediante combinaciones y patrones especificos. Es esencial para ataques de fuerza bruta en escenarios donde las politicas de contrasenas son predecibles.

Esta guia cubre la sintaxis, parametros y ejemplos para la generacion efectiva de wordlists.


2. Instalacion

2.1. Arch Linux

sudo pacman -S crunch

2.2. Kali/Parrot

sudo apt install crunch

2.3. Desde Fuente

git clone https://github.com/crunchsec/crunch
cd crunch
make
sudo make install

3. Sintaxis Basica

3.1. Forma General

crunch <min> <max> [charset] [options]

3.2. Parametros Principales

Parametro Descripcion
<min> Longitud minima de contrasena
<max> Longitud maxima de contrasena
charset Conjunto de caracteres a utilizar
-o Archivo de salida
-t Patron especifico
-f Archivo de caracteres

4. Conjuntos de Caracteres

4.1. Conjuntos Incorporados

Crunch incluye varios conjuntos de caracteres por defecto:

# Letras minusculas (abcdefghijklmnopqrstuvwxyz)
crunch 4 4 -f /usr/share/crunch/charset.lst lalpha

# Letras mayusculas (ABCDEFGHIJKLMNOPQRSTUVWXYZ)
crunch 4 4 -f /usr/share/crunch/charset.lst ualpha

# Numeros (0123456789)
crunch 4 4 -f /usr/share/crunch/charset.lst numeric

# Signos especiales (!@#$%^&*()_+-=[]{}|;':",./<>?)
crunch 4 4 -f /usr/share/crunch/charset.lst符号)

# Combinacion simple
crunch 4 4 -f /usr/share/crunch/charset.lst alphanum

4.2. Conjunto Personalizado

# Especificar caracteres directamente
crunch 4 4 0123456789abcdef

# Desde archivo
crunch 4 4 -f charset.txt

5. Opciones de Generacion

5.1. Archivo de Salida (-o)

# Guardar en archivo
crunch 4 6 0123456789abcdef -o wordlist.txt

# Comprimir salida
crunch 4 6 0123456789abcdef -o wordlist.txt -z gzip

# Formatos de compresion
crunch 4 6 0123456789abcdef -o wordlist.txt -z bzip2
crunch 4 6 0123456789abcdef -o wordlist.txt -z lzma
crunch 4 6 0123456789abcdef -o wordlist.txt -z 7z

5.2. Patron (-t)

El parametro -t permite especificar posiciones fijas:

Simbolo Descripcion
@ Letras minusculas
, Letras mayusculas
% Numeros
^ Signos especiales
# Contrasena con prefijo conocido (password)
crunch 8 8 -t "password%%" -p "password" -o wordlist.txt

# Con numeracion
crunch 6 6 -t "pass%%%" -o wordlist.txt

# Con sufijo conocido
crunch 8 8 -t "%%%%1234" -o wordlist.txt

# Con signos al final
crunch 6 6 -t "@@@@@^" -o wordlist.txt

5.3. Repeticion (-p)

# Permutaciones de palabras
crunch 3 3 -p admin root test -o wordlist.txt

# Combinaciones unicas
crunch 4 4 -p abc def 123 -o wordlist.txt

6. Opciones Avanzadas

6.1. Unicode (-u)

# Mostrar solo contrasenas unicas (evitar duplicados)
crunch 4 4 -u

6.2. Secuencia (-s)

# Iniciar desde sequencia especifica
crunch 4 4 abcdef -s bcde -o wordlist.txt

6.3. Incrementar (-i)

# Formato incremental
crunch 1 8 -i -o wordlist.txt

6.4. Archivo de Secuencia (-l)

# Secuencia por tipo de caracter
crunch 6 6 -l @ddd^d -o wordlist.txt

7. Ejemplos Practicos

7.1. Wordlist Basica

# 4 digitos
crunch 4 4 0123456789 -o numeros4.txt

# 6 digitos
crunch 6 6 0123456789 -o numeros6.txt

7.2. Contrasenas Comunes

# Con prefijo "password"
crunch 8 10 -t "password%%" -o pw_prefijo.txt

# Con ano
crunch 8 8 -t "pass%%%%" -o pw_ano.txt

# Formato empresa + ano
crunch 10 10 -t "Empresa%%%" -p "Empresa" -o corp.txt

7.3. Patrones Especificos

# 3 letras + 3 numeros
crunch 6 6 -t @@@%%% -o patron1.txt

# 2 mayusculas + 2 minusculas + 2 numeros
crunch 6 6 -t ",,%%%%" -o patron2.txt

# 4 minusculas + 2 signos
crunch 6 6 -t "@@^^" -o patron3.txt

7.4. Diccionarios de Entorno

# De empresa
crunch 6 12 -t "Empresa%%" -p "Empresa" -o empresa.txt

# De proyecto
crunch 6 12 -t "Proyecto%%" -p "Proyecto" -o proyecto.txt

# Con nombre de usuario
crunch 8 12 -t "Usuario%%" -p "Usuario" -o usuario.txt

8. Generacion de Alta Calidad

8.1. Estilos de Contrasenas

# Fecha (DDMMYY)
crunch 6 6 -t "%%%%" -o fecha_ddmmyy.txt

# Ano
crunch 4 4 -t "%%%%" -o ano.txt

# Telefono
crunch 10 10 -t "9%%%" -o telefono.txt

# Fecha completa (DDMMYYYY)
crunch 8 8 -t "%%%%%%%%" -o fecha_completa.txt

8.2. Politicas de Contrasenas

# Minusculas + numeros (password123)
crunch 8 8 -t "@@@%%%" -o politica1.txt

# Mayusculas + minusculas + numeros
crunch 8 8 -t ",,@@%%%" -o politica2.txt

# Minusculas + mayusculas + numeros + simbolos
crunch 8 8 -t ",@%^" -o politica3.txt

9. Optimizacion

9.1. Tamaño de Salida

# Estimar tamano
crunch 4 6 -f /usr/share/crunch/charset.lst alphanum -c | head -1

9.2. Division

# Generar en partes
crunch 4 4 abcd -o wordlist_part1.txt -s aaaa
crunch 4 4 abcd -o wordlist_part2.txt -s aaae

# Combinar
cat wordlist_part1.txt wordlist_part2.txt > wordlist_total.txt

10. Uso con Herramientas

10.1. John the Ripper

# Generar y usar con john
crunch 4 6 0123456789 -o temp.txt
john --wordlist=temp.txt hash.txt

10.2. Hashcat

# Generar para hashcat
crunch 4 6 abcdef -o temp.txt
hashcat -m 0 -a 0 hash.txt temp.txt

10.3. Hydra

# Generar para hydra
crunch 4 6 abcdef -o temp.txt
hydra -L usuarios.txt -P temp.txt servidor ssh

11. Feedback

11.1. Lo Que Esta Bien

  • Generacion rapida
  • Control granular de patrones
  • Soporte para caracteres especiales

11.2. Lo Que Falta

  • Documentacion extensiva
  • Integracion con seclists

11.3. Mejoras Recomendadas

  • Usar siempre con analisis previo del objetivo
  • Combinar con diccionarios Leakados
  • Priorizar patronesprobables