Hashcat-Utils: Herramientas Complementarias para Hashcat
hashcat-utils es un conjunto de herramientas complementarias para hashcat que sirven principalmente para manipular diccionarios, preparar hashes y realizar análisis de datos antes o después del cracking.
Aquí tienes un resumen de las herramientas más importantes incluidas en el paquete y para qué sirven:
Herramientas principales de manipulación de texto
Estas utilidades son fundamentales para limpiar tus listas de palabras (wordlists) y hacerlas más eficientes.
combinator: Combina dos archivos línea por línea. Si tienes el archivo A y B, creará todas las combinaciones posibles de "A+B".
cutb: Corta bits específicos de cada línea (útil para eliminar caracteres sobrantes o columnas fijas).
rli (Remove Line Interactions): Compara dos archivos y elimina del primero las líneas que ya existen en el segundo. Ideal para no procesar contraseñas que ya intentaste.
len: Filtra un diccionario por la longitud de las palabras (por ejemplo, solo palabras de entre 8 y 12 caracteres).
Herramientas de análisis y conversión
Estas se enfocan en entender la estructura de los datos o adaptar formatos específicos.
| Herramienta | Función Principal |
| cap2hccapx | Convierte archivos de captura de red (.cap / .pcap) al formato .hccapx usado por hashcat para crackear WPA/WPA2. |
| hcstatgen | Genera estadísticas basadas en un diccionario para crear archivos .hcstat, que ayudan a hashcat en ataques basados en probabilidad. |
| maskgen | Genera "máscaras" inteligentes analizando un diccionario previo. Te dice cuáles son los patrones más comunes (ej: Letra-Letra-Número-Número). |
| expander | Toma un diccionario y lo "expande" calculando todas las permutaciones posibles de cada palabra. |
Utilidades de Reglas y Huellas (Fingerprinting)
req-gen: Genera posibles contraseñas basadas en requisitos específicos (como "debe tener una mayúscula y un símbolo").
sitara: Una herramienta para optimizar ataques de fuerza bruta basados en la frecuencia de caracteres del lenguaje.
¿Cómo se usan normalmente?
La mayoría de estas herramientas funcionan a través de la línea de comandos (Terminal). Por ejemplo, si quieres filtrar un diccionario para que solo tenga palabras de 8 caracteres, usarías:
./len.bin 8 8 < diccionario_sucio.txt > diccionario_limpio.txt
Una pequeña aclaración
Recuerda que estas herramientas no crackean el hash por sí mismas; su trabajo es "preparar el terreno" para que hashcat sea mucho más rápido y preciso. Usarlas bien puede reducir el tiempo de cracking de días a minutos.
¡Perfecto! Vamos a enfocarnos en combinator y maskgen, ya que son las dos herramientas que más tiempo ahorran a los profesionales de la seguridad.
1. combinator: Creando contraseñas compuestas
Imagina que sospechas que un usuario usa combinaciones de nombres y años (ej: Carlos2024). En lugar de crear un diccionario gigante a mano, usas esta herramienta.
Cómo funciona el flujo:
Comando:
./combinator.bin nombres.txt años.txt > diccionario_final.txt
Archivo A:
Carlos,AdminArchivo B:
2023,2024Resultado:
Carlos2023,Carlos2024,Admin2023,Admin2024.
2. maskgen: Inteligencia aplicada al ataque
Esta es quizás la más avanzada. En lugar de adivinar, maskgen analiza una lista de contraseñas reales (por ejemplo, de una filtración antigua) y te dice cuál es el patrón más común.
Análisis de patrones:
Si le pasas un archivo con miles de contraseñas, maskgen te devolverá algo como esto:
| Patrón (Máscara) | Probabilidad | Ejemplo real |
?u?l?l?l?l?d?d?d | 25% | P@ssw0rd123 |
?d?d?d?d?d?d | 15% | 123456 |
Comando:
./maskgen.bin contraseñas_filtradas.txt --opt-occurrence -o mis_mascaras.hcmask
Esto genera un archivo .hcmask que luego le pasas directamente a hashcat. Es mucho más eficiente que intentar combinaciones al azar.
3. rli (Remove Line Interactions)
Esta es vital para la "higiene" de tus diccionarios. Si tienes un diccionario de 10GB y descargas uno nuevo de 5GB, es muy probable que muchas palabras se repitan.
Comando:
./rli.bin nuevo_diccionario.txt diccionario_viejo.txt
Resultado: El archivo
nuevo_diccionario.txtahora solo contendrá las palabras que no estaban en el viejo. Esto evita que tu tarjeta gráfica trabaje doble procesando lo mismo.
Un consejo de "pro":
Casi todas estas herramientas aceptan el uso de pipes (|) de Linux. Esto significa que puedes encadenar herramientas sin crear archivos intermedios pesados:
./combinator.bin lista1.txt lista2.txt | ./len.bin 8 12 > resultado_perfecto.txt
(Aquí combinamos dos listas y filtramos inmediatamente para quedarnos solo con lo que mide entre 8 y 12 caracteres).