You are on page 1of 10

Sprztanie pajczyn detekcja nielegalnego wpdzielenia cza

Mariusz Tomaszewski, Maciej Szmit, Marek Gusta

Artyku opublikowany w numerze 2/2005 magazynu hakin9 Wszelkie prawa zastrzeone. Bezpatne kopiowanie i rozpowszechnianie artykuu dozwolone pod warunkiem zachowania jego obecnej formy i treci. Magazyn hakin9, Wydawnictwo Software, ul. Lewartowskiego 6, 00-190 Warszawa, hakin9@hakin9.org

Sprztanie pajczyn detekcja nielegalnego wpdzielenia cza


Mariusz Tomaszewski, Maciej Szmit, Marek Gusta

Pajczarze, czyli osoby dzielce poczenia internetowe niezgodnie z umow potrafi napsu sporo krwi dostawcom i administratorom sieci. Istnieje jednak mnstwo sposobw na wykrywanie takich praktyk. Nie s to metody ani szczeglnie skomplikowane, ani czasochonne.

przypadkiem nadmiernego obcienia cza internetowego administrator moe sobie w prosty sposb poradzi, poprzez podzia przepustowoci pomidzy legalnych uytkownikw. Wtedy nie musimy si martwi faktem, e kto oddaje cz swego cza ssiadowi (patrz Ramka Udostpnianie cza) nie bdzie to miao adnego wpywu na jako dziaania sieci. Pozostaje jednak problem dzielenia kosztw i zarabiania na takim poredniczeniu. Pojawia si zatem pytanie: w jaki sposb administrator moe wykry, e z sieci korzystaj osoby trzecie? Technik jest kilka, mniej lub bardziej skutecznych. Wszystko jednak zaley w duej mierze od wiedzy osoby, ktra buduje nielegaln pajczyn i od tego, jakie techniki zastosuje, by sprbowa ukry ten fakt przed wiatem zewntrznym. Pierwszym i w zasadzie najrozsdniejszym sposobem zabezpieczenia si przed nielegalnym dzieleniem czy, jest podzia pasma transmisyjnego. Gwarantuje on, e przepustowo naszej sieci nie okae si za maa wobec pojawienia si licznych nieautoryzowanych uytkownikw, a kwestia wykorzystania przydzielonego pasma pozostaje w gestii klienta.

Jeli jednak ograniczanie pasma lub limit transferu nam nie wystarcza i wyranie nie yczymy sobie, aby udostpniane przez nas cze byo jeszcze przez kogo dzielone, moemy analizowa ruch w naszej sieci i prbowa takie sytuacje wykrywa. Jeli w umowie na korzystanie z cza dostawca zabrania dalszego jego podziau, mona uytkownika uprawiajcego taki proceder po prostu z sieci odczy oczywicie jeli uda si fakt wspdzielenia cza wykry. Jednak dziaania takie, jak pokazuje praktyka, atwo mog zmieni si w zabaw w poli-

Z artykuu dowiesz si...


jak ukrywa nielegalne wspdzielenie cza internetowego, jak wykrywa nieuprawnione dzielenie pasma internetowego.

Podstawy

Powiniene wiedzie...
powiniene umie korzysta z systemu Linux, powiniene zna model ISO/OSI, powiniene mie przynajmniej podstawow wiedz o sieciach TCP/IP.

www.hakin9.org

hakin9 Nr 2/2005

Nielegalne wspdzielenie cza

Udostpnianie cza

Wiele osb, szczeglnie tych, ktre z Linuksem miay niewiele wsplnego, do wspdzielenia poczenia wybierze bardzo prost metod opart o system Windows funkcj Udostpnianie poczenia internetowego (Internet Connection Sharing ICS). Dziki niej komputery w sieciach domowych lub biurach mona czy z Internetem przy uyciu jednego poczenia sieciowego. ICS jest wbudowan funkcj systemu Windows, ale mona wczy j tylko na komputerach z systemem Windows XP, Windows 98 SE, Windows Millennium Edition (Me) lub Windows 2000. Tak naprawd funkcja ICS to zbir pewnych skadnikw, ktre w przeciwiestwie do systemu Linux nie s dostpne dla uytkownika i maj bardzo ograniczon moliwo konfiguracji. Do najwaniejszych skadnikw nale: program przydzielajcy adresy DHCP bardzo uproszczona usuga DHCP, ktra przypisuje adres IP, domyln bram i nazw serwera w sieci lokalnej, serwer proxy DNS, ktrego zadaniem jest translacja nazw domenowych na adresy IP w imieniu klientw sieci lokalnej, translator adresw sieciowych, ktry dokonuje translacji adresw prywatnych na adres publiczny (adresy publiczne).

W systemach Linux wykorzystuje si mechanizm translacji adresw sieciowych NAT (ang. Network Address Translation) lub stosuje serwery proxy. NAT i proxy s technologiami stosowanymi w systemach firewall, a ich podstawowym zadaniem jest ukrycie i ochrona sieci lokalnej przed sieciami zewntrznymi.

wartoci pocztkowych TTL Tabela 1 przedstawia pocztkowe wartoci pola TTL dla najpopularniejszych systemw operacyjnych. Na Rysunku 2 znajduje si schemat typowej sieci LAN z nielegalnie podzielonym czem. Jeli komputer udostpniajcy cze pracuje jako ruter i przekazuje pakiety pomidzy swoimi interfejsami (a w przypadku nieautoryzowanego dostpu do sieci publicznej dodatkowo z koniecznoci uruchomiona jest na nim usuga NAT), to w kadym pakiecie wygenerowanym przez komputer A, B lub C warto pola TTL zostanie zmniejszona o 1. W ten sposb we waciwej sieci LAN (10.10.11.0) pojawi si pakiety, w ktrych pole TTL bdzie miao warto o jeden mniejsz od wartoci standardowej dla danego systemu. W celu wykrycia takich pakietw administrator moe na bramie internetowej uruchomi analizator pakieTabela 1. Wartoci TTL charakterystyczne dla poszczeglnych systemw operacyjnych Wersja systemu operacyjnego AIX FreeBSD 2.1R HP/UX 9.0x HP/UX 10.01 Irix 5.3 Irix 6.x Linux MacOs/MacTCP 2.0.x OS/2 TCP/IP 3.0 OSF/1 V3.2A Solaris 2.x SunOS 4.1.3/4.1.4 MS Windows 95 MS Windows 98 MS Windows NT 3.51 MS Windows NT 4.0 TCP TTL 60 64 30 64 60 60 64 60 64 60 255 60 32 128 32 128 UDP TTL 30 65 30 64 60 60 64 60 64 30 255 60 32 128 32 128 128 128

cjantw i zodziei, przy czym jak to zwykle bywa przewaga inwencji jest po stronie tych ostatnich.

Wartoci TTL w nagwkach pakietw IP

Nagwek datagramu IP posiada pole TTL czas ycia (ang. time to live), ktre okrela grn granic liczby ruterw, przez jakie datagram moe przej podajc do miejsca przeznaczenia (patrz Rysunek 1). Podczas przetwarzania nagwka datagramu kady ruter ma obowizek zmniejszy pole TTL o warto proporcjonaln do czasu jego przetrzymywania. Poniewa rutery

praktycznie przetrzymuj datagramy przez mniej ni jedn sekund, pole TTL zmniejszane jest o jeden. Kiedy warto ta spadnie do zera, datagram jest odrzucany i usuwany z sieci, a nadawca otrzymuje komunikat ICMP o bdzie. Dziaanie takie ma na celu zapobieganie nieskoczonemu kreniu w sieci pakietw, ktre utkny w ptli rutowania (tzn. jeden ruter przesya datagram do drugiego, a ten odsya go z powrotem). Jeli z jakich powodw pakiet IP nie moe by dostarczony do miejsca przeznaczenia, to po osigniciu przez pole TTL wartoci 0 zostanie on po prostu usunity z sieci. Rne systemy operacyjne korzystaj z innych

MS Windows 2000 128 Rysunek 1. TTL (time to live) w nagwku IP MS Windows XP 128

hakin9 Nr 2/2005

www.hakin9.org

Rysunek 2. Przykadowa sie LAN z nielegalnym podziaem cza tw (sniffer) i sprawdzi, czy w sieci spod jednego adresu IP (w naszym przypadku z adresu 10.10.11.95) nie dochodz pakiety o dziwnych i rnych wartociach pola TTL. Przy zaoeniu, e na komputerze A uruchomiony jest system Windows 2000 (pocztkowy TTL 128), za na komputerze B system Linux (pocztkowy TTL 64), sniffer tcpdump uruchomiony na bramie internetowej moe przechwyci i ujawni przykadowe pakiety. Pokazano to na Rysunku 3 wida, e w sieci pojawiaj si pakiety o rdowym adresie IP 10.10.11.95, ktre maj ustawione niestandardowe wartoci pola TTL (127 i 63). Druga dziwna rzecz to fakt, e jeden komputer generuje pakiety o rnych wartociach TTL. Moe to wiadczy o tym, e komputer o adresie 10.10.11.95 dzieli cze uytkownikom uywajcym systemw Windows i Linux.

Domylne wartoci TTL w Windows i Linuksie

Metoda opierajca si na sprawdzaniu wartoci TTL w pakietach IP moe jednak okaza si nieskuteczna. W systemach Windows i Linux istnieje bowiem moliwo zmiany standardowych wartoci czasu ycia pakietw. Jeli uytkownicy rozdzielo-

Rysunek 3. Wartoci TTL po przejciu przez nielegalny ruter

nego cza zwiksz o jeden warto TTL w swoich systemach, to po przejciu przez komputer-bram pakiety IP przestan by podejrzane. Jedyne, co moe jeszcze zdradza fakt podziau cza, to rna warto TTL w pakietach posiadajcych jeden rdowy adres IP. Taka sytuacja nie zawsze musi jednak wystpi w nielegalnej sieci LAN uytkownicy mog przecie uywa tylko jednej wersji danego systemu operacyjnego, na przykad Windows 2000 czy Linuksa. Nawet jeli sie jest zrnicowana i pracuje w niej wiele rnych wersji systemw operacyjnych, pajczarze mog ujednoli wartoci TTL na wszystkich komputerach, niezalenie od rodzaju systemu (patrz Ramka Zmiana domylnych wartoci TTL). W przypadku gdy cze udostpniane jest poprzez system Windows z wczona funkcj ICS, ujednolicenie wartoci TTL na wszystkich komputerach jest jedyn metod ukrycia si przed administratorem. Jeli funkcj bramki do Internetu peni system Linux ze skonfigurowanym NAT-em, sytuacja jest duo prostsza. Wystarczy bowiem przy wykorzystaniu aty dla filtra pakietw iptables o nazwie patch-o-matic tak skonfigurowa system, aby kady wychodzcy pakiet mia ustawian jedn, cile okrelon warto TTL. W tym przypadku osoby rozdzielajcej cze nie interesuj systemy operacyjne uywane

Podstawy

www.hakin9.org

hakin9 Nr 2/2005

Nielegalne wspdzielenie cza

Zmiana domylnych wartoci TTL


Linux
Zmiana wartoci TTL dla lokalnej maszyny w systemie Linux sprowadza si do wykonania w konsoli nastpujcego polecenia:
# echo "X" > /proc/sys/net/ipv4/ip_default_ttl

gdzie X to nowe, zmienione TTL. Standardowo ma ono warto 64 jeli Linux ma udawa system Windows, wystarczy jako X poda liczb 128 (a najlepiej 129, jeli korzystamy z dzielonego cza i nie chcemy wzbudza podejrze administratora sieci).

Po wykonaniu powyszego polecenia zawarto tablicy powinna by taka, jak na Listingu 1. Innym sposobem jest ustawienie odpowiedniej wartoci TTL jeszcze przed wykonaniem procesu rutowania na komputerze-bramce, na przykad:
# iptables -t mangle \ -A PREROUTING -i eth0 \ -j TTL --ttl-set 129

Windows 2000/XP

Domylnie w pakietach wysyanych z systemu Windows 2000/XP warto TTL jest ustawiana na 128. Najszybszym sposobem sprawdzenia standardowej wartoci TTL w systemie jest wykorzystanie polecenia ping. Wystarczy wysa pakiety ICMP echo request na interfejs ptli zwrotnej (ang. loopback) i zobaczy, jaka warto TTL ustawiona jest w odpowiedziach ICMP echo reply:
ping 127.0.0.1

Wicej ni zero

Zmiany TTL dokonuje si w rejestrze systemu. Za przechowywanie tej wartoci odpowiada wpis DefaultTTL w kluczu HKEY_LOCAL_MACHINE\System\CurrentControlSet\ Services\Tcpip\Parameters. Jeli nie ma takiej wartoci naley j utworzy, wykorzystujc typ DWORD.

Windows 95/98/Me

W systemach Windows 95/98/Me warto TTL przechowywana jest w kluczu HKEY _ LOCAL _ MACHINE\System\CurrentControlSet\Services\VxD\MSTCP\DefaultTTL . Jeli podanej wartoci DefaultTTL nie ma domylnie w powyszym kluczu, naley j utworzy wykorzystujc typ STRING.

w nielegalnej pajczynie, poniewa wszystkie pakiety po przejciu przez NAT bd miay ustawione t sam warto w polu TTL nagwka IP.

tion. Dla celu TTL dostpne s nastpujce opcje: ustawia warto TTL na warto, --ttl-dec warto zmniejsza warto TTL o warto, --ttl-inc warto zwiksza warto TTL o warto.
--ttl-set warto

Jednakowa warto TTL pakietw wychodzcych

Jeli komputer-brama pracuje w oparciu o system Linux ze skonfigurowan usug NAT, do ustawienia jednakowego TTL nielegalnych pakietw mona wykorzysta atk do iptables autorstwa Haralda Welte, ktra dodaje nowy cel w reguach filtrowania. Cel ten umoliwia uytkownikowi ustawianie wartoci TTL dla pakietu IP oraz zwikszanie lub zmniejszanie jej o okrelon warto. ata dostpna jest pod adresem http://netfilter.org. Do naoenia aty potrzebne s rda kernela i iptables. Po pomylnym spatchowaniu rde naley skompilowa i zainstalowa nowe jdro oraz nowe iptables. Podczas konfiguracji jdra mona ustawi nowe opcje dostpne w sekcji Networking Options -> Netfilter Configura-

Ustawienie TTL we wszystkich przekazywanych przez komputer-bramk pakietach na warto 128 sprowadza si do dopisania do tablicy mangle iptables nastpujcej reguy filtrowania:
# iptables -t mangle \ -A FORWARD -j TTL \ --ttl-set 128

Administrator moe wykorzysta warto TTL do utrudnienia nieuczciwym osobom podziau cza. Jeli na maszynie, ktra jest bezporednio podczona do cza internetowego pracuje Linux, administrator moe ustawi w pakietach, ktre s skierowane do sieci lokalnej warto TTL na 1. Wtedy kady nielegalny ruter w sieci LAN po odebraniu takiego pakietu i zmniejszeniu wartoci TTL o jeden, bdzie zmuszony usun taki pakiet z sieci, tak wic informacja nie zostanie przekazana dalej i nielegalna sie przestanie funkcjonowa (jeli za pakiet trafi do legalnej stacji kocowej, to z TTL o wartoci 1 bdzie odebrany bez adnych problemw). Naley zauway, e takie rozwizanie jest skuteczne, jeli komputer udostpniajcy nielegalnie cze pracuje jako ruter i wykorzystuje translacj adresw sieciowych (NAT). Opisany powyej sposb zmniejszania wartoci TTL administrator nielegalnej pajczyny mone atwo zneutralizowa, zwikszajc warto TTL w kadym docierajcym do rutera pakiecie jeszcze przed procesem rutowania. W systemie Linux wystarczy wykorzysta opisywany ju wyej nowy cel iptables (o nazwie TTL) i wpisa do tablicy iptables nastpujc regu:

Listing 1. Zawarto tablicy mangle po wprowadzeniu reguy filtrowania


# iptables -t mangle --list Chain FORWARD (policy ACCEPT) target prot opt source destination TTL all -- anywhere anywhere TTL set to 128

hakin9 Nr 2/2005

www.hakin9.org

# iptables -t mangle \ -A PREROUTING -i wlan0 \ -j TTL --ttl-set 2

Serwery proxy

Dziki temu w kadym docierajcym do interfejsu wlan0 (patrz Rysunek 2) pakiecie IP ktry moe mie ustawion warto TTL nawet na 1 warto pola TTL zostanie ustawiona na 2. Tak zmodyfikowany pakiet zostanie poddany procesowi rutowania, jego warto TLL zostanie zmniejszona o 1 i pakiet bez problemw trafi do uytkownika kocowego w nielegalnej sieci LAN. Naturalnie, jeli ten zdecydowa si na dalszy podzia cza, to TTL w pakietach wychodzcych z rutera powinien by ustawiony na wiksz warto.

Proxy po raz pierwszy

Metody bazujce na manipulacjach wartociami TTL maj racj bytu tak dugo, jak dugo mamy do czynienia z urzdzeniami trzeciej, sieciowej warstwy modelu ISO/OSI. Wystarczy jednak, e administrator pajczyny zdecyduje si na uycie do podziau cza urzdzenia warstwy czwartej lub wyszych (gatewaya, czyli w naszym przypadku rnych rodzajw porednikw sieciowych proxy), ktre tworz cay pakiet IP od nowa, a opisane powyej metody oka si nieskuteczne. W skrajnym przypadku mona sobie wyobrazi, e w pajczynie funkcjonuje wycznie czysty protok IPX, za na wyjciu z niej bramka IPX/IP, ktra nawizuje poczenia w imieniu klientw, a przychodzce odpowiedzi przekazuje do sieci wewntrznej (pajczyny) wewntrz pakietw IPX. Dopiero na stacjach kocowych s one wycigane przez odpowiedni socket, ktry przekazuje je aplikacjom sieciowym ju w postaci zrozumiaej dla protokow stosu TCP/IP. Z punktu widzenia transmisji IP ostatnim miejscem, do ktrego dociera datagram IP jest brama, a wic komputer przyczony bezporednio do sieci zewntrznej.

Serwery proxy peni rol porednikw midzy Internetem a systemami w sieci LAN, ktre nie maj do niego dostpu. Ich stosowanie daje sporo korzyci oszczdza przestrze adresow, umoliwia inteligentne filtrowanie i uwierzytalnianie na poziomie uytkownika, czy wreszcie zwiksza bezpieczestwo (serwer proxy staje si jedyn maszyn z bezporednim dostpem do Internetu). Uytkownicy korzystajcy z Internetu za porednictwem proxy maj zudzenie poczenia z sieci zewntrzn, w rzeczywistoci jednak cz si tylko z jedn maszyn. Po wysaniu dania przez klienta proxy sprawdza, czy jest ono moliwe do zrealizowania. Jeli tak porozumiewa si w imieniu klienta ze zdalnym serwerem, a nastpnie poredniczy w komunikacji. Najoglniej mwic, serwery tego typu dziel si na dwa rodzaje: dziaajce na poziomie aplikacji i obwodowe. Proxy aplikacyjne to takie, ktrych zadaniem jest poredniczenie w komunikacji midzy jedn (lub wicej) aplikacj a sieci zewntrzn. Natomiast proxy obwodowe nie zajmuj si konkretnym typem zlece otrzymuj i przekazuj dane bez rozrniania konkretnych protokow sieciowych. Jest jeszcze drugi podzia serwerw proxy: na uniwersalne (stosujce wiele protokow) i wyspecjalizowane (zajmujce si wycznie jednym rodzajem ruchu sieciowego). W praktyce jednak serwery wyspecjalizowane to serwery aplikacyjne (np. poredniczce jedynie w ruchu HTTP), a serwery uniwersalne obwodowe. Istnieje te specjalny typ proxy, umoliwiajcy buforowanie ruchu sieciowego (cache) moe on w znacznym stopniu zwikszy wydajno sieci w przypadku sabego cza. W dodatku umoliwia szczegow rejestracj zdarze (logowanie) i zaawansowan kontrol dostpu. Takie proxy nazywane s inteligentnymi. Najpopularniejsze obwodowe serwery proxy dla Windows to WinProxy (http://www.winproxy.com/), WinGate (http://www.wingate.com/) i WinRoute (http:// www.kerio.com). Uytkownicy Linuksa mog skorzysta midzy innymi z Proxy (http://proxy.sourceforge.net/), Zaval Proxy Suite (http://www.zaval.org/products/ proxy/) czy SuSE Proxy Suite (http://proxy-suite.suse.de).

Guchy telefon

dzenie, czy podejrzany komputer ma wczone przekazywanie pakietw (IP forwarding). Jeli tak moemy si domyla, e mamy do czynienia z nieuczciwym uytkownikiem. Warto jednak zauway, e nie jest to aden dowd. Kady uytkownik w sieci lokalnej moe bowiem mie w swoim komputerze dwie skonfigurowane karty sieciowe, pomidzy ktrymi ustawi przekazywanie pakietw. Niemniej moe to by dobra podstawa do przyjrzenia si takiemu uytkownikowi nieco bliej. Rozwamy sytuacj z Rysunku 2, w ktrej administrator dysponuje komputerem z systemem Linux. Jedyne, co naley zrobi, to doda do wasnej tablicy routingu faszywy wpis mwicy o tym, e pakiet IP wysany do okrelonej sieci ma zosta przekazany pod wskazany, podejrzany naszym zdaniem adres IP:
# route add -net 20.20.20.0/24 \ gw 10.10.11.95 eth0

Kolejnym sposobem wykrycia nielegalnie dzielonego cza jest spraw-

W tym momencie pakiet wysany na przykad na adres 20.20.20.20 zostanie dostarczony do komputera o adresie 10.10.11.95 (patrz Rysunek 2). Jeli komputer ten ma wczone przekazywanie pakietw, odbierze spreparowany pakiet i przekae do procesu wyboru dalszej trasy dla niego. Poniewa mao prawdopodobne jest, aby w tablicy rutowania znalaz si wpis odnoszcy si akurat do sieci 20.20.20.0/24, system podejmie decyzj o przekazaniu go na swoj domyln bram. Tak si jednak skada, e domyln bram dla takiego komputera jest ruter bezporednio przyczony do Internetu (w naszym przypadku jest to ruter o adresie 10.10.11.1). W sieci pojawi si dwa pakiety ICMP echo request: jeden wysany z komputera administratora do podejrzanego komputera i drugi wysany przez nielegalny ruter. Cay eksperyment sprowadza si do uruchomienia na komputerze administratora (a jeszcze lepiej na

Podstawy

www.hakin9.org

hakin9 Nr 2/2005

Nielegalne wspdzielenie cza

mi na nielegalnym ruterze filtra pakietowego typu statefull (dynamic) i odfiltrowania pocze nawizywanych z pajczyn z zewntrz.

Identyfikacja przegldarek internetowych

Rysunek 4. Pole User-Agent w nagwku HTTP bramce do Internetu) na jednej konsoli sniffera tcpdump:
# tcpdump -n -i eth0

i z drugiej konsoli wydania polecenia ping:


# ping 20.20.20.20

Jeli komputer o danym adresie IP pracuje jako ruter powinnimy zobaczy dwa pakiety IMCP echo request:
00:59:47:270862 10.10.11.2 00:59:47:271276 10.10.11.2

n podsie, pakiet zostanie przekazany pod wskazany adres. Jeli komputer o podanym adresie jest dostpny w nielegalnej podsieci, udzieli on odpowiedzi w postaci pakietu IMCP echo reply. W przeciwnym przypadku otrzymamy komunikat o bdzie informujcy, e dany host jest nieosigalny (icmp host unreachable). Mechanizm bdzie dziaa, dopki administrator pajczyny nie urucho-

Kada uruchomiona domylnie w systemie przegldarka sieciowa wysya do serwera WWW, w swoim daniu pobrania strony nagwek HTTP. W nagwku takim znajduje si pole User-Agent, w ktrym zawarta jest informacja o typie przegldarki oraz rodzaju i wersji systemu operacyjnego, na ktrym ta przegldarka jest uruchomiona (Rysunek 4). Mona wykorzysta ten fakt do wykrywania nielegalnego podziau cza, szczeglnie gdy nielegalni uytkownicy maj rne typy i wersje przegldarek, w dodatku dziaajce pod kontrol rnych systemw operacyjnych. Test wykrywajcy dzielone cze polega na analizie przechwyconych w sieci pakietw. Wrd nich naley szuka takich, ktre wysane zostay z jednego adresu rdowego (nielegalnej bramki). Jeli w takich pa-

> 20.20.20.20: icmp: echo request > 20.20.20.20: icmp: echo request

Mona rwnie prbowa sprawdzi, jaka podsie wykorzystywana jest w nielegalnej sieci LAN. Wymaga to jednak napisania odpowiedniego skryptu, gdy sprawdzanie rczne jest raczej skazane na niepowodzenie. W tym celu naley wykorzysta mechanizm opisany wyej, dobierajc jednak bardziej wiarygodny adres podsieci, na przykad:
# route add net 192.168.1.0/24 \ gw 10.10.11.95 eth0

Jeli nie trafilimy na waciw podsie, efekt bdzie taki sam jak poprzednio. Jeeli udao nam si zgad-

Rysunek 5. Podejrzane pakiety HTTP

hakin9 Nr 2/2005

www.hakin9.org

Rysunek 6. Zmiana identyfikacji przegldarki Mozilla

le User-Agent zostanie usunite lub zmodyfikowane tak, aby wskazywao na zupenie inny rodzaj przegldarki i system operacyjny. Mona to zrobi dla kadej przegldarki w nielegalnej sieci LAN, ustawiajc identyfikacj tak sam we wszystkich przegldarkach lub zastosowa serwer proxy WWW na nielegalnej bramce i zmusi uytkownikw do korzystania z niego. Odpowiednia konfiguracja serwera proxy spowoduje, e niezalenie od uywanych przez uytkownikw przegldarek, waciwe zapytanie generowane przez serwer proxy bdzie zawierao zawsze t sam informacj w polu User-Agent.

Zmiana wartoci pola User-Agent

Rysunek 7. Zmiana identyfikacji przegldarki Internet Explorer

Rysunek 8. Identyfikacja przegldarki IE po dokonanych zmianach


kietach pole User-Agent zawiera informacje o rnych przegldarkach i systemach operacyjnych, jest to sytuacja podejrzana. Bardziej podejrzan sytuacj jest taka, w ktrej w polu User-Agent wida rne wersje systemw operacyjnych, nie za samych przegldarek. Uywanie w tym samym czasie dwch systemw operacyjnych korzystajcych z jednego adresu IP jest raczej niemoliwe (jeli wykluczymy sytuacj wykorzystania programw umoliwiajcych uruchamianie wirtualnych maszyn, takich jak VMvare czy Microsoft Virtual PC), natomiast uywanie kilku przegldarek w jednym systemie operacyjnym jak najbardziej. Rysunek 5 przedstawia pakiety, ktre powinny zwrci uwag administratora sieci. Na Rysunku 5 zauway mona dwa dania pobrania strony http:// www.onet.pl/, wysane spod jednego adresu 10.10.11.95, w ktrych wida, e wykorzystane zostay dwie przegldarki (MSIE 6.0 i Mozilla Firebird) uruchomione na dwch systemach operacyjnych (Windows 2000 identyfikowany jako Windows NT 5.0 oraz Linux). Pozostaje tylko pytanie, co robi, jeli uytkownik ma na jednym komputerze zainstalowane kilka systemw operacyjnych i pracuje raz w jednym, raz w innym.

W przypadku przegldarek Mozilla (dla Windows) dostpne jest rozszerzenie User Agent Switcher PL, ktre dodaje do programu menu umoliwiajce zmian identyfikacji przegldarki. Rozszerzenie to zapewnia podobn funkcjonalno jak Identyfikacja przegldarki dostpna w Operze. Umoliwia konfigurowanie listy agentw wywietlanych w menu i ich wybr w zalenoci od potrzeb (Rysunek 6). W przypadku przegldarek Internet Explorer naley zmodyfikowa ga rejestru systemowego HKEY _
LOCAL _ MACHINE\SOFTWARE\Microsoft\ Wi nd ows\C u rre ntVersion\Inter net Settings\5.0.

Proxy po raz drugi

Podstawy

Opisana metoda wydaje si by dobra, cho i j mona obej, jeli po-

Naley stworzy w niej klucz User Agent (jeli go tam nie ma). Wpisanie wartoci domylnej zastpi cig Mozilla/4.0. Pozostae parametry mona modyfikowa dodajc do klucza User Agent nowe wartoci cigu o nazwach Compatible, Version czy Platform z wasnymi wartociami. Dodatkowo mona dodawa nowe wartoci w kluczu Post Platform, jako dodatkowe informacje dla pola

Rysunek 9. Okrelanie adresu IP i portu, na ktrych dostpny bdzie serwer proxy

www.hakin9.org

hakin9 Nr 2/2005

Nielegalne wspdzielenie cza

racyjnego na podstawie rnic w implementacjach stosw TCP/IP, uywanych przez rnych producentw tyche systemw. Pomimo cisych zasad budowy stosw TCP/IP okrelonych w dokumentach RFC, w konkretnych implementacjach poszczeglnych systemw operacyjnych mona odnale pewne rnice. Dotyczy to gwnie charakterystycznych wartoci pl ustawianych w nagwkach protokow IP i TCP. Programy do pasywnej analizy stosw TCP/IP poddaj analizie midzy innymi nastpujce pola w nagwku IP: czas ycia pakietu (TTL), pole ID (identyfikacja), ustawienia bitw TOS (ang. Type Of Service), ustawienia bitu nie fragmentuj (ang. dont fragment).

Rysunek 10. Wyniki pasywnego wykrywania


User-Agent.

Naley dopisywa je jako nazwy cigw bez wartoci np. dodatkowa informacja = "" Przykado. we zmiany w rejestrze pokazane s na Rysunku 7. Wchodzc na stron http:// hitgate.gemius.pl:9170/ua.html moemy sprawdzi, w jaki sposb przedstawia si nasza przegldarka. Mona rwnie wykorzysta ten URL do sprawdzenia pola User-Agent po dokonaniu zmian w rejestrze. Dla przykadu zmiana pierwszych czterech wartoci pola User-Agent spowoduje, e przegldarka zostanie rozpoznana jako Netscape 6.0 uruchomiona w systemie Linux (Rysunek 8).

adres IP i port przypisany do interfejsu wewntrznego, czyli tego od strony nielegalnej sieci LAN (Rysunek 9). Natomiast w pliku default.action naley okreli zawarto pola UserAgent dla wszystkich wychodzcych pocze WWW. W tym celu naley zamieni lini:
-hide-user-agent \

Z kolei w nagwku TCP sprawdzane s nastpujce pola: rozmiar okna (ang. Window Size), maksymalny rozmiar segmentu (ang. Maximum Segment Size), opcja selektywnego odrzucania (ang. Selective Acknowledgement), opcja NOP (ang. No Operation).

na na przykad tak:
+hide-user-agent{Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322)} \

Wykorzystanie serwera proxy do ujednolicenia pola UserAgent

Pasywne wykrywanie systemu operacyjnego

Prostszym sposobem ukrycia informacji o przegldarkach jest skorzystanie z serwera proxy WWW dla systemu Linux, takiego jak na przykad privoxy. Naley go zainstalowa na nielegalnej bramce i poinstruowa uytkownikw, eby skonfigurowali swoje przegldarki do korzystania z serwera proxy. Program mona pobra ze strony http://www.privoxy.org/. Po zainstalowaniu programu trzeba dokona dwch zmian w plikach config i default.action. W pierwszym pliku naley ustawi na jakim interfejsie serwer ma nasuchiwa pocze od uytkownikw. Musimy te okreli

Jeszcze innym sposobem detekcji nielegalnych rozgazie sieci jest wykrywanie wielu rnych wersji systemw operacyjnych korzystajcych w tym samym czasie z jednego adresu IP. Pasywna identyfikacja jest metod, w ktrej nie wysya si do maszyny docelowej adnych pakietw testujcych (patrz Artyku Michaa Wojciechowskiego OS fingerprinting jak nie da si rozpozna, hakin9 4/2004). Podstaw dziaania tej metody jest analiza stosu TCP/IP komputera na podstawie pakietw jakie ten komputer generuje, po przechwyceniu ich metod sniffingu. Samo pojcie analizowania stosu oznacza okrelanie rodzaju i wersji systemu ope-

Jednym z narzdzi przeznaczonym do pasywnego fingerprintingu jest program p0f. Mona go pobra ze strony http://lcamtuf.coredump.cx/ p0f.shtml. W systemie Windows program wymaga zainstalowanej biblioteki Winpcap. Program moe zidentyfikowa system operacyjny dziaajcy na hostach na podstawie pakietw IP, ktre maj ustawione nastpujce flagi TCP: SYN, SYN i ACK, RST.

Za pomoc opcji --f okrela si plik przechowujcy gotowe sygnatury dla poszczeglnych systemw operacyjnych, ktre p0f porwnuje z tym co zidentyfikuje w przechwyconym pa-

hakin9 Nr 2/2005

www.hakin9.org

kiecie. Dla kadej z metod istnieje oddzielny plik: p0f.fp, p0fa.fp, p0fr.fp.

Inne metody wykrywania pajczarzy


Komunikatory internetowe
Analizujc pakiety wychodzce z komunikatorw internetowych moemy w nich dostrzec identyfikator (zazwyczaj numer) uytkownika (patrz Artyku Konstantina Klyagina Paranoja w wiecie komunikatorw w hakin9 3/2004). Poniewa istnieje niewielka szansa, e uytkownik ma na jednym komputerze w tym samym czasie uruchomione kilka kont w komunikatorze internetowym, wychwycenie pakietw zawierajcych rne identyfikatory uytkownika i pochodzcych z jednego IP z duym prawdopodobiestwem wiadczy o tym, e mamy do czynienia z nielegaln sieci.

Przykadowo, sygnatura dla systemu Windows 2000 z service packiem 4 lub XP z service packiem 1 wyglda nastpujco: 65535:128:1:48:M*,N,N,S: .:Windows:2000 SP4, XP SP1. Kolejne pola w powyszym zapisie oznaczaj: rozmiar okna TCP, czas ycia pakietu (TTL), 1 ustawiony bit nie fragmentowa pakietu, 48 rozmiar pakietu, M maksymalny rozmiar segmentu (MSS), N opcja nie uywane (NOP), N opcja nie uywane (NOP), S wczone selektywne potwierdzanie ACK.
65535 128

ledzenie poczty

Poniewa zdecydowana wikszo uytkownikw nie korzysta z szyfrowanych pocze z serwerami pocztowymi, analizujc wysyane listy za pomoc sniffera moemy na podstawie niektrych nagwkw z duym prawdopodobiestwem okreli, e mamy do czynienia z pajczarzem. Rzadko kiedy uytkownik uywa dwch programw pocztowych na raz, a wikszo programw pocztowych przedstawia si w nagwkach User-Agent lub X-Mailer.

Sprawdzanie uptime

Pakiety TCP mog zawiera dodatkow (opcjonaln) informacj timestamp, czyli znacznik czasowy. Rne systemy operacyjne zwikszaj ten znacznik w rnych odstpach czasu. Znacznik ten (jeli wiemy, z jakim systemem operacyjnym mamy do czynienia), po pomnoeniu przez czstotliwo zwikszania licznika, wskazuje uptime maszyny, czyli czas od jej ostatniego uruchomienia. Jeli, na przykad korzystajc z tcpdump, wykryjemy z jednego IP pakiety o skrajnie rnych wartociach timestamp, moemy by prawie pewni, e mamy do czynienia z rnymi maszynami, czyli z pajczarzami:
# tcpdump -n | grep timestamp

Opcja -p suy do przestawienia interfejsu sieciowego w tryb odbioru wszystkich pakietw (ang. promiscuous), nie tylko tych adresowanych do komputera, na ktrym dziaa p0f. Za pomoc opcji -i moemy okreli interfejs, na ktrym program ma nasuchiwa. Na Rysunku 10 wida, e program p0f zidentyfikowa w tym samym czasie dwa systemy operacyjne korzystajce z jednego rdowego adresu IP. Takie wyniki mog wiadczy o tym, e w naszej sieci kto udostpnia cze innym uytkownikom. W najnowszej wersji p0fa autor wprowadzi dodatkow opcj -M , ktra okrela (na podstawie anomalii w pakietach) w procentach prawdopodobiestwo istnienia maskarady pod danym adresem IP. Oczywicie (proxy po raz trzeci...) wszystko to ma sens, jeeli administrator pajczyny nie zainstaluje jako urzdzenia dzielcego proxy obwodowego. W takim bowiem razie fingerprinting dotyczy bdzie systemu operacyjnego porednika.

A oto fragment przykadowego wyniku:


<nop,nop,timestamp 3320208223 97006325>

Dwie wartoci zawarte po sowie timestamp to odpowiednio timestamp hosta rdowego i ostatnia warto timestampu otrzymana od hosta docelowego. Metoda ta ma ograniczon przydatno, poniewa korzystajc z niej zakadamy, e komputery w pajczarskiej sieci bd wysyay pakiety z opcj timestamp, co nie zawsze moe mie miejsce.

i szereg sposobw utrudniania ycia administratorom pajczyn (patrz Ramka Inne metody wykrywania pajczarzy). Wszystkie maj jednak to do siebie, e dadz si przy odrobinie inwencji obej i unieszkodliwi.

Wydaje si zatem, e byoby najlepiej, aby dostawcy Internetu pozostali przy zarzdzaniu pasmem i limitami transferu, a zabaw w Wielkiego Brata pozostawili mao ambitnym rozrywkowym programom TV. n

Podstawy

W Sieci
http://support.microsoft.com/default.aspx?scid=kb;en-us;158474 informacje o pooeniu najwaniejszych parametrw sieciowych w rejestrze Windows, http://lukasz.bromirski.net/docs/translations/netfilter-extensions.html opis atania pakietu iptables, http://winpcap.polito.it/install/default.htm biblioteka Winpcap, http://lcamtuf.coredump.cx/p0f.shtml strona domowa programu p0f, http://netfilter.org projekt Netfilter. http://www.0xdecafbad.com/TCP-Timestamping-Obtaining-System-Uptime-Remotely.html informacje na temat zdalnego uzyskania uptime systemu.

Syzyfowa praca

Istnieje wiele innych metod wykrywania nielegalnego wspdzielenia cza

10

www.hakin9.org

hakin9 Nr 2/2005

You might also like