Come generare un dizionario per un attacco di dizionario?

20

Devo rompere la mia password. Il vantaggio è che conosco i possibili caratteri e la lunghezza massima.

Quello di cui ho bisogno è creare un dizionario. Il dizionario dovrebbe contenere tutte le combinazioni di caratteri che scelgo (ad esempio, non ho bisogno di un elenco di parole che contenga il carattere T, perché non ho usato T nella mia password).

Come posso farlo?

    
posta RhymeGuy 10.09.2013 - 09:53
fonte

5 risposte

17

Quindi potresti usare python per generare tutte le possibili combinazioni usando itertools.permutation

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

dove 'abc' è una stringa di possibili caratteri. Nota che a e A non sono uguali!

Questo produrrà:

abc
acb
bac
bca
cab
cba

Modifica (grazie a @buherator):

Se desideri lettere ripetute (ad es. aaa, ecc.), devi invece utilizzare itertools.product . Ad esempio,

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

Questo produrrà:

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
    
risposta data 10.09.2013 - 11:02
fonte
12

Gli strumenti di cracking della password, come John the Ripper o hashcat, possono essere utilizzati in questo modo. Hanno varie regole di "mangling" che prenderanno un dizionario (nel tuo caso un dizionario di una sola parola) e quindi applicheranno una serie di trasformazioni su di esso. Puoi quindi specificare le regole in base al tipo di cose che potresti aver fatto con la tua password.

Imparare a specificare questo tipo di regole non è banale, e sfortunatamente non sei nella posizione di chiedere aiuto dettagliato senza rivelare troppo della password.

Ecco alcuni esempi, annotati, john CONFIGs, che potrebbero essere di aiuto:

link

Ed ecco una lista di tutorial di john, ma non ho mai guardato me stesso, quindi, di nuovo, posso solo indicarti la direzione generale:

link

    
risposta data 11.09.2013 - 06:51
fonte
4

È necessario utilizzare un elenco di parole per creare un attacco dizionario. Puoi scrivere il tuo generatore di liste di parole o usarne uno esistente.

Ecco alcuni generatori di elenchi di parole esistenti:

Puoi trovare di più. Dopo aver generato un elenco di parole, devi provare ogni combinazione di queste parole fino a trovare quella corrispondente con la tua password.

    
risposta data 10.09.2013 - 10:55
fonte
4

Dovresti usare crunch o john the ripper. Se conosci la lunghezza e le possibili combinazioni della tua password, puoi creare un buon dizionario. Ad esempio, sai che la tua password era qualcosa come

p@$$w0rd123

o forse

P@s$word1@3

ecc. puoi fare

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

Questo farà una lista con una lunghezza minima di 8 max 11 contenente uno qualsiasi dei caratteri specificati. Nota che potrebbe essere una lista enorme.

    
risposta data 04.10.2014 - 22:24
fonte
2

Avrai anche bisogno di uno strumento per scorrere attraverso il dizionario.

Per un sito web prova:

o in generale:

Se si tratta di un'applicazione desktop che utilizza la password per il comportamento anziché la riservatezza dei dati, potresti essere in grado di eliminare semplicemente i file delle impostazioni o hack la sua memoria durante l'esecuzione.

Suppongo che tu non sia un script kiddie ; -)

    
risposta data 10.09.2013 - 11:24
fonte

Leggi altre domande sui tag