it
«Back|Track-[IT]
www.backtrack.it
Q uesto pdf contiene tre sezioni, una dedicata all’introduzione ed impiego generale di CUDA,
mentre la seconda e terza verterà nell’utilizzo dei tools: Wyd - Pyrit e CUDA Multiforcer.
CUDA (acronimo di Computer Unified Device Architecture) è l’architettura per il calcolo parallelo
sviluppato da Nvidia, nasce con lo scopo di utilizzare la/le GPU/s per compiti non grafici, definite
in gergo GPGPU.
La GPGPU (General Purpose computation using GPU) ha come scopo l'utilizzo del processore
della scheda grafica per scopi diversi dalla tradizionale creazione di un'immagine tridimensionale;
in tale ambito di utilizzo la GPU viene impiegata per elaborazioni estremamente esigenti in termini
di potenza di elaborazione, e per le quali le tradizionali architetture CPU non hanno una capacità di
elaborazione sufficiente.
La caratteristica più eclatante di questo tipo di utilizzo delle GPU è l'enorme potenza teorica offerta
da tali soluzioni, e di conseguenza il ridotto tempo di elaborazione, quando confrontato con
analoghe elaborazioni svolte dalle CPU.
Merito di ciò è dovuto alla natura stessa dell’architettura, come si evince dall’immagine:
***
Password Cracking - Wyd - Pyryt - CUDA Multiforcer- www.backtrack.it
Password Cracking - Wyd - Pyryt - CUDA Multiforcer- www.backtrack.it
Passiamo ora alla parte pratica, ci serviremo, in prima istanza, del noto programma Pyrit, contenuto
in backtrack.
Pyrit nasce con l’intendo di creare un programma che sia in grado di creare un grande database,
precompilato, per il cracking delle password nelle reti wireless protette attraverso la codifica TKIP
(WPA-PSK) e AES (WPA2-PSK).
A differenza di altri tools simili, dalla sua parte gioca il vantaggio di creare un database
precompilato, in grado di poter essere sia riutilizzato, pensiamo nei casi di ssid di default, e sia
d’altro canto di risparmiare enormi di cicli CPU.
Ma la vera novità che introduce nel campo, è l’utilizzo della tecnologia CUDA (Nvidia) e Stream
(Ati) nella generazione del database. Accelerando di fatto i tempi di creazione del database stesso in
termini non indifferenti, come si evince dall’immagine sottostante:
P yrit, di default viene installato con Backtrack, tuttavia per abilitare le librerie CUDA bisogna
installare il pacchetto backtrack-nvidia, il quale contiene i driver Nvidia.
Si consiglia di installarlo fuori dall’ambiente X, in quanto nell’installazione del driver è necessario
che X non sia attivo.
Discorso analogo se si vuole attivare Stream, per i possessori di schede Ati, il pacchetto in
questione è backtrack-ati, stesso consiglio di sopra per quanto riguarda l’installazione.
Una volta terminate le operazioni di installazione, possiamo effettuare una prova per testare il
nostro sistema, da terminare digitare pyrit benchmark
Ora il passo successivo è la costruzione del dizionario per generare il nostro database,
fortunatamente Backtrack ci viene in aiuto sotto questo punto di vista, sia fornendo un dizionario
già pronto, sia fornendoci un pratico tool per la creazione chiamato wyd.
Per prima costa installiamo il pacchetto backtrack-worldlists , che non è che altro che un bel
dizionario già pronto, ovviamente viene richiesto molto spazio su hardisk oltre i 400 megabyte.
Tuttavia è possibile crearsi un proprio dizionario utilizzando wyd, ad esempio con parole del
dizionario italiano o nomi di persona. A scopo didattico creeremo un dizionario partendo da nomi di
persona italiani:
Come prima cosa, scarichiamo il nostro elenco già pronto, wikipedia in questo ci aiuta, salviamo la
pagina contenente i Nomi Italiani:
wget http://it.wikipedia.org/wiki/Nomi_italiani
mv Nomi_italiani Nomi_italiani.html (necessario per permettere wyd di utilizzare il plugin)
cd /pentest/passwords/wyd (necessario portarsi nella directory di origine, pena errore)
./wyd.pl –o /home/nomi.txt /home/Nomi_italiani.html
/home/nomi.txt > directory dove si vuole salvare il file elaborato
/home/Nomi_italiani.html > directory sorgente dove è stato salvato il file da elaborare
È inoltre opportuno eliminare fastidiosi doppioni o tutte quelle parole inutili, difatti sappiamo che le
password WPA-WPA2/PSK sono comprese fra gli 8 ed i 63 caratteri, ed alcune volte è utile avere
un dizionario con tutte parole minuscole, in quanto le più usate.
Torniamo ora a pyrit, come prima cosa dobbiamo creare il nostro database, per fare ciò dobbiamo
prima inizializzare il database con la creazione del essid e successivamente importare la lista delle
password creata in precedenza:
pyrit –e “K world” create_essid (“K world” nome essid bersaglio)
pyrit –f nomi_wpa_m.lst import_passwords
Per coloro che vogliono usare la lista fornita da Backtrack:
pyrit –f /pentest/password/worldlists/wpa.txt import_passwords
Una volta creato il database, bisogna esportarlo in un formato appropriato, in base al tipo di
programma che verrà utilizzato, i formati supportati sono sia cowpatty che aircrack.
Useremo aircrack, in quanto alcune volte cowpatty può dare errori di tipo “buffer overflow”
pyrit –e “K world” –f db_air.out export_hashdb
“K world” > essid della rete bersaglio
db_air.out > nome scelto per il file da esportare
Senza database
Come si evince dalla immagini nel primo caso utilizzando il database si è ottenuto un risultato di
circa 60.000 keys/s, mentre nel secondo caso, senza database, si è ottenuto un risultato di circa
1200 keys/s per un incremento totale di 50 volte.
V eniamo ora invece al crack delle password che usano gli algoritmi MD4, MD5 e NTML
utilizzando la potenza di CUDA, il programma in questione è CUDA-Multiforcer.
www.backtrack.it
***
Questo documento è da ritenersi esclusivamente per scopi informativi / didattici, l' autore del
testo e coloro che lo ospitano sul proprio spazio non sono responsabili delle azioni commesse da
terze parti.
***