
John the Ripper jumbo - avanzato cracker di password offline, che supporta centinaia di tipi di hash e cifrari, e gira su molti sistemi operativi, CPU, GPU e persino su alcuni FPGA
Questa è la versione "jumbo" potenziata dalla comunità di John the Ripper. Contiene molto codice, documentazione e dati contribuiti dagli sviluppatori di jumbo e dalla comunità degli utenti. È facile aggiungere nuovo codice a jumbo, e i requisiti di qualità sono bassi, anche se ultimamente abbiamo iniziato a sottoporre tutti i contributi a test automatizzati piuttosto estesi. Questo significa che si ottiene un sacco di funzionalità che non è necessariamente "matura", il che a sua volta significa che ci si possono aspettare bug in questo codice.
La homepage di John the Ripper è:
https://www.openwall.com/john/
Se hai commenti su questa release o su JtR in generale, per favore iscriviti alla mailing list john-users e scrivi lì:
https://www.openwall.com/lists/john-users/
Per i contributi a John the Ripper jumbo, usa le pull request su GitHub:
https://github.com/openwall/john/blob/bleeding-jumbo/CONTRIBUTING.md
Qui sotto è inclusa la documentazione di base del nucleo di John the Ripper.
John the Ripper è un veloce cracker di password, attualmente disponibile per molte versioni di Unix, macOS, Windows, DOS, BeOS e OpenVMS (quest'ultimo richiede una patch contribuita). Il suo scopo principale è rilevare password Unix deboli. Oltre a diversi tipi di hash crypt(3) comunemente presenti nelle varie versioni di Unix, supportati nativamente sono gli hash Kerberos/AFS e Windows LM, oltre ai tripcode basati su DES, e centinaia di hash e cifrari aggiuntivi nelle versioni "-jumbo".
Vedi INSTALL per informazioni sull'installazione di John sul tuo sistema.
Per eseguire John, devi fornirgli alcuni file di password e opzionalmente specificare una modalità di cracking, come ad esempio, usando l'ordine predefinito delle modalità e supponendo che "passwd" sia una copia del tuo file di password:
john passwd
oppure, per limitarlo alla sola modalità wordlist, ma consentendo l'uso delle regole di manipolazione delle parole:
john --wordlist=password.lst --rules passwd
Le password crackate verranno stampate sul terminale e salvate nel file chiamato $JOHN/john.pot (nella documentazione e nel file di configurazione di John, "$JOHN" si riferisce alla "home directory" di John; quale directory sia realmente dipende da come hai installato John). Il file $JOHN/john.pot viene anche usato per non ricaricare gli hash delle password che hai già crackato quando esegui John la volta successiva.
Per recuperare le password crackate, esegui:
john --show passwd
Durante il cracking, puoi premere un tasto qualsiasi per lo stato, oppure 'q' o Ctrl-C per interrompere la sessione salvando il suo stato su un file ($JOHN/john.rec di default). Se premi Ctrl-C una seconda volta prima che John abbia avuto la possibilità di completare la gestione del primo Ctrl-C, John si interromperà immediatamente senza salvare. Di default, lo stato viene anche salvato ogni 10 minuti per consentire il recupero in caso di crash.
Per continuare una sessione interrotta, esegui:
john --restore
Queste sono solo le cose più essenziali che puoi fare con John. Per un elenco completo delle opzioni della riga di comando e per esempi di utilizzo più complicati dovresti fare riferimento rispettivamente a OPTIONS ed EXAMPLES.
Nota che le distribuzioni "binarie" (precompilate) di John possono includere eseguibili alternativi invece del solo "john". Potresti dover scegliere l'eseguibile più adatto al tuo sistema, ad esempio "john-omp" per sfruttare più CPU e/o core della CPU.
John the Ripper è progettato per essere sia ricco di funzionalità che veloce. Combina diverse modalità di cracking in un unico programma ed è completamente configurabile per le tue esigenze particolari (puoi persino definire una modalità di cracking personalizzata usando il compilatore integrato che supporta un sottoinsieme del C). Inoltre, John è disponibile per diverse piattaforme, il che ti consente di usare lo stesso cracker ovunque (puoi persino continuare una sessione di cracking iniziata su un'altra piattaforma).
Nativamente, John supporta (e rileva automaticamente) i seguenti tipi di hash Unix crypt(3): tradizionale basato su DES, "bigcrypt", BSDI esteso basato su DES, FreeBSD basato su MD5 (usato anche su Linux e in Cisco IOS), e OpenBSD basato su Blowfish (ora usato anche su alcune distribuzioni Linux e supportato dalle versioni recenti di Solaris). Supportati nativamente sono anche gli hash Kerberos/AFS e Windows LM (basati su DES), così come i tripcode basati su DES.
Quando viene eseguito su distribuzioni Linux con glibc 2.7+, John 1.7.6+ supporta inoltre (e rileva automaticamente) gli hash SHA-crypt (che sono effettivamente usati dalle versioni recenti di Fedora e Ubuntu), con parallelizzazione OpenMP opzionale (richiede GCC 4.2+, deve essere esplicitamente abilitata in fase di compilazione decommentando la riga OMPFLAGS appropriata vicino all'inizio del Makefile).
Analogamente, quando viene eseguito su versioni recenti di Solaris, John 1.7.6+ supporta e rileva automaticamente gli hash SHA-crypt e SunMD5, anche con parallelizzazione OpenMP opzionale (richiede GCC 4.2+ o Sun Studio recente, deve essere esplicitamente abilitata in fase di compilazione decommentando la riga OMPFLAGS appropriata vicino all'inizio del Makefile e in fase di esecuzione impostando la variabile d'ambiente OMP_NUM_THREADS al numero desiderato di thread).
Le versioni "-jumbo" aggiungono il supporto per centinaia di tipi di hash e cifrari aggiuntivi, incluse implementazioni integrate veloci di SHA-crypt e SunMD5, hash delle password Windows NTLM (basati su MD4), vari hash delle password utente di macOS e Mac OS X, hash veloci come MD5 grezzo, SHA-1, SHA-256 e SHA-512 (che molte "applicazioni web" hanno storicamente usato impropriamente per le password), vari altri hash di password di "applicazioni web", vari hash di password di server SQL e LDAP, e molti altri tipi di hash, così come molti non-hash come chiavi private SSH, file S/Key skeykeys, TGT Kerberos, file system crittografati come file .dmg di macOS e "sparse bundle", archivi crittografati come ZIP (PKZIP classico e WinZip/AES), RAR e 7z, documenti crittografati come PDF e Microsoft Office - e questi sono solo alcuni esempi. Per caricare alcuni di questi file più grandi per il cracking, dovrebbe essere usato prima il corrispondente programma *2john incluso, e poi il suo output alimentato a JtR -jumbo.
Esiste una GUI ufficiale per John the Ripper: Johnny.
Nonostante il fatto che Johnny sia orientato al nucleo di JtR, tutte le funzionalità di base dovrebbero funzionare in tutte le versioni, inclusa jumbo.
Johnny è un programma separato, quindi devi avere John the Ripper installato per poterlo usare.
Maggiori informazioni su Johnny e le sue release sono sul wiki:
https://openwall.info/wiki/john/johnny
Il resto della documentazione si trova in file separati, elencati qui nell'ordine di lettura consigliato:
(*) la maggior parte degli utenti può tranquillamente saltarli.
Ci sono molti altri file di documentazione aggiuntivi nella directory "doc" di jumbo, che vorrai anche esplorare.
Buona lettura!