Lo que estás intentando lograr se llama mutaciones de contraseña o conjuntos de reglas de definición. Yo usaría a John the Ripper para esto (JTR), no porque odie el crujido, sino porque lo he estado usando durante mucho tiempo y puedo darte ejemplos específicos para ello.
digamos que tienes una lista de palabras, que contiene las diferentes cadenas de base que deseas probar.
cat
fcw
cfd
etc...
y desea probar diferentes combinaciones de ellos, tal vez algunas anomalías agregadas para completar la información. Bueno, podemos hacerlo con un archivo de configuración. (John define esto como reglas, pero es lo mismo)
El cracking básico de contraseñas se ve así:
john mypasswordsdump --wordlist=stringlist.txt
esto probará cada contraseña en la lista de cadenas contra los hashes en el volcado. sencillo. Ahora agregamos el elemento extra.
en /etc/john.conf
(no estoy seguro de dónde está en la versión de Windows, pero estoy seguro de que no es difícil de encontrar) es posible que no veas algo como esto:
[List.Rules:<somenamehere>]
estas son las declaraciones de conjuntos de reglas. y puedes agregar algunas funciones bastante ingeniosas aquí. Una gran variedad de hecho. es importante porque así es como le dices a John en la línea de comandos qué reglas usar contra tus contraseñas.
por ejemplo, usaremos [List.Rules:testrules]
ahora hay algunos recursos excelentes para construir estas reglas:
sólo como ejemplos. pero intentemos algo fácil.
[List.Rules:testrules]
cAz"515"
ejecutando esto es John como este:
john mypassworddump --wordlist=stringlist.txt --rules=testrules
resultará en la primera letra en mayúscula, el resto de la palabra se imprimirá noramlly, y luego agregará 515 al final y luego intentará cada una de esas contraseñas contra tus hashes:
Cat515
Fcw515
Cfd515
etc...
por supuesto, cuanto más complejas sean las reglas, más diversas serán las contraseñas y más intentos JTR tendrá que hacer.
en lugar de "515", escribimos [0-9], esto agregará un solo dígito al final de cada palabra, de 0 a 9 y avanzando a la siguiente.
de esta manera se pueden definir muchos tipos de mutaciones. Es muy divertido!