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