Kismet WiFI na Centrino pod SuSE 10.1
Tak jsem se pustil do odhalování tajů WiFi a zkusil na svém notebooku (IBM ThinkPad T42) nainstalovat Kismet. Nebyla to procházka růžovým sadem, tak jdu přispět se svou troškou do mlýna.
Kismet je jedním ze základních nástrojů pro analýzu bezdrátových sítí Wi-Fi (IEEE 802.11). Jeho použití je široké, kromě základní funkce – prohledávání okolních sítí ho lze využít i k detekci průniků, obsazenosti kanálů, šifrování a provozních statistik bezdrátových sítí.
Základní princip je velmi jednoduchý, kismet přepne adaptér do monitorovacího módu (rf monitor) a pasivně odchytává všechny pakety. Protože sám nic nevysílá, neobjeví se o jeho činnosti žádný záznam v logu okolních AP nebo stanic a poskytuje dobrý obraz okamžitého i dlouhodobého stavu okolního Wi-Fi prostoru aniž by jej sám jakkoli ovlivňoval. Kismet tedy vyžaduje vhodný síťový adaptér (resp. kombinaci ovladače příp. firmware) který lze přepnout do monitorovacího módu, seznam testovaných chipsetů najdeme zde:
V SuSE 10.1 je instalace velmi jednoduchá, zkompilované binárky najdete ve správci programů (na DVD nebo v internetu - pozor obsahy instalačních CD nejsou stejné jako DVD nebo internet takže pokud něco nebudete moct najít, jděte do instalačních zdrojů a upravte si to).
Dále je třeba nastavit zdroj. adaptér v souboru /etc/kismet.conf podle readme (najdete ho /usr/share/doc/packages/kismet/README v kap. 12 - Capture sources). Nejdříve je třeba zjistit typ a verzi ovladače síťového adaptéru (pomohou příkazy lspci, lsmod, modinfo modul, ifconfig). Protože jsem použil distribuci SuSE 10.1 a notebook s adaptérem Intel PRO/Wireless 2200BG (ovladač ipw2200 v. 1.0.10, firmware 2.4), který je v této konfiguraci podporován nečekal jsem žádné problémy. V mém případě bylo třeba v souboru /etc/kismet.conf upravit řádek:
source=ipw2200,eth0,centrino_src
pro vloženou kartu Proxim Orinoco s chips. Atheros AR5212 802.11abg bude vypadat nastavení zdroje takto:
source=madwifing_b,ath1,orinoco_src
V řádku jsou parametry zdrojového adaptéru jeho typ, interface, název (ten může být libovolný název slouží jen pro zápis do logu).
Přihlásíme se na konzoli jako uživatel root a spustíme kismet. Ten přestaví kartu do RF-Mon režimu (to je provázeno ztrátou spojení, pokud ji současně používáte pro připojení, takže je třeba restartovat síť aby se znovu navázalo spojení na AP. A teď začaly problémy: pro adaptér ipw2200 se kismet nespustil a vypsal:
Failed to set monitor mode: Invalid argument.
Následovalo hledání v google, vše objasnila bugzilla SuSE (konkrétně třetí komentář). V originálních jádrech SuSE 10.1 a všech dosavadních aktualizací je pro kompilaci modulu ipw2200 chyba, která nezpřístupňuje povolení monitorovacího módu tohoto ovladače při kompilaci. Opravu rekompilaci modulu provedeme tímto postupem:
- Nainstalujeme zdrojáky jádra v YaSTu přes Správce programů --> Výběry „C/C++ kompilátor a nástroje“ a „Vývoj jádra“.
- Dále přejdeme na stránku http://lkml.org/lkml/2006/1/5/319 kde zkopírujeme do schránky obě sekce config (předznamenané znaménkem + na zač. řádku, jde o sekci IPW2200_MONITOR
a IPW_QOS). Otevřeme editorem soubor /usr/src/linux/drivers/net/wireless/Kconfig a před sekci config IPW2200_DEBUG vložíme zkopírované řádky a smažeme znaménka +. - Přihlásíme se na konzoli jako root a přepneme se do adresáře /usr/src/linux kde překompilujeme moduly jádra.
- thinkpad:/usr/src/linux # make cloneconfig
- thinkpad:/usr/src/linux # make menuconfig
- V sekci Device Drivers --> Network device support --> Wireless LAN --> Intel PRO/Wireless 2200BG and 2915ABG Network Connection povolte Enable promiscuous mode (NEW), program ukončete a uložte nastavení. Zkompilujte ovladače:
- thinkpad:/usr/src/linux # make modules
- Přejmenujte starý ovladač a překopírujte nový
- thinkpad:/usr/src/linux # cd /lib/modules/`uname -r`/kernel/drivers/net/wireless ; mv -v ipw2200.ko ipw2200.ko.old ; mv -v /usr/src/linux/drivers/net/wireless/ipw2200.ko
Po restartu systému by mělo přepínání režimu fungovat což lze vyzkoušet příkazem:
thinkpad:/usr/src/linux # iwconfig eth0 mode monitor
Jako root spusťte z konzole znovu kismet a mělo by se objevit menu se stavem sítě, zachycené pakety typ šifrování atd. Kismet dále vše loguje do domácího adresáře takže zachycená data lze analyzovat dalšími nástroji (Ethereal) nebo kombinovat s GPS (analýza interferencí atd.), zkrátka iniciativě se meze nekladou.




Skvelý článok
Napsal uživatel Neznámý (neověřeno) dne 30. Říjen 2006.Skvelý článok. Síce som to vyriešil už dávnejšie, ale je dobre mať to všetko pokope. Ešte by ma zaujímala ta analýza interferencí.