hakin9 Úklid pavučiny zjišťování nelegálního sdílení připojení Mariusz Tomaszewski, Maciej Szmit, Marek Gusta



Podobné dokumenty
Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Semestrální projekt do předmětu SPS

PB169 Operační systémy a sítě

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Instalace. Samotný firewall již je s největší pravděpodobností nainstalovaný Zjistíme dle parametru při použití. aptitude search iptables

Firewally a iptables. Přednáška číslo 12

Protokoly: IP, ARP, RARP, ICMP, IGMP, OSPF

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Téma 11: Firewall v CentOS. Nastavení firewallu

9. Sítě MS Windows. Distribuce Windows. Obchodní označení. Jednoduchý OS pro osobní počítače, pouze FAT, základní podpora peer to peer sítí,

ANALÝZA TCP/IP 2 ANALÝZA PROTOKOLŮ DHCP, ARP, ICMP A DNS

Osobní firewall s iptables

ZÁKLADNÍ ANALÝZA SÍTÍ TCP/IP

4. Síťová vrstva. Síťová vrstva. Počítačové sítě I. 1 (6) KST/IPS1. Studijní cíl. Představíme si funkci síťové vrstvy a jednotlivé protokoly.

Site - Zapich. Varianta 1

Stručný návod pro nastavení routeru COMPEX NP15-C

Routování směrovač. směrovač

Analýza protokolů rodiny TCP/IP, NAT

FIREWALL - IPTABLES. 1. Co je to firewall 2. IPTABLES 3. Manuálové stránky 4. Nastavení směrovače 5. Příklady. 1. Co je to firewall?

Obsah PODĚKOVÁNÍ...11

Konfigurace síťových stanic

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

metodický list č. 1 Internet protokol, návaznost na nižší vrstvy, směrování

Operační systémy 2. Firewally, NFS Přednáška číslo 7b

Počítačová síť. je skupina počítačů (uzlů), popřípadě periferií, které jsou vzájemně propojeny tak, aby mohly mezi sebou komunikovat.

Y36PSI Protokolová rodina TCP/IP

Počítačové sítě pro V3.x Teoretická průprava II. Ing. František Kovařík

Průmyslová komunikace přes mobilní telefonní sítě. Michal Kahánek

Konfigurace DHCP serveru a překladu adres na směrovačích Cisco

Abychom se v IPv6 adresách lépe orientovali, rozdělíme si je dle způsobu adresování do několika skupin:

Při konfiguraci domácího směrovače a bezdrátové sítě se setkáte s obrovským počtem zkratek, jejichž význam je jen málokdy dostatečně vysvětlen.

Základní konfigurace Linux firewallu

Použití programu WinProxy

Hypertext Transfer Protocol (HTTP/1.1 RFC 2616) Počítačové sítě Pavel Šinták

APS Administrator.OP

Další nástroje pro testování

X36PKO Úvod Protokolová rodina TCP/IP

IPv6. RNDr. Ing. Vladimir Smotlacha, Ph.D.

Komu je tato kniha určena? Jak je kniha uspořádána? Konvence použité v té to knize. Část i základy Microsoft Windows XP Professional

GRE tunel APLIKA ˇ CNÍ P ˇ RÍRU ˇ CKA

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Komunikace s automaty MICROPEL. správa systému lokální a vzdálený přístup do systému vizualizace, umístění souborů vizualizace

Počítačové sítě II. 12. IP: pomocné protokoly (ICMP, ARP, DHCP) Miroslav Spousta,

1. Směrovače směrového protokolu směrovací tabulku 1.1 TTL

5. Směrování v počítačových sítích a směrovací protokoly

ÚČETNICTVÍ ORGANIZAČNÍCH KANCELÁŘÍ KOMPLEXNÍ SYSTÉM PRO VEDENÍ ÚČETNICTVÍ

CAD pro. techniku prostředí (TZB) Počítačové sítě

Rychlý průvodce konfigurací 602LAN SUITE 2004

7. Aplikační vrstva. Aplikační vrstva. Počítačové sítě I. 1 (5) KST/IPS1. Studijní cíl. Představíme si funkci aplikační vrstvy a jednotlivé protokoly.

Model: Mbps Wireless 11G+ Access Point UŽIVATELSKÝ MANUÁL

Zásobník protokolů TCP/IP

JAK ČÍST TUTO PREZENTACI

Wireshark, aneb jak odposlouchávat síť - 1.díl

Přednáška 3. Opakovače,směrovače, mosty a síťové brány

Hot Standby Router Protocol (zajištění vysoké spolehlivosti výchozí brány)

TÉMATICKÝ OKRUH Počítače, sítě a operační systémy

Instalace SQL 2008 R2 na Windows 7 (64bit)

Identifikátor materiálu: ICT-3-03

Studentská unie ČVUT v Praze, klub Silicon Hill. 22. února Ondřej Caletka (SU ČVUT) IPv6 nové (ne)bezpečí? 22.

Firewall, mac filtering, address filtering, port forwarding, dmz. Ondřej Vojtíšek, Jakub Niedermertl


Možnosti IPv6 NAT. Lukáš Krupčík, Martin Hruška KRU0052, HRU0079. Konfigurace... 3 Statické NAT-PT Ověření zapojení... 7

Nintex Workflow 2007 je nutné instalovat na Microsoft Windows Server 2003 nebo 2008.

Počítačové sítě. Lekce 4: Síťová architektura TCP/IP

Zabezpečení v síti IP

Firewal ing v Linuxe

Audit bezpečnosti počítačové sítě. Předmět: Správa počítačových sítí Jiří Kalenský

Internet protokol, IP adresy, návaznost IP na nižší vrstvy

Aktivní prvky: brány a směrovače. směrovače

Super Hot Multiplayer vzdálené sledování finančních dat. Konfigurace sítě. Strana: 1 / 8

3.17 Využívané síťové protokoly

Instalace a konfigurace web serveru. WA1 Martin Klíma

ZMODO NVR KIT. Instalační příručka

Střední odborná škola a Střední odborné učiliště, Hořovice

J M K UP 009 IP KAMERA T865. Uživatelská příručka. Stručný průvodce instalací

pozice výpočet hodnota součet je 255

Protokol HTTP 4IZ228 tvorba webových stránek a aplikací

Zkrácení zápisu dvojitou dvojtečkou lze použít pouze jednou z důvodu nejednoznačnosti interpretace výsledného zápisu adresy.

POČÍTAČOVÉ SÍTĚ Metodický list č. 1

Connection Manager - Uživatelská příručka

Návod k obsluze IP kamery Zoneway. IP kamery jsou určené pro odbornou montáž.

1 Správce licencí Správce licencí Správce licencí Start > Všechny programy > IDEA StatiCa > Správce licencí Soubor > Správce licencí Licence

Popis zapojení jednotlivých provozních režimů WELL WRC3500_V2 WiFi GW/AP/klient/repeater/switch, 54 Mb/s, R-SMA

Hodinový rozpis kurzu Správce počítačové sítě (100 hod.)

Audit bezpečnosti počítačové sítě

XMW3 / IW3 Sítě 1. Štefan Pataky, Martin Poisel YOUR LOGO

Analýza aplikačních protokolů

Vnější směrovací protokoly

s anténou a podstavcem CD-ROM obsahující návod a informace o záruce Ethernetový kabel (CAT5 UTP nekřížený) ADSL kabel (standardní telefonní kabel)

Název školy: Základní škola a Mateřská škola Žalany. Číslo projektu: CZ. 1.07/1.4.00/ Téma sady: Informatika pro devátý ročník

registrace Fyzické (tj. MAC) adresy

Standardizace Internetu (1)

Datum vytvoření. Vytvořeno 18. října Očekávaný výstup. Žák chápe pojmy URL, IP, umí vyjmenovat běžné protokoly a ví, k čemu slouží

Access Control Lists (ACL)

.NET Framework verze Program pro připojení ke vzdálené ploše (RDC) verze

NAS 323 NAS jako VPN Server

Uživatel počítačové sítě

APS Web Panel. Rozšiřující webový modul pro APS Administrator. Webové rozhraní pro vybrané funkce programového balíku APS Administrator

Inovace výuky prostřednictvím šablon pro SŠ

Transkript:

hakin9 Úklid pavučiny zjišťování nelegálního sdílení připojení Mariusz Tomaszewski, Maciej Szmit, Marek Gusta Článek byl publikovaný v čísle 3/2005 časopisu hakin9. Všechna práva vyhrazena. Bezplatné kopírování a rozšířování článku je povoleno s podmínkou, že nebude měněný jeho nynější tvar a obsah. Časopis hakin9, Software Wydawnictwo, ul. Piaskowa 3, 01-067 Warszawa, hakin9@hakin9.org

Úklid pavučiny zjišťování nelegálního sdílení připojení Mariusz Tomaszewski, Maciej Szmit, Marek Gusta Pavučináři, aneb osoby rozšiřující internetové připojení v nesouladu se smlouvou, umí nadělat zlou krev zprostředkovatelům a správcům sítí. Existuje však mnoho způsobů na zjišťování těchto praktik. Nejsou to způsoby ani komplikované ani časově náročné. Základy S nadměrným zatížením internetového připojení si může správce poradit jednoduchým způsobem, dělením propustnosti mezi legální uživatele. Tehdy nás nemusí tížit fakt, že někdo dává část svého připojení sousedovi (viz. Rámeček Zprostředkování připojení), nemá to žádný vliv na kvalitu fungování sítě. Zůstává však problém dělení nákladů a vydělávání na tomto zprostředkování. Objevuje se však otázka: jakým způsobem může správce zjistit, že síť využívají třetí osoby? Způsobů je několik, více či méně účinných. Vše však záleží především na míře znalostí osoby, která vytváří nelegální spojení a na tom, jaké techniky využívá k tomu, aby ukryl tento fakt před vnějším světem. Prvním a v podstatě nejúčinnějším způsobem zabezpečení se před nelegálním sdílením spojení, je rozdělení přenosového pásma. Zaručuje, že propustnost naší sítě se nestane malou i při výskytu několika neautorizovaných uživatelů a otázka využití přiděleného pásma zůstává v kompetenci klienta. Pokud nám však ohraničení pásma nebo přenosový limit nestačí a nepřejeme si, aby námi zprostředkované připojení bylo ještě někým sdíleno, můžeme analyzovat provoz v naší síti a zkoušet tyto situace odhalovat. Pokud ve smlouvě na využití připojení zprostředkovatel brání dalšímu rozdělování, je možno uživatele používající tento způsob ze sítě jednoduše odpojit, samozřejmě pokud se nám podaří sdílení připojení prokázat. Ale tato činnost, jak ukazuje praxe, se může velmi rychle změnit ve hru na policisty a zloděje, přičemž, jak to obvykle bývá, navrch mají vždy ti posledně jmenovaní. Hodnoty TTL v hlavičkách IP paketů Hlavička IP datagramu obsahuje pole TTL, dobu života (anglicky time to live), která popisuje horní Z článku se naučíte... jak skrývat nelegální sdílení připojení, jak zjišťovat neoprávněné rozdělování internetové konektivity. Měl byste vědět... umět používat systém Linux, znát model ISO/OSI, mít alespoň základní znalosti o TCP/IP sítích. 2 www.hakin9.org

Nelegální sdílení připojení Zprostředkování připojení Mnoho lidí, zvláště ti, kteří nemají s Linuxem moc společného, si pro sdílení připojení vybírá velmi jednoduchou metodu založenou na systému Windows, funkci Sdílení internetového připojení (Internet Connection Sharing ICS). Díky ní lze počítače v domácích sítích nebo kancelářích připojovat k Internetu s použitím jednoho síťového připojení. ICS je zabudovanou funkcí systému Windows, ale je ji možno zapnout jen na počítačích se systémem Windows XP, Windows 98 SE, Windows Millennium Edition (Me) nebo Windows 2000. Jinými slovy je funkce ICS sada jistých součástí, které nejsou, oproti systému Linux, dostupné pro uživatele a mají velmi omezené možnosti nastavení. Nejdůležitější součásti jsou: program přidělující DHCP adresy velmi jednoduchá služba DHCP, která přiděluje IP adresy, výchozí bránu a jméno serveru v lokální síti, DNS proxy server, jehož úkolem je překlad doménových jmen na IP adresy pro lokální síť, překladač síťových adres, který provádí překlad privátních adres na veřejnou adresu (veřejné adresy). V Linux systémech se používá mechanismus překladu síťových adres NAT (anglicky Network Address Translation) nebo proxy servery. NAT a proxy jsou technologie využívané ve firewall systémech a jejich základním úkolem je skrytí a ochrana lokální sítě před vnějšími sítěmi. hranici počtu routerů, skrz které datagram může procházet na místo určení (viz Obrázek 1). Při předávání hlavičky datagramu má každý router za povinnost snížit TTL o proporcionální hodnotu pro dobu jeho předávání. Protože routery předávají datagramy prakticky za méně než jednu sekundu, pole TTL je snižováno o jedničku. Pokud tato hodnota dojde k nule, datagram je zahozen a smazán ze sítě a odesílatel dostane ICMP zprávu o chybě. Toto chování má za cíl předcházení nekonečnému kroužení paketů v síti, které se dostaly do routovací smyčky (tzn. první router posílá datagram druhému a ten mu jej posílá zpět). Pokud nemůže být IP paket z nějakých důvodů doručen na Obrázek 1. TTL (time to live) v IP hlavičce místo určení, po dosažení hodnoty 0 v poli TTL bude jednoduše ze sítě odstraněn. Různé operační systémy používají jiné počáteční hodnoty TTL, Tabulka 1 ukazuje počáteční hodnoty pole TTL pro nejpopulárnější operační systémy. Na Obrázku 2 se nachází schéma typické sítě LAN s nelegálním sdílením připojení. Pokud zprostředkující počítač pracuje jako router a předává pakety mezi svými rozhraními (a v případě neautorizovaného přístupu na veřejnou síť je na něm navíc spouštěna služba NAT), bude v každém paketu generovaném počítačem A, B nebo C hodnota pole TTL snížena o 1. Proto se v naší síti LAN (10.10.11.0) objevují pakety, ve kterých bude mít pole TTL hodnotu o jednu menší než standardní hodnota daného systému. Aby správce našel tyto pakety může na internetové bráně spustit paketový analyzátor (sniffer) a podívat se, zda ze sítě nepřicházejí z jedné IP adresy (v našem případě z adresy 10.10.11.95) pakety s podivnými a rozdílnými hodnotami pole TTL. Při předpokladu, že na počítači A je spouštěn systém Windows 2000 (počáteční TTL 128) a na počítači B systém Linux (počáteční TTL 64), sniffer tcpdump spuštěný na internetové bráně může zachytit a zobrazit ukázkové pakety. Je to vidět na Obrázku 3, v síti se objevují pakety se zdrojovou IP adresou 10.10.11.95, které mají nastaveny nestandardní hodnoty pole TTL (127 a 63). Druhou podivností je to, že jeden počítač generuje pakety s různými hodnotami TTL. Může to svědčit o tom, že počítač s adresou 10.10.11.95 Tabulka 1. Hodnoty TTL charakteristické pro specifické operační systémy Verze operačního systému TCP TTL UDP TTL AIX 60 30 FreeBSD 2.1R 64 65 HP/UX 9.0x 30 30 HP/UX 10.01 64 64 Irix 5.3 60 60 Irix 6.x 60 60 Linux 64 64 MacOs/MacTCP 2.0.x 60 60 OS/2 TCP/IP 3.0 64 64 OSF/1 V3.2A 60 30 Solaris 2.x 255 255 SunOS 4.1.3/4.1.4 60 60 MS Windows 95 32 32 MS Windows 98 128 128 MS Windows NT 3.51 MS Windows NT 4.0 32 32 128 128 MS Windows 2000 128 128 MS Windows XP 128 128 www.hakin9.org 3

Obrázek 2. Ukázková LAN síť s nelegálním sdílením připojení sdílí připojení uživatelů používající systémy Windows a Linux. Výchozí hodnoty TTL ve Windows a Linuxu Metoda opírající se o kontrolu hodnoty TTL v IP paketech se může ukázat jako neúčinná. V systémech Windows a Linuxu totiž existuje možnost změny standardních hodnot času života paketů. Pokud uživatelé sdíleného připojení zvětší ve svém systému hodnotu TTL o jedna, tyto pakety přestanou být po průchodu podezřelé. Jediné, co může ještě podporovat skutečnost sdílení připojení je různá hodnota TTL z jedné zdrojové IP adresy. Tato situace se však nemusí vždycky objevit, v nelegální LAN síti uživatelé mohou přece používat pouze jednu verzi operačního systému, např. Windows 2000 nebo Linux. I když je síť velmi odlišná a pracuje v ní mnoho různých verzí operačních systémů, mohou pavučináři sjednotit hodnoty TTL na všech počítačích, nezávisle na typu systému (viz Rámeček Změna výchozích hodnot TTL). V případě, kdy je připojení zpřístupňováno přes systém Windows se spuštěnou funkcí ICS, sjednocení hodnoty TTL na všech počítačích je jedinou metodou schování se před správcem. Pokud funkci internetové brány plní systém Linux s nakonfigurovaným NAT, situace je o mnoho jednodušší. Stačí jen, s využitím záplaty pro paketový filtr iptables se jménem patch-o-matic, nastavit systém tak, aby každý vycházející paket měl nastavenu jednu, přesně danou hodnotu TTL. V tom případě osoby nabízející nelegálně sdílené připojení nezajímají systémy používané v nelegální síti, protože všechny pakety po průchodu NAT budou mít nastavenu stejnou hodnotu v poli TTL IP hlavičky. Stejná hodnota TTL odchozích paketů Pokud počítač-brána pracuje na systému Linux se zkonfigurovanou službou NAT, je možno pro nastavení jednotné hodnoty TTL nelegálních paketů využít záplatu pro iptables autora Haralda Welte, která přidává novou vlastnost v pravidlech filtrování. Tato vlastnost umožňuje uživateli nastavení hodnoty TTL pro IP paket a také její zvětšení nebo zmenšení o stanovenou hodnotu. Záplatu najdete na adrese http://netfilter.org. Pro přeložení záplaty jsou potřebné zdrojové kódy kernelu a iptables. Po jisté úpravě zdrojových kódů je zapotřebí je zkompilovat a nainstalovat nové jádro a nové iptables. V době konfigurace jádra je možno nastavit nové volby dostupné v sekci Networking Options -> Netfilter Configuration. Pro TTL hodnoty jsou dostupné následující volby: --ttl-set hodnota nastavuje hodnotu TTL na hodnota, --ttl-dec hodnota zmenšuje hodnotu TTL o hodnota, --ttl-inc hodnota zvětšuje hodnotu TTL o hodnota. Základy Nastavení TTL u všech, skrz počítač-bránu, odcházejících paketů na hodnotu 128 spočívá v zápise do tabulky mangle iptables s následujícím filtrovacím pravidlem: Obrázek 3. Hodnoty TTL po průchodu přes nelegální router # iptables -t mangle \ -A FORWARD -j TTL \ --ttl-set 128 4 www.hakin9.org

Nelegální sdílení připojení Změna výchozích hodnot TTL Linux Změna hodnoty TTL se pro lokální počítač v systému Linux provádí na konzoli zadáním následujícího příkazu : # echo "X" > /proc/sys/net/ipv4/ip_default_ttl kde X je nová, změněná hodnota TTL. Standardně má hodnotu 64, pokud se má Linux vydávat za Windows, stačí jako X zadat hodnotu 128 (a nejlépe 129, pokud využíváme sdílené připojení a nechceme budit podezření správce sítě). Windows 2000/XP Jako výchozí hodnota TTL je v paketech odesílaných ze systému Windows 2000/XP nastaveno 128. Nejrychlejším způsobem zjištění standardní hodnoty TTL v systému je využití příkazu ping. Stačí vyslat paket ICMP echo request na loopback a uvidíte, jaká hodnota TTL je nastavena v odpovědích ICMP echo reply: ping 127.0.0.1 Změny TTL provedeme v registrech systému. Za uchovávání této hodnoty zodpovídá položka DefaultTTL klíči HKEY_LOCAL_MACHINE\System\CurrentControlSet\ Services\Tcpip\Parameters. Pokud tato položka neexistuje, je zapotřebí ji vytvořit s využitím typu DWORD. Windows 95/98/Me V systémech Windows 95/98/Me je hodnota TTL uschována v klíči HKEY _ LOCAL _ MACHINE\System\CurrentControlSet\Services\VxD\MSTCP\DefaultTTL. Pokud daná hodnota DefaultTTL neexistuje ve výše uvedeném klíči, je zapotřebí ji přidat jako typ STRING. Po spuštění výše uvedeného příkazu by měla být hodnota tabulky stejná, jako na Výpisu 1: Jiným způsobem je nastavení příslušné hodnoty TTL ještě před spuštěním procesu routování na počítači-bráně, např.: # iptables -t mangle \ -A PREROUTING -i eth0 \ -j TTL --ttl-set 129 Více než nula Správce může využít hodnotu TTL pro ztížení sdílení připojení problémovým uživatelům. Pokud na počítači, který je bezprostředně připojen k internetovému připojení, pracuje Linux, může správce nastavit v paketech, které jsou směrovány do lokální sítě hodnotu TTL na 1. Tehdy každý nelegální router v LAN síti bude muset po odebrání paketu snížit hodnotu TTL o jedna a bude přinucen tento paket odstranit ze sítě, proto informace nebude předána dále a nelegální síť přestane fungovat (pokud však paket přijde do legální sítě, bude z TTL odebrána jednička bez nejmenších problémů). Je potřeba vědět, že toto řešení je účinné, pokud počítač sdílející nelegální připojení pracuje jako router a používá překlad síťových adres (NAT). Výše popsaný způsob zmenšení hodnoty TTL může správce nelegální sítě velmi jednoduše neutralizovat zvětšením hodnoty TTL v každém na router přicházejícím paketu ještě před procesem routování. V systému Linux stačí využít již výše popsaný postup s iptables (se jménem TTL) a do tabulky iptables přidat následující pravidlo: # iptables -t mangle \ -A PREROUTING -i wlan0 \ -j TTL --ttl-set 2 Díky tomu bude v každém IP paketu, který přichází na rozhraní wlan0 (viz Obrázek 2) a který může mít nastavenou hodnotu TTL třeba i na 1, hodnota TTL pole nastavena na 2. Takto modifikovaný paket bude předán routovacímu procesu, jeho hodnota TTL bude zmenšena o 1 a paket bez problémů dojde ke konečnému uživateli v nelegální LAN síti. Samozřejmě, že pokud se i ten rozhodl k nelegálnímu sdílení připojení, musí být TTL hodnota v paketech vycházejících z routeru nastavena na vyšší hodnotu. Proxy poprvé Metody pracující s manipulacemi s hodnotou TTL mají platnost bytu tak dlouho, dokud mají co do činění se zařízeními třetí síťové vrstvy modelu ISO/OSI. Pak stačí, pokud se správce pavučiny rozhodne ke sdílení připojení využít zařízení čtvrté nebo vyšší vrstvy (gateway, čili v našem případě různé druhy síťových proxy prostředníků), které vytvářejí celý IP paket od počátku a výše popsané metody se ukážou být neúčinné. V krajním případě si můžeme představit, že v pavučině funguje pouze čistý protokol IPX, zatímco na výstupu z ní brána IPX/IP, která navazuje spojení jménem klientů a příchozí odpovědi předává do vnitřní sítě (pavučiny) uvnitř IPX paketů. Až na koncových stanicích jsou vytahovány příslušným socketem, který je předává síťovým aplikacím v podobě srozumitelné pro protokoly TCP/IP. Z pohledu IP přenosu je posledním místem, na které přichází IP datagram je brána a proto počítač připojený bezprostředně k vnější síti. Hluchý telefon Posledním způsobem odhalení nelegálně sdíleného připojení je zjišťování zda má podezřelý počítač spuštěné předávání paketů (IP forwarding). Pokud ano, můžeme si myslet, že máme co do činění s nepoctivým uživatelem. Je dobré Výpis 1. Obsah tabulky mangle po zadání filtrovacího pravidla # iptables -t mangle --list Chain FORWARD (policy ACCEPT) target prot opt source destination TTL all -- anywhere anywhere TTL set to 128 www.hakin9.org 5

Základy vědět, že to není žádný důkaz. Každý uživatel v lokální síti může mít ve svém počítači dvě nastavené síťové karty, mezi kterými si nastavil předávání paketů. Může to však být důvod k tomu, podívat se na takového uživatele trochu důkladněji. Podívejme se na situaci z Obrázku 2, ve které správce disponuje počítačem se systémem Linux. Jediné, co musí udělat, je přidání falšujícího zápisu do vlastní tabulky routingu informující o tom, že IP paket poslaný do popsané sítě má být předán na určenou, námi podezřívanou, IP adresu: # route add -net 20.20.20.0/24 \ gw 10.10.11.95 eth0 V té chvíli paket poslaný například na adresu 20.20.20.20 bude doručen na počítač s adresou 10.10.11.95 (viz Obrázek 2). Pokud má tento počítač zapnuté předávání paketů, vezme separovaný paket a předá jej ke zpracování výběru jeho další trasy. Protože je velmi málo pravděpodobné, že by se v routovací tabulce nacházel zápis odkazující se právě na síť 20.20.20.0/24, systém přijme rozhodnutí o předání na svou výchozí bránu. Proto nastává, že výchozí branou pro tento počítač je k Internetu bezprostředně připojený router (v našem případě je to router s adresou 10.10.11.1). V síti se objeví dva pakety ICMP echo request: jeden poslaný z počítače správce na podezřelý počítač a druhý poslaný nelegálním routerem. Celý experiment spočívá ve spuštění snifferu tcpdump na konzoli počítače správce (ještě lépe na internetové bráně): # tcpdump -n -i eth0 a z druhé konzole zadaný příkaz ping: # ping 20.20.20.20 Pokud počítač o dané IP adrese pracuje jako router, měli bychom vidět dva pakety ICMP echo request: 00:59:47:270862 10.10.11.2 > 20.20.20.20: icmp: echo request 00:59:47:271276 10.10.11.2 > 20.20.20.20: icmp: echo request Je možno také zkusit zjistit, jaká podsíť je využívána v nelegální LAN síti. Vyžaduje to však napsání příslušného skriptu, protože ruční zjišťování je skoro předurčeno k neúspěchu. Proto musíme použít mechanismus popsaný výše, s vybráním poněkud věrohodnější adresy podsítě, např.: # route add net 192.168.1.0/24 \ gw 10.10.11.95 eth0 Pokud jsme nenatrefili na existující podsíť, efekt bude stejný, jako předtím. Pokud se nám povedlo uhádnout podsíť, paket bude předán na příslušnou adresu. Pokud je počítač se zadanou adresou dostupný v nelegální podsíti, předá odpověď v podobě paketu IMCP echo reply. V opačném případě dostaneme hlášku o chybě, že daný host je nedostupný (icmp host unreachable). Mechanismus bude pracovat do té doby, dokud administrátor pavučiny nespustí na nelegálním routeru paketový filtr typu statefull (dynamic) a odfiltrování spojení navázaných s pavučinou zevnitř. Identifikace internetových prohlížečů Každý, v systému jako výchozí, spouštěný internetový prohlížeč posílá na WWW server ve svém požadavku na získání strany http hlavičku. V hlavičce se nachází pole User-Agent ve kterém je obsažena informace o typu prohlížeče, typu a verzi operačního systému, na kterém je tento prohlížeč spouštěn (Obrázek 4). Tento fakt je možno využít pro hledání nelegálního sdílení připojení, zvláště když uživatelé mají různé typy a verze prohlížečů, navíc pracujících v různých operačních systémech. Test detekující sdílené připojení spočívá v analýze paketů zachycených na síti. Mezi nimi je zapotřebí hledat ty, které byly odeslány z jedné zdrojové adresy (nelegální brány). Pokud pole User-Agent obsahuje v takových paketech informace o různých prohlížečích a operačních systémech, je to podezřelá situace. Podezřelejší je situace, ve které jsou v poli User-Agent vidět různé verze operačních systémů a zároveň stejné prohlížeče. Používání dvou operačních systémů v jedné chvíli, využívajících jednu IP adresu, je skoro nemožné (pokud vyloučíme využití programů virtuálních počítačů takových jako je VMvare nebo Microsoft Virtual PC), stejně jako používání několika prohlížečů v jednom operačním systému. Obrázek 5 ukazuje pakety, které by měly správce sítě zaujmout. Na Obrázku 5 můžete vidět dva požadavky na získání stránky http://www.onet.pl/, zaslané z jedné adresy 10.10.11.95, ve kterých je vidět, že byly použity dva prohlížeče (MSIE 6.0 a Mozilla Firebird) spouštěné na dvou operačních systémech (Windows 2000 identifikující se jako WindowsNT5.0 a Linux). Zůstává pouze otázka co dělat, pokud má uživatel na jednom počítači nainstalováno několik operačních systémů a pracuje jednou s jedním a podruhé s jiným. Proxy podruhé Popsaná metoda se zdá být velmi dobrá, i když i ji je možno obejít, pokud bude pole User-Agent odstraněno nebo modifikováno tak, aby ukazovalo na úplně jiný typ prohlížeče a operační systém. Je možno to udělat pro každý prohlížeč v nelegální LAN síti, nastavením identifikace stejné pro všechny prohlížeče nebo využít WWW proxy server na nelegální bráně a donutit všechny uživatele k jeho používání. Příslušné nastavení proxy serveru způsobí, že nezávisle na uživateli používaných prohlížečích bude na dotaz generována serverem proxy vždy ta samá informace v poli User-Agent. Změna obsahu pole User-Agent V případě prohlížečů Mozilla (pro Windows) je dostupné rozšíření User Agent Switcher, které přidá do 6 www.hakin9.org

Nelegální sdílení připojení Použití proxy serveru pro sjednocení pole User-Agent Jednoduchý způsob, jak skrýt informace o prohlížečích je využití WWW proxy serveru pro systém Linux, takového jako je např. privoxy. Je nutno jej nainstalovat na nelegální bráně a informovat uživatele o tom, aby nastavili své prohlížeče k používání proxy serveru. Program je možno získat ze stránky http:// www.privoxy.org/. Po nainstalování programu je třeba provést dvě změny v souborech config a default.action. V prvním souboru je zapotřebí nastavit, na jakém rozhraní má server čekat připojení od uživatelů. Musíme také zadat IP adresu a port přiřazený k vnějšímu rozhraní, čili toho, ze strany nelegální LAN sítě (Obrázek 9) A v souboru default.action je nutné zadat obsah pole User-Agent pro všechny odcházející WWW spojení. Proto musíme změnit řádek: -hide-user-agent \ na například tento: Obrázek 4. Pole User-Agent v HTTP hlavičce programu menu umožňující změnu identifikace prohlížeče. Toto rozšíření umožňuje stejnou funkčnost jako Identifikace prohlížeče dostupná v Opeře. Je možno nastavovat seznamy agentů zobrazovaných v menu a jejich výběr v závislosti na požadavcích. (Obrázek 6). V případě prohlížečů Internet Explorer je nutno změnit větev systémového registru HKEY _ LOCAL _ MACHINE\SOFTWARE\Microsoft\ Windows\CurrentVersion\Internet Settings\5.0. Je nutno v ní vytvořit klíč User Agent (pokud tam není). Zadání výchozí hodnoty nahradí řetězec Mozilla/4.0. Zbylé parametry je možno nastavit přidáním nových hodnot klíče User Agent jako Compatible, Version nebo Platform s vlastními hodnotami. Navíc je možno přidávat nové hodnoty v klíči Post Platform, jako další informace pro pole User- Agent. Je nutno je přidávat jako jména řetězců bez hodnot např. dodatečná informace = "". Ukázkové změny v registru jsou vidět na Obrázku 7. Otevřením stránky http://hitgate. gemius.pl:9170/ua.html můžeme zjistit, jakým způsobem se představuje náš prohlížeč. Toto URL je možné také využít pro kontrolu pole User-Agent po provedení změn v registru. Například změna prvních čtyř hodnot pole User-Agent způsobí, že prohlížeč bude rozpoznán jako Netscape 6.0 spouštěný v systému Linux (Obrázek 8). Obrázek 5. Podezřelé HTTP pakety +hide-user-agent{mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0;.NET CLR 1.1.4322)} \ Pasivní detekce operačního systému Ještě jiným způsobem detekce nelegálního rozvětvení sítě je zjištění několika různých verzí operačního systému využívajících v jedné chvíli jednu IP adresu. Pasivní identifikace je metoda, při které se do cílového počítače neodesílá žádný testovací paket (viz Článek Michała Wojciechowského OS fingerprinting jak se nedat odhalit, hakin9 4/2004). www.hakin9.org 7

Obrázek 6. Změna identifikace prohlížeče Mozilla Principem této metody je analýza zásobníků TCP/IP počítače na základě paketů, které počítač generuje, po jejich zachycení metodou sniffingu. Samo pojetí analýzy fronty ukáže typ a verzi operačního systému na základě rozdílů v implementaci TCP/IP zásobníků, používaných různými výrobci stejných systémů. Mimo přesně stanovených zásad pro vytváření TCP/IP zásobníků popsaných v RFC dokumentech, je možno v konkrétních implementacích příslušných operačních systémů najít jisté rozdíly. Týká se to hlavně charakteristických hodnot polí nastavených v hlavičkách protokolů IP a TCP. Programy pro pasivní analýzu zásobníků TCP/IP dávají k analýze mezi jinými i následující pole IP hlavičky: čas života paketu (TTL), pole ID (identifikace), nastavení bitu TOS (anglicky Type Of Service), nastavení bitu nefragmentuj (anglicky don t fragment). Obrázek 7. Změna identifikace prohlížeče Internet Explorer Obrázek 8. Identifikace prohlížeče IE po provedených změnách Zpravidla jsou v TCP hlavičce kontrolována následující pole: velikost okna (anglicky Window Size), maximální velikost segmentu (anglicky Maximum Segment Size), volba selektivního odstraňování (anglicky Selective Acknowledgement), volba NOP (anglicky No Operation). Základy Obrázek 9. Zadání IP adresy a portu, na kterém bude proxy server dostupný Jedním z nástrojů určených k pasivnímu fingerprintingu je program p0f. Je možno jej získat ze stránek http:// lcamtuf.coredump.cx/p0f.shtml. V systému Windows je vyžadována instalace knihovny Winpcap. Program může identifikovat operační systém pracující na hostech na základě IP paketů, které mají nastaveny následující TCP příznaky: Obrázek 10. Výsledky pasivní detekce SYN, SYN a ACK, RST. 8 www.hakin9.org

Nelegální sdílení připojení Jiné metody detekování pavučinářů Internetové komunikátory Analýzou paketů vycházejících z internetových komunikátorů v nich můžeme najít identifikátor (obvykle číslo) uživatele. Protože existuje nevelká šance, že uživatel má na jednom počítači v tu samou dobu spuštěno několik účtů v internetovém komunikátoru, zachycení paketů obsahujících různé identifikátory uživatele pocházejících z jedné IP adresy s velkou pravděpodobností svědčí o tom, že máme co do činění s nelegální sítí. Sledování pošty Protože převážná většina uživatelů nepoužívá šifrované připojení na poštovní servery, analýzou odesílaných zpráv s použitím snifferu můžeme na základě některých hlaviček s velkou pravděpodobností říci, že máme co do činění s pavučinářem. Zřídka uživatel používá dva poštovní programy zároveň a většina poštovních programů se v hlavičkách prezentuje jako User-Agent nebo X-Mailer. Kontrola uptime Pakety TCP mohou obsahovat dodatečnou (volitelnou) informaci timestamp, čili časovou značku. Různé operační systémy tuto značku mění v různých časových odstupech. Značka (pokud víme s jakým operačním systémem pracujeme), po pravidelném zvětšování s danou frekvencí, obsahuje uptime počítače, čili dobu od jeho posledního spuštění. Pokud například s využitím tcpdump zjistíme z jednoho IP paketu diametrálně odlišné hodnoty timestamp, můžeme si být jistí, že pracujeme s různými počítači, čili s pavučináři: # tcpdump -n grep timestamp A zde je část ukázkového výsledku: <nop,nop,timestamp 3320208223 97006325> Dvě hodnoty obsažené po slově timestamp jsou příslušný timestamp zdrojového hosta a poslední je hodnota timestampu získaná od cílového hosta. Tato metoda má pouze omezenou funkčnost, protože při jejím používání předpokládáme, že počítače v pavučinářské síti budou posílat pakety s volbou timestamp, což nemusí být vždy pravda. S použitím volby --f se určí soubor obsahující známé signatury pro příslušné operační systémy, které p0f porovnává s tím, co identifikuje v zachyceném paketu. Pro každou metodu existuje samostatný soubor: V Síti p0f.fp, p0fa.fp, p0fr.fp. Například signatura pro systém Windows 2000 se service packem 4 nebo XP se service packem 1 http://support.microsoft.com/default.aspx?scid=kb;en-us;158474 informace o umístění nejdůležitějších síťových parametrů v registru Windows, http://www.netfilter.org/patch-o-matic/index.html popis záplatování balíčku iptables, http://winpcap.polito.it/install/default.htm knihovna Winpcap, http://lcamtuf.coredump.cx/p0f.shtml domovská stránka programu p0f, http://netfilter.org projekt Netfilter, http://www.0xdecafbad.com/tcp-timestamping-obtaining-system-uptime- Remotely.html informace na téma vzdáleného získání uptime systému. vypadá následovně: 65535:128:1:48: M*,N,N,S:.:Windows:2000 SP4, XP SP1. Položky ve výše uvedeném zápise znamenají: 65535 velikost TCP okna, 128 dobu života paketu (TTL), 1 nastavený bit nefragmentovat paket, 48 velikost paketu, M maximální velikost segmentu (MSS), N volba nepoužita (NOP), N volba nepoužita (NOP), S zapnuté selektivní potvrzování ACK. Volba -p slouží pro nastavení síťového rozhraní do módu odběru všech paketů (anglicky promiscuous), nejenom těch, adresovaných počítači, na kterém pracuje p0f. S pomocí volby -i můžeme zadat rozhraní, na kterém má program naslouchat. Na Obrázku 10 je vidět, že p0f identifikoval ve stejné době dva operační systémy využívající jednu zdrojovou IP adresu. Tyto výsledky mohou svědčit o tom, že v naší síti někdo sdílí připojení s jinými uživateli. V nejnovější verzi p0f autor přidal doplňkovou volbu -M, která v procentech popisuje (na základě anomálií v paketech) pravděpodobnost existence kamufláže na dané IP adrese. Samozřejmě (proxy potřetí...) že všechno má smysl jen tehdy, pokud správce pavučiny nenainstaluje zařízení pracující jako obvodový proxy server. V té chvíli se ve fingerprintingu objeví jen operační systém prostředníka. Sysifovská práce Existuje mnoho jiných metod zjišťování nelegálního sdílení připojení a mnoho způsobů zjednodušení života správce pavučin (viz Rámeček Jiné metody detekování pavučinářů). Všechny však mají společnou vlastnost, že se dají, při troše dobré vůle, obejít a zneškodnit. Proto se zdá, že nejlepší by bylo, aby zprostředkovatelé Internetu zůstali při rozdělování pásma a limitech přenosu a hru na Velkého bratra ponechali spíše na málo sledované zábavné TV programy. www.hakin9.org 9