¿Cómo generar un diccionario para un ataque de diccionario?

20

Necesito descifrar mi propia contraseña. La ventaja es que conozco los posibles caracteres y la longitud máxima.

Lo que necesito es crear un diccionario. El diccionario debe contener todas las combinaciones de caracteres que elijo (por ejemplo, no necesito una lista de palabras que contenga el carácter T, porque no utilicé T en mi contraseña).

¿Cómo puedo hacer eso?

    
pregunta RhymeGuy 10.09.2013 - 09:53
fuente

5 respuestas

17

Por lo tanto, puedes usar python para generar todas las combinaciones posibles usando itertools.permutation

import itertools
res = itertools.permutations('abc',3) # 3 is the length of your result.
for i in res: 
   print ''.join(i)

donde 'abc' es una cadena de posibles caracteres. Tenga en cuenta que a y A no son lo mismo!

Esto dará como resultado:

abc
acb
bac
bca
cab
cba

Editar (gracias a @buherator):

Si quieres letras repetidas (por ejemplo, aaa, etc.), necesitas usar itertools.product en su lugar. Por ejemplo,

import itertools
res = itertools.product('abc', repeat=3) # 3 is the length of your result.
for i in res: 
    print ''.join(i)

Esto dará como resultado:

aaa
aab
aac
aba
abb
abc
aca
acb
acc
baa
bab
bac
bba
bbb
bbc
bca
bcb
bcc
caa
cab
cac
cba
cbb
cbc
cca
ccb
ccc
    
respondido por el Lucas Kauffman 10.09.2013 - 11:02
fuente
12

Las herramientas para descifrar contraseñas, como John the Ripper o hashcat, pueden usarse de esta manera. Tienen varias reglas de "mutilación" que tomarán un diccionario (en su caso, un diccionario de una palabra) y luego aplicarán una serie de transformaciones. Luego, puede especificar las reglas según los tipos de cosas que haya hecho con su contraseña.

Aprender a especificar este tipo de reglas no es trivial y, desafortunadamente, no está en posición de pedir ayuda detallada sin revelar demasiada información sobre la contraseña.

Aquí hay algunos ejemplos, anotados, configuraciones de John, que podrían ser de alguna ayuda:

enlace

Y aquí hay una lista de tutoriales de John, pero en realidad no he mirado ninguno, así que de nuevo, solo puedo señalarle la dirección general:

enlace

    
respondido por el Jeffrey Goldberg 11.09.2013 - 06:51
fuente
4

Necesitas usar una lista de palabras para crear un ataque de diccionario. Puede escribir su propio generador de listas de palabras o usar uno existente.

Aquí hay algunos generadores de listas de palabras existentes:

Puedes encontrar más. Después de generar una lista de palabras, debe probar cada combinación de esas palabras hasta que encuentre una que coincida con su contraseña.

    
respondido por el Kerim Oguzcan Yenidunya 10.09.2013 - 10:55
fuente
4

Debes usar crunch o john the ripper. Si conoces la longitud y las posibles combinaciones de tu contraseña, puedes hacer un diccionario bastante bueno. Por ejemplo, sabes que tu contraseña era algo así como

  

p @ $$ w0rd123

o tal vez

  

P @ s $ word1 @ 3

etc. que puedes hacer

crunch 8 11 pPa@s$wW0oOrd123 -o list.txt

Esto hará una lista con una longitud mínima de 8 max 11 que contenga cualquiera de los caracteres dados. Tenga en cuenta que esto podría ser una lista enorme.

    
respondido por el KDEx 04.10.2014 - 22:24
fuente
2

También necesitarás una herramienta para ejecutar el diccionario.

Para un sitio web prueba:

o en general:

Si se trata de una aplicación de escritorio que utiliza la contraseña para el comportamiento en lugar de la confidencialidad de los datos, puede simplemente eliminar los archivos de configuración o piratear su memoria mientras se ejecuta.

Supongo que no eres un script kiddie ;-)

    
respondido por el LateralFractal 10.09.2013 - 11:24
fuente

Lea otras preguntas en las etiquetas