statsgen genera patrones estadísticos para herramientas de fuerza bruta
statsgen genera patrones estadísticos para herramientas de fuerza bruta
statsgen (parte de la suite de scripts PACK - Password Analysis and Cracker Kit) es una herramienta de análisis estadístico utilizada en auditorías de seguridad y pentesting.
Su función principal es analizar un diccionario de contraseñas ya filtradas o extraídas de una organización y generar patrones estadísticos (máscaras) para herramientas de fuerza bruta como Hashcat o John the Ripper.
1. ¿Para qué sirve?
En lugar de probar contraseñas de forma aleatoria o mediante ataques de diccionario simple, statsgen analiza las estructuras más comunes usadas por los usuarios (por ejemplo, LetraMayúscula + letras + número + símbolo, como Password123!) y crea un archivo de estadísticas (.stat).
Posteriormente, con maskgen (otra herramienta del kit PACK), puedes convertir esos datos en las máscaras de Hashcat más eficientes, maximizando la tasa de aciertos en el menor tiempo posible.
2. Instalación en Kali Linux
Aunque PACK no viene preinstalado por defecto en la instalación base de Kali, se puede obtener e instalar en un minuto:
# 1. Clonar el repositorio de PACK
git clone https://github.com/iphelix/pack.git
# 2. Entrar al directorio
cd pack
# 3. Dar permisos de ejecución (opcional, corre con Python 3)
chmod +x statsgen.py maskgen.py
3. Uso básico de statsgen
Comandos principales y sintaxis
python3 statsgen.py [opciones] archivo_diccionario.txt
Ejemplo paso a paso
Paso 1: Analizar un archivo de contraseñas
Analiza una lista de contraseñas filtradas (rockyou.txt o una lista interna) y guarda el análisis estadístico en empresa.stat:
python3 statsgen.py -o empresa.stat rockyou.txt
Paso 2: Filtrar longitud de contraseñas
Si solo deseas analizar contraseñas de entre 8 y 12 caracteres:
python3 statsgen.py --minlength=8 --maxlength=12 -o empresa.stat rockyou.txt
Parámetros más útiles:
-o, --output: Especifica el archivo de salida.stat.--minlength: Longitud mínima de contraseña a procesar.--maxlength: Longitud máxima de contraseña a procesar.--simple: Ignora caracteres complejos y agrupa solo por tipos básicos (?lminúsculas,?umayúsculas,?ddígitos,?ssímbolos).
4. Flujo de trabajo completo: De statsgen a Hashcat
Para sacarle el máximo provecho en un entorno de auditoría:
Tipos de máscaras analizadas
statsgen clasifica los patrones según el formato estándar de Hashcat:
| Código | Significado | Ejemplo |
?l | Letra minúscula (a-z) | p |
?u | Letra mayúscula (A-Z) | P |
?d | Dígito (0-9) | 1 |
?s | Carácter especial / símbolo (!@#$%...) | ! |
?a | Todos los anteriores | Cualquiera |