Utilizzare Crack

Crack, giunto attualmente alla versione 5.0a, è un software di password cracking sviluppato originariamente per UNIX da Alec D.E. Muffet, utilizzabile dopo opportune configurazioni anche in ambiente Linux

Analogamente a John The Ripper, Crack permette di indiviudare le password più facilmente violabili su un sistema. Questo software può utilizzare sia le librerie dell'algoritmo di crittografia DES sia quelle dell'MD5.

RECUPERO SORGENTI, CONFIGURAZIONE ED INSTALLAZIONE
E' possibile scaricare Crack liberamente dal server FTP indicato sul sito dell'autore:
[root@Enigma homer]# wget ftp.cerias.purdue.edu/pub/tools/unix/pwdutils/crack/crack5.0.tar.gz
--19:43:46--  http://ftp.cerias.purdue.edu/pub/tools/unix/pwdutils/crack/crack5.0.tar.gz
           => `crack5.0.tar.gz'
Resolving ftp.cerias.purdue.edu... fatto.
Connecting to ftp.cerias.purdue.edu[128.10.252.10]:80... connected.
HTTP richiesta inviata, aspetto la risposta... 200 OK  
Lunghezza: 2,964,507 [application/x-tar]

100%[================================================================================>]2,964,507      4.39K/s    ETA 00:00
19:54:47 (4.39 KB/s) - `crack5.0.tar.gz' salvato [2964507/2964507]


Successivamente dovranno essere scompattati i sorgenti:
[homer@Enigma homer]# tar xzvf crack5.0.tar.gz
Viene creata la directory c50A e le relative sottodirectory
c50a/
c50a/conf/
c50a/conf/dictrun.conf
c50a/conf/rules.weird
c50a/conf/rules.suffix  
...                    
c50a/extra/Crack7      
c50a/extra/b64encode    
...
c50a/manual.html        
c50a/manual.txt        
[root@Enigma homer]#


E' ora necessario spostarsi all'interno della directory appena creata:
[homer@Enigma homer]# cd c50a
[root@Enigma c50a]# ls
conf  Crack  dict  doc  extra  LICENCE  Makefile  manual.html  manual.txt  Reporter  scripts  src
I file e le directory creati dopo la scompattazione, tra i quali un manuale sia in formato testo che in html


Se il proprio sistema utilizza MD5 come in questo caso (Red Hat 7.3) è necessario eseguire alcune operazioni sui sorgenti come spiegato in manual.html:
[root@Enigma c50a]# mv src/libdes src/libdes,orig
[root@Enigma c50a]# cd src/util
[root@Enigma util]# cp -f elcid.c,bsd elcid.c
[root@Enigma util]# cd ../..  


E' necessario inoltre modificare alcune linee in Crack in quanto si utilizza gcc e non cc sotto UNIX. Le direttive di compilazione devono apparire come segue:
# vanilla unix cc
#CC=cc
#CFLAGS="-g -O $C5FLAGS"
#LIBS=-lcrypt # uncomment only if necessary to use stdlib crypt(), eg: NetBSD MD5

# gcc 2.7.2
CC=gcc
CFLAGS="-g -O2 -Wall $C5FLAGS"
LIBS=-lcrypt # uncomment only if necessary to use stdlib crypt(), eg: NetBSD MD5


Una volta configurati i file è possibile lanciare la compilazione dei sorgenti:
[homer@Enigma c50a]# ./Crack -makeonly
Crack 5.0a: The Password Cracker.
..                                    
all made in util                        
make[1]: Leaving directory `/home/homer/c50a/src/util'  
Crack: makeonly done


Si passa quindi alla creazione dei dizionari:
[homer@Enigma c50a]# ./Crack -makedict
Crack 5.0a: The Password Cracker.
(c) Alec Muffett, 1991, 1992, 1993, 1994, 1995, 1996
..
Crack: Created new dictionaries...
Crack: makedict done


E' quindi necessario creare il file da dare in pasto a Crack. Se si utilizzano le shadow password è necessario fare un merge del file con i nomi degli utenti /etc/passwd con quello contenente le password in forma crittografata /etc/shadow.
[root@Enigma c50a]# cp /etc/passwd passwd.txt
Copia del file con il nome degli utenti nella directory locale
[root@Enigma c50a]# ./scripts/shadmrg.sv > passwd.txt
Tramite un'utilty a corredo di Crack, shadmrg.sv, è possibile generare un file "violabile"


UTILIZZO
A questo punto è possibile eseguire Crack. La sua sintassi è Crack [opzioni] [-fmt formato] [file...]

[root@Enigma c50a]# ./Crack passwd.txt
Crack 5.0a: The Password Cracker.
(c) Alec Muffett, 1991, 1992, 1993, 1994, 1995, 1996
..
Crack: launching: cracker -kill run/KEnigma.2354
Done
[root@Enigma c50a]#
Una volta lanciata l'esecuzione di Crack, si ritorna al prompt di sistema perchè il software lavora in background. E' possibile tenere sotto controllo il lavoro del programma visualizzando un file utilzzato dallo stesso nella sottodirectory run di nome Knomehost.N, in questo caso KEnigma.2354. Utilizzando TOP è possibile notare che il programma assorbe valori intorno al 98% di CPU


VISUALIZZARE I RISULTATI
L'utility Reporter ci permette di visualizzare le password deboli scovate:
[root@Enigma c50a]# ./Reporter
---- passwords cracked as of sab apr 12 22:17:15 CEST 2003 ----

Guessed root [alabama]  root [passwd.txt /bin/bash]
Una password decismente semplice come alabama sul sistema di prova (Pentium III 600 Mhz 126Mb Ram) è stata trovata in pochi minuti


FERMARE LA SESSIONE
Per fermare il il programma in modo pulito è possibile usare uno script sempre a corredo del software:
[root@Enigma c50a]# ./scripts/plaster

RECUPERARE LA SESSIONE IN CASO DI CRASH
In caso il processo dovesse interrompersi per un crash di sistema è possibile riprenderne l'esecuzione creando il file temporaneo da cui ripartire tramite con mv /run/Dnomehost.N /run/nome-file-temporaneo e poi utilizzare Crack -recover -fmt spf run/nome-file-temporaneo
[root@Enigma run]# mv DEnigma.21087 sessione-interrotta

[root@Enigma c50a]# ./Crack -recover -fmt spf run/sessione-interrotta
Crack 5.0a: The Password Cracker.
(c) Alec Muffett, 1991, 1992, 1993, 1994, 1995, 1996
System: Linux Enigma 2.4.18-3 #1 Thu Apr 18 07:37:53 EDT 2002 i686 unknown
Home: /home/homer/c50a
Invoked: ./Crack -recover -fmt spf run/sessione-interrotta
Option: -recover enabled
Stamp: linux-2-unknown
...
[root@Enigma c50a]#


CRACKING DISTRIBUITO
Il processo di cracking può essere distribuito su più macchine utilizzando il file di configurazione conf/network.conf . Per utilizzare questa modalità è necessario che Perl sia installato sulla macchina master. Una volta settato il file di configurazione è possibile lanciare l'esecuzione con:
[root@Enigma c50a]# ./Crack -network [opzioni] nomefile

Per la completa lista delle opzioni sia di crack che delle utility è possibile consultare il file manual.html.

Privacy Policy