Puntatori per john the ripper rulesets

3

Mi sono riversato sulla documentazione del set di regole JtR e ho fatto pochi progressi. Capisco come usarlo per fare varie permutazioni da una determinata lista di parole, va bene. Tuttavia, sto cercando di capire come (se possibile) utilizzarli con le XKCD 936 frasi d'uso in stile

Ho visto le classi di caratteri:

?w  matches whitespace: space and horizontal tabulation characters
?a  matches letters [a-zA-Z]

Un ?a?w?a?w?a?w?a funzionerà per abbinare un raggruppamento di quattro parole? Penso che ciò corrisponda a 4 caratteri con spazi bianchi - non so come abbinare parole intere con quello. Suggerimenti? Ho una buona idea che non ci sono sostituzioni di personaggi o altro.

In alternativa, dovrei semplicemente prendere la mia lista di parole e generare raggruppamenti di quattro e hashing / controllarli senza JtR?

Saluti

domanda correlata

    
posta EricR 13.03.2013 - 02:43
fonte

1 risposta

4

DISCLAIMER : non sono né un utente JtR né un programmatore Perl. Questa risposta che segue è un prodotto di anni di formazione in Google-Fu da solo, che combina alcune risposte dai newsgroup e qualche documentazione JtR.

Le regole di John the Ripper (JtR) non supportano più parole di input.

L'unica eccezione è con modalità single crack dove gli operatori 1 , 2 e + control se altri comandi vengono applicati rispettivamente al primo, al secondo o ad entrambe le parole, quando si prova contro una coppia di parole, come ad esempio il nome e il cognome.

In alternativa, è possibile reindirizzare l'output di uno script esterno (gestendo le combinazioni di parole) in john --stdin o in un file (e utilizzarlo come elenco di parole con JtR ). Fare così ovviamente rallenterà il processo in quanto il numero di possibili combinazioni aumenta in modo esponenziale con il numero di argomenti di input, quindi probabilmente vale la pena provare solo su elenchi di parole veramente brevi.

Ecco alcuni script Perl che è possibile adottare per soddisfare le proprie esigenze (o utilizzare così com'è?):

Combinazioni di due parole:

#!/usr/bin/perl

while (<>) {
    chop;
    $w[$#w + 1] = $_;
}

foreach $a (@w) {
    foreach $b (@w) {
        print "$a$b\n";
        print "$a $b\n";
    }
}

Combinazioni di tre parole:

#!/usr/bin/perl

while (<>) {
    chop;
    $w[$#w + 1] = $_;
}

foreach $a (@w) {
    foreach $b (@w) {
        $ab = "$a$b";
        $a_b = "$a $b";
        foreach $c (@w) {
            print "$ab$c\n";
            print "$a_b $c\n";
        }
    }
}

Combinazioni di quattro parole:

#!/usr/bin/perl

while (<>) {
    chop;
    $w[$#w + 1] = $_;
}

foreach $a (@w) {
    foreach $b (@w) {
        $ab = "$a$b";
        $a_b = "$a $b";
        foreach $c (@w) {
            $abc = "$ab$c";
            $a_b_c = "$a_b $c";
            foreach $d (@w) {
                print "$abc$d\n";
                print "$a_b_c $d\n";
            }
        }
    }
}
    
risposta data 13.03.2013 - 05:58
fonte

Leggi altre domande sui tag