Prolomení WEP

Z Milan Kerslager
Verze z 17. 12. 2010, 10:16, kterou vytvořil Milan.Kerslager (diskuse | příspěvky) (Kontrola správnosti klíče: doplnění)
Přejít na: navigace, hledání

Zabezpečení Wi-Fi je komplexní problematika, která je popsána v slajdech pro přednášku o bezpečnosti, které jsou dostupné na stránce Soubor:PBE-07-Bezpečnost Wi-Fi.odp.

Zranitelnost WEP

Šifrování pomocí WEP je prolomeno a existuje několik postupů, pomocí kterých je možné z odposlechu běžného provozu zjistit symetrický šifrovací klíč. Proto není bezpečné toto šifrování používat. Na ukázku je možné zřídit vlastní AP, které zabezpečíme pomocí WEP klíče. Na přístupový bod připojíme klienta a zajistíme, aby dostatečně komunikoval, tj. nejlépe stahoval přes bezdrátovou síť nějaké soubory. Do jeho dosahu umístíme počítač, který bude sloužit k odposlechu bezdrátového provozu. V případě, že vysílací AP bude v bezprostřední blízkosti, může se stát, že přijímající bezdrátová karta bude zahlcena a paradoxně budeme mít problémy s odposloucháváním provozu. V tomto případě je možné vysílající AP umístit do sousední místnosti nebo vložit mezi vysílač a přijímač kovovou překážku.

Bezdrátové rozhraní

Informace o tom, jaké nastavení má bezdrátové rozhraní v počítači, podává příkaz iwconfig, který je nutné spustit jako root (správce systému):

# iwconfig
lo        no wireless extensions.

eth1      IEEE 802.11  ESSID:"RADIUS"  Nickname:""
          Mode:Managed  Frequency:2.412 GHz  Access Point: 00:1A:30:2C:57:F0   
          Bit Rate=54 Mb/s   Tx-Power:24 dBm   
          Retry min limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Managementmode:All packets received
          Link Quality=5/5  Signal level=-45 dBm  Noise level=-91 dBm
          Rx invalid nwid:0  Rx invalid crypt:35  Rx invalid frag:0
          Tx excessive retries:2094  Invalid misc:0   Missed beacon:0

eth0      no wireless extensions.

Z výpisu je patrné, že bezdrátové rozhraní je v počítači nazváno eth1. Aktuálně je připojeno k bezdrátové síti RADIUS.

Zjištění bezdrátové sítě

Základní informace o okolních bezdrátových sítích se šíří pomocí majákových rámců (beacon frame), které obsahují název sítě (SSID), frekvenci, na které bezdrátová síť vysílá (v pásmu 2,4 nebo 5 GHz), informace o použitém zabezpečení sítě a další údaje.

# iwlist eth1 scanning
         Cell 01 - Address: 00:1A:30:2C:57:F0
                   ESSID:"RADIUS"
                   Mode:Managed
                   Frequency:2.412 GHz (Channel 1)
                   Quality:5/5  Signal level:-37 dBm  Noise level:-94 dBm
                   IE: IEEE 802.11i/WPA2 Version 1
                       Group Cipher : CCMP
                       Pairwise Ciphers (1) : CCMP
                       Authentication Suites (1) : 802.1x
                   Encryption key:on
                   Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 6 Mb/s; 9 Mb/s
                             11 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
                             48 Mb/s; 54 Mb/s
         Cell 02 - Address: 00:24:01:8F:93:00
                   ESSID:"PrivateNet"
                   Mode:Managed
                   Frequency:2.437 GHz (Channel 6)
                   Quality:1/5  Signal level:-90 dBm  Noise level:-93 dBm
                   Encryption key:on
                   Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
                             9 Mb/s; 12 Mb/s; 48 Mb/s; 18 Mb/s; 24 Mb/s
                             36 Mb/s; 54 Mb/s

Z výpisu je patrné, že v dosahu jsou dvě bezdrátové sítě. Jako první je bezdrátová síť RADIUS, která vysílá na kanálu 1, její přístupový bod (AP) má MAC adresu 00:1A:30:2C:57:F0 a ke které je aktuálně počítač podle předchozího výpisu připojen. Druhá síť se nazývá PrivateNet, vysílá na kanále 6, její přístupový bod má MAC adresu 00:24:01:8F:93:0E.

Odposlech provozu

Odposlech provozu lze provádět pouze na vlastních zařízeních nebo na zařízeních, u kterých máte majitelem tuto činnost schválenu! Pro odposlech provozu je nutné, aby byla bezdrátová karta počítače uvedena do klidu, a proto je nutné se odpojit od bezdrátové sítě RADIUS. V grafickém prostředí je možné kliknout na ikonu bezdrátového připojení a zvolit Odpojit. Poté použijeme monitorovací nástroj airodump-ng:

airodump-ng --ivs -w data --bssid 00:24:01:8F:93:00 --channel 6 eth1

Výše uvedený příkaz začne zaznamenávat do souborů začínajících na data tak zvané inicializační vektory (tříbajtový údaj), ze kterých je možné dále vypočítat šifrovací klíč (bez toho, aby bylo nutné monitorovací příkaz přerušovat. Pro úspěšné dekódování šifrovacího klíče je nutné nasbírat zhruba alespoň 25 000 vektorů (pro 64bitový klíč), spíše však mnohem více (tj. 100&nbsp000 až milióny).

Ve výstupu programu je zobrazena přehledná tabulka, která zobrazuje aktuální stav:

BSSID              PWR  Beacons   # Data  CH  MB  ENC   ESSID

00:24:01:8F:93:00   46       15     3416   6  54. WEP   PrivateNet 
00:09:5B:1F:44:10   36       54        0  11  11  OPN   NETGEAR

BSSID              STATION            PWR  Packets  Probes

00:24:01:8F:93:00  00:09:5B:EB:C5:2B   48      719  PrivateNet
00:24:01:8F:93:00  00:02:2D:C1:5D:1F  190       17  PrivateNet


Problémy při odposlechu provozu

Pro dešifrování provozu nejsou k ničemu majákové rámce (beacon frame), ve kterých se přístupový bod ohlašuje, protože jsou vždy rozesílány nešifrovaně. Pokud karta žádný provoz nepřijímá, jste možná příliš vzdáleni nebo je karta přepnuta do odlišného režimu (B vs. G) nebo nasloucháte na nesprávném kanálu (frekvenci). Příčinou může být i chyba ve firmware nebo neschopnost ovladačů poskytnout možnost přepnout kartu do monitorovacího režimu (monitor mode, též promiskuitní režim), což je obvyklá situace v Microsoft Windows nebo v Linuxu při používání originálních uzavřených binárních ovladačů přímo od výrobce bezdrátové karty.

Dekódování klíče

Dekódování klíče lze provádět pouze na vlastním síťovém provozu nebo v případě, že máte majitelem tuto činnost schválenu! Pro dekódování šifrovacího klíče z nasbíraných inicializačních vektorů se používá příkaz aircrack-ng:, který se pokusí z dostupných zaznamenaných inicializačních vektorů určit symetrický šifrovací klíč.

aircrack-ng *.ivs

Zápis *.ivs umožní zpracovat všechny IVS soubory, které byly uloženy jednotlivými spuštěními monitorovacího příkazu airodump-ng. Výpočet klíče je možné ovlivnit různými parametry. Pokud známe délku použitého klíče, můžeme ji uvést pomocí parametru -n 64, kde 64 je délka klíče (běžně též 128). Délku výpočtu hrubou silou je možné ovlivnit (prodloužit) nastavením parametru například -f 128. V takovém případě je možné, že bude stačit méně nasbíraných inicializačních vektorů, ale výpočet se výrazně prodlouží.

Útoky na bezdrátovou síť

Útoky na bezdrátovou síť lze provádět pouze vůči vlastním zařízením nebo na zařízení, u kterých máte majitelem tuto činnost schválenu! Útoky na bezdrátovou síť se většinou provádějí s cílem vyprovokovat nějaký síťový provoz, protože to znamená generování nových inicializačních vektorů, které útočník potřebuje nasbírat. Útoky se provádějí zejména v případě, kdy na bezdrátové síti není žádný síťový provoz nebo dokonce není připojen žádný klient.

Připojený neaktivní klient

V tomto případě lze vysíláním falešných rámců například vyprovokovat odpojení a opětovnou asociaci klienta na přístupový bod.

Bez připojeného klienta

V takovém případě je nutné provokovat samotný přístupový bod.

Kontrola správnosti klíče

Implicitně je na přístupových bodech použita Open-System Authentication, která dovoluje asociaci jakéhokoliv klienta, přičemž není použitý klíč kontrolován. Klíč je používán až při přenosu dat, takže v případě nesprávného klíče není možné odesílat ani přijímat data. Druhou možností je Shared-Key Authentication, kdy klient šifruje již samotnou výzvu k asociaci. Tato metoda se však nepoužívá, protože je při ní možné zjistit šifrovací klíč. Z uvedeného vyplývá, že úspěšná asociace na přístupový bod není zárukou, že klíč je správný. Správnost klíče je nutné ověřit přenosem dat nebo odposlechem probíhajícího provozu.

Externí odkazy