John the Ripper también hace algo como esto, pero es un poco difícil de configurar.
enlace
Las reglas de la lista de palabras solo se pueden usar para esto cuando su lista de palabras es
muy corto - o, si tiene diferentes listas para diferentes "palabras
posiciones ", cuando todas las listas menos una son muy cortas (está bien para una de
estas listas deben ser largas (colocarías esa en tu archivo de lista de palabras).
catdog
perro gato
catbird
pajarito
catcow
... y así sucesivamente para combinaciones de dos palabras. Para eso, necesitarás
coloque sus "primeras" palabras en un archivo de lista de palabras, una por línea:
gato perro pájaro vaca
y necesitas crear reglas de lista de palabras a partir de tus "segundas" palabras,
usando el comando "agregar carácter":
[List.Rules: Lista de palabras] $ c $ a $ t $ d $ o $ g $ b $ i $ r $ d $ c $ o $ w
Luego, ejecutar JtR produce:
$ john -w = w --rules --stdout catcat dogcat birdcat cowcat catdog
dogdog ... palabras de cowcow: 16 tiempo: 0: 00: 00: 00 100% w / s: 1600
actual: cowcow
catdogbird
catbirddog
Dogcatbirdcow
cowbirddogcat
etc
Para combinaciones de tres palabras, puede hacer que JtR aplique las reglas para un
segunda vez:
$ john -w = w --rules --stdout > palabras w2: 16 tiempo: 0: 00: 00: 00 100%
w / s: 1600 actual: cowcow $ john -w = w2 --rules --stdout catcatcat
dogcatcat birdcatcat cowcatcat catdogcat ... birdcowcow
palabras de vaca: 64 hora: 0: 00: 00: 00 100% w / s: 6400 actual:
cowcowcow
Por supuesto, en la práctica, su invocación final de "John" no usará el
opción "--stdout", pero en su lugar incluirá el nombre de archivo para su
archivo con la contraseña hash. Estoy usando "--stdout" en estos ejemplos
para mostrar qué "contraseñas" candidatas se intentarán.