PcPedia >> non subire l informatica!

  • Increase font size
  • Default font size
  • Decrease font size
  • default color
  • black color
Home Guide Hacking Crack di una rete WEP

Crack di una rete WEP

E-mail Stampa PDF

 

Inizieremo con un po’ di teoria su come funziona il WEP e l’RC4 per poi illustrare a fondo il funzionamento di alcuni programmi (Kismet e la suite Aircrack). Infine applicheremo le conoscenze acquisite con un semplice tutorial. I programmi che utilizzeremo sono contenuti in tutte le distribuzioni LINUX.
E’ possibile svolgere il tutorial senza nozioni di teoria ma a parer mio non è dignitoso svolgere delle operazioni senza conoscerne neppure il significato.

Qui riporto uno script di shell in bash che compie queste operazioni in automatico.

 

  • Un po’ di teoria

Le trasmissioni wireless sono altamente insicure poiché consentono a chiunque di accedere ai dati trasmessi da una rete domestica anche distante centinaia di metri dall’Access Point.
Com’è noto ai più lo standard IEEE802.11 include una protezione di base conosciuta come il protocollo WEP (Wired Equivalent Protocol) che definisce una serie di direttive tramite cui i dati possono essere trasmessi via radio con un certo grado di sicurezza.

 

RC4 e KSA

L’algoritmo utilizzato dal WEP si chiama RC4: è un sistema di cifratura semplice e solido… E’ la sua implementazione nel WEP che crea parecchi problemi di sicurezza. RC4 è utilizzato ad esempio in SSL (Secure Sockets Layers) e quindi in moltissime attività di commercio elettronico. Esso utilizza una chiave unica (packet key) per ogni pacchetto di dati trasmesso.
RC4 si occupa di generare dei numeri pseudo-casuali, (è  un PRNG=Pseudo-Random Number Generator). In poche parole grazie ad una “password” in ingresso crea una serie di numeri, che ad un'analisi statistica sembrano casuali..Invece sono pseudo-casuali ossia possiamo riottenere la stessa serie di dati se la password utilizzata è lo stessa.
Se effettuiamo lo XOR tra i numeri casuali generati da RC4 ed un documento, otterremo una terza serie di dati che sarà anch’essa un apparente flusso di dati casuali.

NOTA:lo XOR (or esclusivo) è una semplicissima operazione booleana operata tra due bit:

 

 

XOR

 

CODIFICA:

L’algoritmo, come già detto, necessita di una password condivisa, un conseguente valore di stato ed un vettore di inizializzazione (IV) di 24 bit: questo sistema è noto con il nome di KSA (key scheduling algorithm).
Ogni pacchetto trasmesso avrà un IV differente che serve assieme alla password condivisa a creare una packet key univoca per ciascun “dato”.
Il vettore così creato è messo in relazione XOR con il messaggio in chiaro da trasmettere: viene cosi’ creato il testo cifrato.
In aggiunta a questo flusso viene aggiunto il checksum (che in poche parole serve  ad assicurare l’integrità dei dati durante la trasmissione) ed un bit che marchia il pacchetto come cifrato.

DECODIFICA:


Quando il pacchetto viene ricevuto (il bit indica che è cifrato..) :

  • l’ IV (vettore inizializzazione) viene anteposto ai dati e messo in relazione con la password condivisa.
  • viene quindi ricreato il KSA per ricreare il flusso dati.
  • Il flusso dati ed il pacchetto di dati cifrato viene messo in XOR ricavando così i dati in chiaro.

 

La Collisione degli IV

Eccoci giunti a spiegare la vera debolezza del wep: la collisione dei vettori di inizializzazione.
Come già visto, il WEP utilizza un IV di 24 bit che viene anteposto ad ogni pacchetto inviato. Ci possono essere 2^24=16 milioni di IV differenti e quindi di possibili chiavi. Sono poche?
Sono poche poiché una volta terminati gli IV disponibili si assiste a delle ripetizioni (dette collisioni) . In media ogni 10 MB si verificano come minimo 1 o 2 collisioni.
Catturando molti MB di dati wireless è possibile collezionare tutti gli IV a disposizione con la conseguente possibilità di tentare una decodifica.
Se gli IV diversi fossero più numerosi il tempo per una ripetizione sarebbe molto più elevato: questa è una delle grosse debolezze del WEP.L’ altra debolezza è ovviamente che gli IV sono trasmessi in chiaro.

se volete approfondire ancora di più questo argomento: ecco la nuova guida completa al wep :

http://www.pcpedia.it/Hacking/approfondimento-wep.html

La questione dei driver

Per svolgere con successo il tutorial è  fondamentale possedere una scheda wireless che possa operare in monitor mode ed possa effettuare la packet iniection. Molte schede wifi la supportano ma è necessario verificare se esistono i driver opportuni. Usiamo LINUX poiché i driver “speciali” per windows sono estremamente pochi. Sarebbe opportuno utilizzare una distribuzione live (che si avvia da cd-rom) recente, meglio se già predisposta a queste operazioni. Personalmente consiglio Backtrack 2 o 3.


E’ pertanto fondamentale informarsi sulle caratteristiche della propria scheda wifi e verificare se i driver per l’iniection sono già integrati nella distribuzione Linux scelta.


NOTA: a coloro che utilizzano ndiswrapper ricordo che nella maggior parte dei casi i driver windows non supportano nulla di quanto detto.

 

MAC spoofing

L’indirizzo MAC è un numero esadecimale che identifica univocamente la nostra scheda wireless e anche quella ethernet: è del tipo 00:11:22:33:44:55.
Tuttavia è facilmente modificabile sia in windows che linux. In windows si può modificare con programmini del tipo macmakeup, in linux si può usare ifconfig o macchanger.
Con macmakeup è estremamente semplice quindi vediamo come in linux:


ifconfig wlan0 down
ifconfig wlan0 hw ether 00:11:22:33:44:55
// il nuovo indirizzo MAC
ifconfig wlan0 up

dove wlan0 è il nome dato dal sistema alla nostra scheda wifi e varia a seconda del chip della scheda (si può verificare il nome digitando iwconfig da shell).
E’ evidente quindi come il filtro MAC usato da alcuni non sia questa grande difesa..

 

  • Uno sniffer wireless: Kismet

Kismet è un programma con una interfaccia spartana ma molto efficace. Il suo funzionamento è estremamente semplice. E’ in grado di elencare tutte le reti wireless captabili dalla scheda e di informarci su:

  • il tipo di protezione usata da una rete (WEP,WPA,WPA2,Open)
  • l’indirizzo MAC della rete e di tutti i suoi client (BSSID)
  • il nome alfanumerico della rete (ESSID)
  • la potenza e il rumore (le interferenze) del segnale

Inoltre setta automaticamente la scheda in monitor mode. Tuttavia per un difetto con alcune schede una volta spento il programma questa resta in monitor mode ed è necessario ripristinare manualmente la modalità Menaged (quella normale per intenderci).
Una volta avviato Kismet la scheda passa in modalità monitor e nella schermata principale appaiono le reti radio captate assieme ad altri dettagli raggruppati in colonne:
le colonne più significative sono:


ESSID: il nome dato alla rete
Ch: il canale su cui opera la rete
T: il tipo di rete (A= access point,H=ad hoc,G=gruppo reti)
W: il tipo di codifica (Y=WEP, N=no wep cioè open,O=altra codifica probabilmente WPA).
F: sono i flags (F=default, W=significa che avete impostato la chiave nel file di configurazione di Ksmet)


Ma ecco alcuni comandi utili da digitare:

  • s : (sort) apre una finestra che permette di ordinare le reti in base alla potenza del segnale, al tipo di codifica, all’ ESSID… Si torna al menù precedente sempre con q.
  • i : (informazioni) selezionando una rete con le frecce e premendo “i” si ottengono tutte le informazioni ricavabili: l’indirizzo MAC, i dettagli sulla codifica, la potenza del segnale, il numero di client connessi…etc
  • c : (client) fornisce dettagli sui client connesi alla rete scelta.
  • d : (dump) visualizza il traffico di rete: se è codificato osserveremo delle stringhe incomprensibili, se la rete è libera verrà visualizzato tutto il traffico in chiaro (ad esempio siti visitati, parole digitate).Se il traffico è criptato e possediamo la chiave possiamo inserirla nel file di configurazione di KISMET per decriptare in tempo reale (vd nota).

NOTA: per modificare il file di configurazione è sufficiente digitare da shell:


kwrite /var/local/etc/kismet.conf


si aprir à l’editor di testo kwrite e si dovrà aggiungere la riga

wepkey = BSSID,KEY


al posto di BSSID il ome della rete e di KEY la chiave esadecimale
nella colonna flags (F) relativa alla rete apparirà quindi W ad indicare il successo dell’operazione

 

 

  • TUTORIAL

Passiamo ad un esempio di applicazione della suite air crack; testiamolo su un nostro Access Point o su quello di un nostro amico consenziente (bla bla bla).
Le nostre operazioni si divideranno in 5 fasi

  1. avvio distribuzione linux consiglio (Backtrack 2 o 3) e verifica driver wireless o installazione delle patch.
  2. analisi della rete da crackare (uso di Kismet in monitor mode)
  3. inizio cattura pacchetti con airodump con salvataggio dati
  4. falsificazione dell’associazione alla rete con airodump
  5. ARP spoofing (packet iniection) con aireplay
  6. Crack della chiave in modo statico o dinamico con aircrack

 

0) Avvio di Backtrack

 

bt

 

Come già detto backtrack è una distribuzione LINUX live ossia avviabile da cd rom. Quindi impostate la scheda madre in modo che il boot primario sia il cd-rom, riavviate il sistema con il cd di Backtrack ed aspettate che si carichi il Kernel Linux.
Al prompt come user digitate “root” e come password “toor”. A questo punto digitare “startx” per avviare l’interfaccia grafica.
Se possedete una scheda wireless compatibile con i driver linux allora tutto bene altrimenti informatevi su come installarli o mettere delle patch.
Altrimenti consiglio vivamente di installare la nuova versione della suite aircrack 0.9.1 che contiene, oltre che a migliori funzionalità, tutti i driver e le patch disponibili. Basta scaricare “aircrack-ng-0.9.1” porsi all’interno della cartella da shell e digitare “make” e poi “make install” e poi patchare i driver se necessario ( le patch sono contenute nella cartella di aircrack). Comunque questa non è una guida su linux e non posso certo soffermarmi su tutti i casi particolari quindi sta a voi informarvi su queste cose.
Ma supponiamo che sia andato tutto perfettamente senza intoppi e digitiamo iwconfig. Ci apparirà una lista delle interfacce di rete del sistema compresa la scheda wireless: annotatene il nome! Noi supporremo si chiami “wlan0”.Dovete annotare anche il vostro indirizzo MAC: per saperlo digitate
macchanger –s wlan0

 

1) Analisi delle reti con Kismet

 

Una volta avviato Kismet da console esso rileverà le reti nei dintorni.Potete ordinarle in base al tipo di codifica: premete s e poi w; (ricordare che si usa q per tornare al menù principale).
Scegliete una rete con un buon segnale che usi la codifica WEP (nella colonna la W): selezionatela e premete i per informazioni, poi c per sapere i client associati. Dovete annotare  il suo ESSID,il suo BSSID e il canale su cui trasmette.

2) Cattura pacchetti con airodump

 

Lasciate aperto Kismet per mantenere il monitor mode ed in un’altrashell digitare:


airodump-ng wlan0 -w /mnt/sdb1_removable/prova --channel 3

  • wlan0 è il nome della wireless card che sostituirete con il vostro
  • -w + percorso indica dove verrà creato il file di cattura (prova.cap):in questo caso ho usato il percorso della mia penna usb,dopo channel mettete il canale che avete annotato prima.

3) Associazione alla rete

 

aireplay-ng -1 0 -e ESSID -a MACDEST -h MACPROPRIO wlan0

  • -1 è l’opzione che indica di falsificare l’autenticazione con l’AP
  • 0 è il delay dell’attacco
  • ESSID è in nome alfanumerico della rete “obiettivo”
  • MACDEST è l’indirizzo MAC dell’obiettivo
  • MACPROPRIO è il vostro indirizzo MAC (BSSID)
  • wlan0 dovete sostituirlo con il nome della vostra interfaccia

NOTA:il MAC si scrive in questo modo 00:11:22:33:44:55 (con i “:” separatori )
Dovrebbe dare il messaggio di autenticazione corretta; se ciò non avviene significa o che avete sbagliato qualcosa o che la rete è troppo lontana o che è presente un filtro MAC (facilmente aggirabile come abbiamo già visto).

 

4) Packet Iniection

 

Sempre in una nuova shell:


aireplay-ng -3 -b MACDEST -h MACPROPRIO wlan0


Dopo questo comando dovrebbero  incrementarsi molto velocemente gli ARP. Dovete catturare da 50000 a 200000 pacchetti per decriptare la chiave;dipende dal numero di bit di quest’ultima (64,128,256,512).Se avete fortuna ne bastano 30000 ma possiamo arrivare fino a 1000000 in casi estremi…
Se ciò non avviene settare la modalità di trasferimento con:


iwconfig wlan0 rate auto


Se avviene una dissociazione dall’ AP ripetere il passo 3.

5) Crack della chiave

 

Sempre con tutte le shell aperte che “lavorano” potete cercare di decriptare la chiave dinamicamente usando aircrack (dinamicamente poiché il file “prova.cap” è in continua crescita).
Useremo l’opzione –z di aircrack che effettuerà un tentativo di decrittazione ogni 5000 IV raccolti (sarebbe meglio farlo partire quando se ne sono raccolti già 40-50000..).Tale opzione è contenuta solo nelle ultime versioni.


In una nuova shell:


aircrack-ng -z -s /mnt/sdb1_removable/prova.cap


ovviamente dovete mettere il vostro percorso del file di cattura..Ogni 5000 IV catturati verrà effettuato un tentativo di crack.

Esistono molti altri tipi di attacchi tramite aircrack che saranno presto aggiunti in un articolo più approfondito su questa suite. Per informazioni sulle opzioni aggiuntive digitare da shell

aircrack-ng --help

NOTA: se dovete spegnere il pc e non siete riusciti a catturare abbastanza pacchetti riordate che potete unire i file di cattura con mergecap (o mergeivs) che fanno parte della suite ivstools…

Nel prossimo articolo (QUI) ci occuperemo del bruteforcing di una rete WPA;per consigli e collaborazioni Questo indirizzo e-mail è protetto dallo spam bot. Abilita Javascript per vederlo. .

UPDATE: se proprio volete capire bene ciò che state facendo ecco QUI l'approfondimento che spiega a fondo il funzionamento del wep delle sue debolezze:

 


Sostenete il rinnovamento del sito dando un'occhiata ai link pubblicitari che vi interessano.
Commenti
Nuovo Cerca
+/-
Commenta
Nome:
Email:
 
Website:
Titolo:
UBBCode:
[b] [i] [u] [url] [quote] [code] [img] 
 
 
:D:angry::angry-red::evil::idea::love::x:no-comments::ooo::pirate::?::(
:sleep::););)):0
 
Please input the anti-spam code that you can read in the image.
kazikamuntu |2009-10-19 15:34:05
E questa è una chicca che stiamo scrivendo!
http://www.pcpedia.it/Hacking/approfondimento-wep.html
mcprojects |2009-09-16 23:28:48
Grazie, è di fondamentale importanza capire e conoscere le cose che si fanno. Comunque è solo il primo strato di teoria (...) se vuoi approfondire di più ti consiglio questa tesi di laurea (in inglese) che spiega con chiarezza l'algoritmo.http://eprint.iacr.org/2007/471.pdf
frank |2009-09-15 21:13:21
Una delle migliori e più complete (anche a livello teorico) ;)

!joomlacomment 4.0 Copyright (C) 2009 Compojoom.com . All rights reserved."


 

Login