Dato due password, qual è il modo più veloce per confrontare la forza di loro con John?

5

Dato due diverse password conosciute, chiamiamole A e B per ora, qual è il modo più veloce per confrontare la loro forza con John the Ripper?

So che potrei semplicemente aggiungere due utenti al mio sistema Linux ed eseguire john sul mio /etc/shadow . Sarà più efficiente quindi estrarre questi due utenti da /etc/shadow ed eseguire john solo su questi due. Ma quello userebbe ancora Blowfish o qualsiasi altro algoritmo sicuro, e non voglio testare l'algoritmo, solo le password. Potrei configurare il mio sistema su un algoritmo più debole per quello scopo. Ma sto cercando un modo ancora più intelligente e veloce. Preferibilmente anche aggiungendo un dizionario personalizzato per le parole che potrebbero essere utilizzate in una delle password.

Il caso d'uso effettivo è quello di confrontare la forza tra:

  • una password leggermente più lunga che contiene parole di un dizionario ma viene offuscata per utilizzare caratteri di quattro classi di caratteri
  • una password leggermente più breve che utilizza caratteri di tre classi di caratteri ma nessuna voce di dizionario
posta Christian Hujer 18.01.2018 - 06:56
fonte

1 risposta

11

Non c'è praticamente alcun modo per determinare quale password sia più strong in termini assoluti perché la forza delle password dipende dal modo in cui un utente malintenzionato si sta avvicinando a crackare le password. Tuttavia, è possibile capire (per una determinata lista di parole e un insieme di regole di manomissione) quale sarebbe stato prima decifrato da un aggressore.

Inizia determinando quale lista di parole e regole vuoi usare. Probabilmente userò la % wordlist di% di tipo co_de che è ben nota e la combinerò con uno dei set di regole elenco sulla wiki di openwall .

Puoi eseguire rockyou.txt in una modalità in cui, anziché scomporre le password, genererà solo le password candidate da provare. Questa è chiamata modalità john . Ad esempio, puoi usare:

john --wordlist=rockyou.txt --rules=Korelogic --stdout

Questo produrrà un elenco di tutte le password candidate, nell'ordine in cui sarebbero state provate da JtR. Se hai abbastanza spazio su disco, puoi semplicemente inserirlo in un file per un'analisi successiva. Se ti interessano solo le due (o così) password che stai studiando, puoi semplicemente fare in modo che quelli ricevano l'ordine in cui verrebbero processati:

john --wordlist=rockyou.txt --rules=Korelogic --stdout | grep -E -n '^(password1|password2)$'

Grazie a Hector per avermi ricordato il flag stdout su grep. Questo ti darà il numero di riga per ciascuna password quando tenterai, mostrandoti (relativamente) fino a dove si trova l'elenco delle password generate - in altre parole, quanto velocemente un aggressore arriva a loro.

In alternativa, grep come segue (suggerito da dave_thompson_085) per non preoccuparsi dei caratteri speciali:

john --wordlist=rockyou.txt --rules=Korelogic --stdout | grep -n -x -F -e 'password1' -e 'password2'
    
risposta data 18.01.2018 - 07:07
fonte

Leggi altre domande sui tag