Craccare le password dopo un pattern con John

1

Quindi sto cercando di scoprire quanto sia facile craccare una password usando alcuni grandi strumenti di Linux.

Sappiamo tutti di John come un password cracker e quanto sia grande. Ma che ne dici di specificare un modello.

Assumiamo le seguenti norme.

  • Una password deve iniziare con una lettera maiuscola seguita da 3 lettere minuscole
  • Una password deve terminare con 3 numeri
  • Una password deve essere esattamente 7 di lunghezza

Esempio di password: Aabc123

Quindi non ho la più pallida idea di come farlo. Ho provato a Google, ma per me non sono stati fatti trucchi o suggerimenti.

C'è un modo per configurare John per fare questo e come?

    
posta Daniel 20.12.2013 - 21:20
fonte

3 risposte

4

La cosa migliore da fare è utilizzare il processore maschera di oclHashcat disponibile qui .

Puoi usarlo per creare un elenco di parole con le tue specifiche esatte.

?u is uppercase
?l is lowercase
?d are digits

Quindi puoi creare un elenco di parole come segue:

mp64.exe ?u?l?l?l?d?d?d > wordlist.txt

Esegui oclHashcat o JTR rispetto a quella wordlist e sei a posto.

    
risposta data 21.12.2013 - 13:42
fonte
2

Un metodo semplice sarebbe quello di generare solo il wordlist poiché ci sono solo 26 * 26 * 26 * 26 * 10 * 10 * 10 possibilità, quindi il tuo elenco di parole sarebbe di circa 3,4 GB (8 byte per password; i sette caratteri e un interruzione di riga).

Questo sarebbe banale da fare in qualsiasi linguaggio di programmazione; per esempio, in python vorrei usare:

import string
uppers = string.ascii_uppercase # 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
lowers = string.ascii_lowercase # 'abcdefghijklmnopqrstuvwxyz'
with open('wordlist.out', 'w') as f:
    for c1 in uppers:
        for c2 in lowers:
            for c3 in lowers:
                for c4 in lowers:
                    for d in range(1000):
                        f.write('%s%s%s%s%03d\n' % (c1, c2, c3, c4, d))

Questo metodo proverà ogni password in ordine alfabetico, ad es. Aaaa000 prima poi Aaaa001, ..., Aaaa999, Aaab000, Aaab001, ..., Azzz999, ... Baaa000. Puoi riorganizzare l'annidamento dei loop for se vuoi attraversare in un ordine diverso.

    
risposta data 21.12.2013 - 15:28
fonte
0

Non ho familiarità con John, ma immagino che John ti permetta di passare espressioni regolari come parametro a uno dei suoi metodi. La conoscenza delle espressioni regolari merita il tuo tempo per acquisirla.

    
risposta data 21.12.2013 - 13:17
fonte

Leggi altre domande sui tag