Crack di una rete WEP

Transcript

Crack di una rete WEP
Crack di una rete WEP
Scritto da Cimenti Marco
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.
1/8
Crack di una rete WEP
Scritto da Cimenti Marco
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:
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.
2/8
Crack di una rete WEP
Scritto da Cimenti Marco
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 :
3/8
Crack di una rete WEP
Scritto da Cimenti Marco
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:
4/8
Crack di una rete WEP
Scritto da Cimenti Marco
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
5/8
Crack di una rete WEP
Scritto da Cimenti Marco
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
6/8
Crack di una rete WEP
Scritto da Cimenti Marco
{{banneradsense}}
-
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
7/8
Crack di una rete WEP
Scritto da Cimenti Marco
Come
impostate
cd
di
Backtrack
già
detto
la
ed
backtrack
aspettate
madre
èwireless
in
una
che
modo
distribuzione
si
carichi
che
iltutti
boot
ilannotare
Kernel
LINUX
primario
Linux.
live
ossia
cd-rom,
avviabile
riavviate
da
cd
ilrom.
sistema
Quindi
con ile
Al
prompt
come
user
digitate
“root
”(ricordare
esu
come
password
“toor
”.linux
A
questo
digitare
“startx
avviare
l’interfaccia
grafica.
Se
informatevi
possedete
su
una
come
scheda
installarli
odiw;
mettere
delle
con
i anche
driver
allora
tutto
bene
altrimenti
Altrimenti
contiene,
“aircrack-ng-0.9.1”
poi
Comunque
particolari
patchare
oltre
consiglio
quindi
questa
ilista
driver
che
sta
porsi
avivamente
non
se
a
migliori
voi
necessario
èandato
una
informarvi
funzionalità,
guida
installare
della
(compatibile
le
su
patch
linux
queste
cartella
la
e
nuova
sono
ipatch.
non
driver
cose.
da
contenute
posso
shell
versione
e
leqsia
e
certo
patch
digitare
della
nella
soffermarmi
disponibili.
suite
cartella
“make”
aircrack
edi
Basta
su
poi
aircrack).
tutti
“make
0.9.1
scaricare
iper
casi
che
install”
Ma
supponiamo
che
sia
tutto
perfettamente
senza
intoppi
e
digitiamo
iwconfig.
apparirà
una
delle
interfacce
di
rete
del
sistema
compresa
la
scheda
wireless:
Ci
annotatene
ilscheda
nome
!2)
digitate
Noi
supporremo
si
chiami
“wlan0”.Dovete
ilildintorni.Potete
vostro
indirizzo
MAC:
saperlo
macchanger
–s
wlan0
1)
Analisi
delle
reti
con
Una
tipo
di
volta
codifica:
avviato
premete
Kismet
sall’interno
da
e
poi
esso
rileverà
che
sile
usa
reti
nei
ordinarle
in
base” per
al
per
tornare
alpunto
menù
principale).
Scegliete
selezionatela
una
e
rete
con
un
buon
segnale
che
usi
la
codifica
WEP
(nella
colonna
la
W):
iKismet
per
informazioni,
poi
cfile
ilusato
suo
ESSID,il
suo
BSSID
epenna
ilconsole
canale
su
cui
trasmette.
per
sapere
i(prova.cap):in
client
associati.
Dovete
annotare {{banneradsense}}
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
il
-w
percorso
+
percorso
della
indica
mia
dove
verrà
usb,dopo
creato
channel
il
di
mettete
cattura
il
canale
che
avete
questo
annotato
caso
ho
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
èilin
nome
della
rete
“obiettivo”
MACDEST
è
l’indirizzo
MAC
dell’obiettivo
MACPROPRIO
è ilalfanumerico
vostro
indirizzo
MAC
(BSSID)
wlan0
dovete
sostituirlo
con
ilincrementarsi
nome
della
vostra
interfaccia
NOTA:il
MAC
si
scrive
in
questo
00:11:22:33:44:55
(con
i “:”avviene
separatori
) Dovete
Dovrebbe
sbagliato
aggirabile
qualcosa
dare
come
abbiamo
messaggio
osettare
che
la
già
rete
divisto).
autenticazione
èmodo
troppo
lontana
corretta;
omolto
chema
se
èvelocemente
presente
ciò non
un
filtro
significa
MAC
(facilmente
o che
avete
4)
Packet
Iniection
Sempre
in
una
nuova
shell:
aireplay-ng
-3
-b
MACDEST
-h
MACPROPRIO
wlan0
Dopo
da
(64,128,256,512).Se
casi
50000
estremi…
questo
a
200000
comando
pacchetti
avete
dovrebbero fortuna
per
decriptare
ne
bastano
la
chiave;dipende
30000
possiamo
dal
numero
arrivare
gli
ARP.
di
fino
bit
di
a
quest’ultima
1000000
catturare
in è
Se
ciò
non
avviene
la
modalità
di
trasferimento
con:
iwconfig
wlan0
rate
auto
avviene
una
dissociazione
dall’
AP
ripetere
il
passo
3.
{{banneradsense}}
5)
Crack
della
chiave
Sempre
dinamicamente
crescita).
con
tutte
usando
le
shell
aircrack
aperte
(dinamicamente
che
“lavorano”
potete
poiché
cercare
il
file
“prova.cap”
di
decriptare
è
in
la
continua
chiave
Useremo
raccolti
contenuta
(sarebbe
l’opzione
solo
nelle
meglio
–z
ultime
di
farlo
aircrack
versioni.
partire
che
quando
effettuerà
se
un
ne
tentativo
sono
raccolti
di
decrittazione
già
40-50000..).Tale
ogni
5000
opzione
IV
In
una
nuova
shell:
-z
-s
/mnt/sdb1_removable/prova.cap
ovviamente
dovete
mettere
il
vostro
effettuato
un
tentativo
crack.
percorso
del
file
di
cattura..Ogni
5000
IV
catturati
verrà
Esistono
approfondito
molti
su
altri
questa
tipi
di
suite.
attacchi
Per
tramite
informazioni
aircrack
sulle
che
opzioni
saranno
aggiuntive
presto
aggiunti
digitare
in
da
un
shell
articolo
aircrack-ng
--help
NOTA:
che
ivstools…
potete
se
dovete
unire
i
spegnere
file
di
cattura
pc
con
e
non
mergecap
siete
riusciti
(o
mergeivs)
a
catturare
che
abbastanza
fanno
parte
pacchetti
della
suite
riordate
Nel
prossimo
articolo
(
QUI
collaborazioni
ci occuperemo
delsue
bruteforcing
una rete
consigli e più
[email protected]
.QUIWPA;per
UPDATE:
se proprio
volete )capire
che
state
facendodiecco
spiega
a fondo
il funzionamento
delbene
wepciò
delle
debolezze:
l'approfondimento
che
8/8