Forza bruta MD5 con un prefisso e un suffisso fino a n caratteri / parole

0

Ho un paio di cose che vorrei esplorare con hashcat. Ho una password hash MD5, che so per un fatto ha un prefisso e un suffisso. La password effettiva si trova nel mezzo del prefisso e del suffisso e quella password potrebbe contenere i seguenti caratteri:

  • Caratteri maiuscoli
  • Caratteri minuscoli
  • Underscore ( _ )

Ho già capito come eseguire questo attacco con il prefisso e il suffisso:

hashcat [HASH] -a 3 PREFIX_?l?l?l?l?l_SUFFIX

Ciò prova una password di 5 caratteri, che include solo caratteri minuscoli a causa di ?l . La mia prima domanda è quindi: come faccio a generare un set di caratteri che include [A-Za-z] e underscore, quindi avviare un attacco su un hash che inizia da 1 carattere a 10 caratteri? In pratica, è necessario eseguire ogni combinazione da 1 carattere a 10 caratteri.

In alternativa, è possibile avviare un attacco dizionario invece di usare un set di caratteri, ma separare ogni parola con un trattino basso? Anche fino a forse 10 parole. Esempio:

words.txt

telephone
bottle
door
toilet

La password che ho bisogno di decifrare dovrebbe andare a qualcosa come PREFIX_telephone_bottle_SUFFIX , PREFIX_bottle_toilet_door_telephone_SUFFIX , separando le parole con un carattere di sottolineatura.

    
posta MortenMoulder 02.12.2018 - 23:08
fonte

1 risposta

3

Hashcat ti consente di caricare un elenco di maschere da un file - una maschera per riga.

[Modificato per espandere la mia precedente risposta troppo breve sopra]:

Hashcat consente anche di specificare fino a 4 set di caratteri personalizzati usando i parametri -1, -2, -3 e -4. Il tuo set di caratteri personalizzati specifici (superiore, inferiore, trattino basso) potrebbe essere specificato in questo modo (sto usando "2" per rendere evidente che non è un L minuscolo, ma potrebbe essere 1, 2, 3 o 4 ):

-2 ?l?u_

Quindi invocheresti hashcat in questo modo:

$ hashcat -a 3 [other options] -2 ?l?u_ [hashfile] [maskfile]

... con il file maschera contenente qualcosa di simile al seguente, con una riga per ogni lunghezza della password che ti aspetti:

PREFIX_?2_SUFFIX
PREFIX_?2?2_SUFFIX
PREFIX_?2?2?2_SUFFIX
PREFIX_?2?2?2?2_SUFFIX
PREFIX_?2?2?2?2?2_SUFFIX
PREFIX_?2?2?2?2?2?2_SUFFIX
PREFIX_?2?2?2?2?2?2?2_SUFFIX
PREFIX_?2?2?2?2?2?2?2?2_SUFFIX
PREFIX_?2?2?2?2?2?2?2?2?2_SUFFIX
PREFIX_?2?2?2?2?2?2?2?2?2?2_SUFFIX

Questo ti consente di eseguire l'intero attacco chiamando solo hashcat una volta.

Invece di specificare il set di caratteri personalizzato sulla riga di comando, puoi anche specificarli in modo posizionale nel file maschera stesso, separati da virgole:

?l?u_,PREFIX_?2_SUFFIX
?l?u_,PREFIX_?2?2_SUFFIX
?l?u_,PREFIX_?2?2?2_SUFFIX
?l?u_,PREFIX_?2?2?2?2_SUFFIX
?l?u_,PREFIX_?2?2?2?2?2_SUFFIX
?l?u_,PREFIX_?2?2?2?2?2?2_SUFFIX

... ecc. Talvolta è preferibile perché memorizza il set di caratteri personalizzato direttamente nel file maschera, anziché temporaneamente nella riga di comando, in modo che una maggiore parte della strategia di attacco sia documentata in modo persistente. (Questo può anche permettere di specificare diversi set di caratteri personalizzati su ogni linea per ogni maschera, che non è necessario per la tua domanda, ma può essere molto utile per altri tipi di attacchi.)

    
risposta data 03.12.2018 - 00:27
fonte

Leggi altre domande sui tag