Hacking DVD BackTrack, Linux, Hashe RSS Feed twitter airdump.cz BackTrack 3 4 5 6 CZ
Security a Tip
Donate a Sponzor

Jak na wifi hacking s Airpwn v Ubuntu Linux

Packet Injection WiFi Možná si pamatujete článek o zajímavém kousku kódu s výmluvným jménem Airpwn. Vznikl jako proof-of-concept pro pobavení účastníku konference, a zdrojový kód aplikace byl publikován tesně po skončení black hat konference Defcon (tam se odehrála i jeho premiéra). V starší (již neexistujíci diskuzi na airdump.cz) padl několikrát dotaz jak rozběhat Airpwn v aktuální verzi operačního systému Ubuntu Linux.

Samotná instalace programu Airpwn v Ubuntu vyžaduje instalaci několika závisostí, v podobě dev dev balíčků. Instalace se určitě nepovede bez:

libpcap-dev
libssl-dev
libnet1-dev
libpcre3-dev

Pro kompilaci frameworku Lorcon v Ubuntu jsem použil zdrojový kód trunk verze, né ten který je ke stažení na domovské stránce Ninja jako stable. Kompilace stable zdrojáku totiž v Ubuntu končí hláškou Missing working Linux wireless kernel extensions.

Pro připojení k SVN je potřeba instalovat aplikaci která svn umí (třeba svnversion nebo svn). Příkaz pro download (uloží se jako adresář trunk v ceste ve které provedete příkaz) zdrojového kódu je

svn co http://802.11ninja.net/svn/lorcon/trunk

Po instalaci Lorcon proběhne kompilace kódu Airpwn bez problémů.

Airpwn

Co je Airpwn? Airpwn je framework pro 802.11 (wireless) packet injection. Airpwn naslouchá v dosahu antény a monitoruje veškeré wireless pakety. Pokud data obsahují specifikovaný vzorek vložený do konfiguračního souboru, vybraný obsah je injektován podvrženým obsahem s bezdrátového přístupového bodu. Přesněji, z pohledu bezdrátového klienta se airpwn chová jako server. Více detailů o aplikaci na konci článku

Po instalci vše běží bez problémů. Nápovědu zíkáte odelsáním airpwn v konzole

air@stage:~/airpwn-1.3$ airpwn
usage: airpwn -c <conf file> -d <driver name> [interface options] [options]
<conf file> : configuration file
<driver name> : supported wireless driver name
#
Interface options:
You can use -i to set all 3 interfaces at once, or use the
other options to set each interface individually.
-i <iface> : sets the listen/control/inject interface
-M <iface> : sets the listen (monitor) interface
-C <iface> : sets the control interface
-I <iface> : sets the injection interface
#
Optional arguments:
-l <logfile> : log verbose data to a file
-f <filter> : bpf filter for libpcap
-F : assume no FCS values from the monitored interface
-m <max> : Specify the maximum data chunk size (MTU – headers)
-k <WEP key>: key to use to de/encrypt WEP packets. You can
use this option multiple times to specify multiple WEP keys.
-v : increase verbosity (can be used multiple times)
-h : get help (this stuff)
#
Supported drivers are: wlan-ng hostap airjack prism54 madwifing madwifiold rtl8180 rt2570 rt2500 rt73 rt61 zd1211rw bcm43xx d80211 mac80211 ath5k iwlwifi iwl-agn iwl4965 iwl5000 b43 b43-legacy rt2x00 rt2500pci rt2500usb rt61pci

Popis aplikace – podporované wifi karty

Teoreticky airpwn podporuje každou wifi kartu podporovanou frameworkem LORCON. Při vydání aplikace (léto 2006) to byl každý chipset s ovládačem wlan-ng, hostap, airjack, prism54, madwifi, rtl8180 a rt2500.

Jak Airpwn funguje

Airpwn funguje na báze spoofingu 802.11 paketů tak, že pakety směrujíci jako odpověď vypadají jako by přicházeli s legitimního Access Pointu (AP). Pokud používáte běžnou 802.11 síť veškeré vaše data putují na Access Point a odpovědi pro změnu z Access Pointu k vám. Stinná stránka bezdrátové komunikace je, že všechny vaše data odeslané na Access Point jsou fakticky broadcast, pro každý počítač v lokalitě (dosahu). Díky možnosti odposlechnout data které odesílate na AP a falšování odpovědi (spoofing) z AP, může airpwn vystupovat jako počítač (přístupový bod) se kterým komunikujete. Jedná se o podobnou (né ale stejnou) techniku jako klasický man-in-the-middle útok.
Zde je příklad: Řekněme, že do vašeho prohlížeče na počítači v bezdrátové síti napíšete “google.cz”. Váš počítač odešle na AP serii paketů pro ustavení TCP spojení, pak odešle HTTP request paket na google IP (přes AP) na portu 80 což vypadá zhruba tak:
airpwn packet injection

Za normálních okolností webserver google dotaz zprocesuje a vrátí HTTP response s HTML obsahem:
airpwn konfigurace

Pokud je na dalším počítači běžíci airpwn nakonfigurován tak aby odpovídal na jednoduché HTTP requesty, airpwn automaticky spoofne odpověď z google (přes AP) a odešle ji bezdrátovému klientovy. Většina operačních systémů akceptuje první paket pokud vypadá jako validní (samozřejmě zde bude po jistou dobu snaha doručit vám vaše data ASAP), takže dokud airpwn dostává další data, podvržené pakety budou nahrazovat ty z google. Příklad, airpwn může injektovat třeba:
airpwn konfigurace

V praxi je drcení google paketů (nebo paketů z libovolného místa) jednoduché. Průměrná latence v internetu mohou narůstat do desítek miliónů milisekund, pokud ale bude airpwn umístěn lokálně (blízko oběti), může odpovídat za několik málo mikrosekund. Dokud dorazí originální pakety z google, pakety z airpwn budou dávno akceptovány a zprocesovány. Duplicitní data z google jsou tiše ignorovány.
Když legitimní místo odešle více dat než airpwn (co je obvyklý scénař) zbytek legitimního obsahu může být připojen na konec injektovaných dat. (Situaci lze kontrolovat pomocí volby reset, nebo usměrněním protokolu jako HTTP content-length). Další trik je zakončení injektovaného obsahu nějakou značkou (v případě HTML) co schová zbytek obsahu. Příklad ukončení injektovaných dat, zobrazený postup funguje báječně:
airpwn konfigurace

Zbytek legitmního obsahu je wrapped jako HTML komentář v neviditelném DIV elementu umístěného daleko z dohledu.

Konfigurační soubory Airpwn

Za běhu aplikace je aplikaci airpwn zprocesován jednoduchý konfigurační soubor plus případný přídavek (parametr) z příkazové řádky. Konfigurace obahuje jeden nebo více definicí. Každá definice obsahujenějaké kriteria a odkaz na obsah který bude odelsán jako odpoveď.
Vybrané kritéria jsou (vyžadováno) PCRE výrazem, a volitelné PCRE výrazy pro použití jako ignore filter. Airpwn sfalšuje odpověď na paket pokud je nalezen definovaný výraz a ignoruje vzorek (pokud existuje) dle konfigurace. Zde je jednoduchý příklad konfiguračního souboru na ignorování HTTP requestů bez obrázků:
airpwn konfigurace
V tomto příkladu jsou všechny HTTP requesty použivajíci GET nebo POST metodu nastaveny tak aby odpovídali na obecní obsah. To je užitečné pro okamžité nahrazení obsahu webové stránky bez obrázků. Odpověď je specifikována jako path na soubor obsahujíci response odeslanou airpwnem. V tomto případě je obsahem:
airpwn konfigurace
Pokud použijete kombinaci těchto dvou souborů dosáhnete toho, že veškeré dotázané webové stránky budou nahrazeny blikajícim červeným textem :)
V jediném konfiguračním souboru lze specifikovat (komentovat a odkomentovat) řadu variací pro pozdější konfiguraci bez limitů inu, značte vše zajímavé co vás napadne i když to momentálně nepotřebujete. Pro příklad, můžete rozšířit konfiguraci nahoře ještě o spoofing obrázků z webu pojmenovaných jako logo.
airpwn konfigurace
Řádek option reset v konfiguraci nahoře instruuje airpwn pro odeslání TCP reset (RST) paketu okamžitě po injekci obsahu v odpovědi. To způsobý okamžité ukončení spojení a zrychlení injekce. Stránky projektu a zdroj původních obrázku je domovská stránka projektu Airpwn na Source Forge.

diskuze sql injekce exploity nástroje

Kam dál?



Přihlásit / Odhlásit odběr novinek

Počet přihlášených k odběru novinek

    2572