spacer.png, 0 kB

Ricavare password da file /etc/shadow PDF Stampa E-mail
Valutazione attuale: / 9
ScarsoOttimo 
Martedì 25 Agosto 2009 15:33

Guida al bruteforce delle password Linux /etc/shadow di Zorzan Urban Pawel

Vi illustro come eseguire un bruteforce sulle password di sistema di Linux sfruttando John The Ripper in modalità incrementale. Questo è il metodo sicuro per ottenere una password da un file shadow.
Vi premetto che essendo il metodo sicuro al 100% di ottenere la password è anche il metodo più lento perchè prova combinazioni infinite fino a trovare quella corretta, senza bisogno di un file dizionario pertanto è necessario un processore veramente veloce per diminuire i tempi di bruteforce.

Questa guida è solo a scopo informativo, pertanto non rispondo di eventuali utlizzi illegali applicati ad essa.

Questa guida è il modo migliore per testare l'efficacia delle vostre password.

Questa guida e stata testata con Linux Slackware, Gentoo e Debian, ma è valida per ogni distribuzione Linux attualemente in circolazione, vi consiglio solo di eseguirla sotto un kernel 2.6, gcc aggiornato, ed un pc con processore molto performante.

Ora iniziamo con la guida vera e propria.

-Passo 1
Scarichiamo l'ultima versione stabile del pacchetto John The Ripper che conterrà i due strumenti che ci serviranno per il bruteforce che sono "unshadow" e "john"
Quindi andiamo sul sito :
http://www.openwall.com/john/
e cerchiamo l'ultima versione, nel mio caso è 1.7.3.1 (oggi è il 25 agosto 2009 )
poi apriamo una console linux (shell) e andiamo nella caretella /root per andare a scaricare i sorgenti :
# cd /root
# wget http://www.openwall.com/john/g/john-1.7.3.1.tar.gz
Con questo procedimento abbiamo scaricato l'ultima versione stabile di John The Ripper.
-Passo 2
Procediamo con l'installazione di John The Ripper, quindi prima lo estraiamo con il comando :
# tar xvfz john-1.7.3.1.tar.gz
poi entriamo nella sua cartella di installazione dei sorgenti :
# cd john-1.7.3.1.tar.gz ; cd src
Ora prima di cominciare a compilare il pacchetto è necessario sapere che tipo di processore abbiamo, le informazioni che ci servono sono 2; se è un processore a 32bit o 64bit e se ha il supporto MMX.
Per quanto riguarda il processore dovreste saperlo voi che tipo di processore avete, mentre per sapere se hai il suppoto mmx scriviamo :
# cat /proc/cpuinfo | grep flags
e otterremo una riga come questa :
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse
se in questa riga è presente "mmx" allora sappiamo che il mostro processore ha il supporto MMX
eccovi una lista dei pricipali sistemi per la compilazione di John Ther Ripper:
linux-x86-mmx Linux, x86 con supporto MMX (Vi consiglio questo)
linux-x86-any Linux, x86 se non sapeti il vostro processore usate questo
linux-x86-any-a.out Linux, x86 per kernel 2.4 e poca ram
linux-x86-64 Linux, AMD x86-64, per Processori 64bit
linux-x86-64-mmx Linux, AMD x86-64, 32-bit con supporto MMX
Io userò il sistema linux-x86-mmx.
la lista completa la potete ottenere scrivendo :
# make
Ora che sappiamo che sistema adottare procediamo alla compilazione con :
# make clean linux-x86-mmx
-Passo 3
Prepariamo il file da dare in pasto a John The Ripper, quindi com il comando unshadow combiniamo i file /etc/passwd e /etc/shadow :
# ../run/unshadow /etc/passwd /etc/shadow > /root/password.tutte.db
Ora abbiamo il file pronto per John The Ripper, ma a noi interessa solo una password, cioè quella di root allora creiamo un nuovo file con solo la pass di root da dare in pasto a John The Ripper :
# cat /root/password.tutte.db | grep root > /root/password.root.db
-Passo 4
Ora siamo pronti a dare in pasto a John The Ripper la password di root da scovare!
Vi avverto che John The Ripper utilizzerà il 99.9% del vostro processore, quindi quando lui stà lavorando vi conviene non fare altroo comunque utilizzare una macchina standalone per eseguire il bruteforce.
Per capirci eccovi l'andamento della macchina quando John The Ripper è in esecuzione :
# top
Tasks: 82 total, 3 running, 79 sleeping, 0 stopped, 0 zombie
Cpu(s): 100.0% user, 0.0% system, 0.0% nice, 0.0% idle
Mem: 385120k total, 371712k used, 13408k free, 82000k buffers
Swap: 2097136k total, 15452k used, 2081684k free, 124064k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
16424 root 15 0 5864 5864 480 R 99.7 1.5 12:13.69 john
Ora possiamo cominciare il bruteforce della password :
# ../run/john /root/password.root.db
Questa operazione può durare parecchio tempo a seconda della complessità della password, in questo caso ho utilizzato come password "pippo" ed ecco il risultato di John The Ripper :
Loaded 1 password hash (FreeBSD MD5 [32/32])
pippo (root)
guesses: 1 time: 0:00:01:11 (3) c/s: 3295 trying: pippo
Da qui possiamo capire che per scovare la password ci ha messo 1 minuto e 11 secondi(con un processore P4 2Ghz) e ha trovato quella corretta in 3295 tentativi.
Per rileggere la password che John The Ripper ha trovato potete utilizzare il comando :
# ../run/john -show /root/password.root.db
Per qualsiasi dubbio o critica non esitate a lasciare un commento.
La ripubblicazione di questo articolo è consentita ma solo se ne citate la fonte : Zorzan Urban Pawel http://www.pawelzorzan.eu

 

 

Comments (0)

 
Ricerca in NetMind
Anonymous Okno
Menu Principale
Menu Papers
Menu Download
Menu Links
Stats
Tot. visite contenuti : 342678
 9 visitatori online