Rozwiązania
Człowiek w środku czyli trzymaj pakiety przy sobie
Człowiek w środku czyli
trzymaj pakiety przy sobie
Robert Multan
Zwykło się mówić, że złudne poczucie bezpieczeństwa jest gorsze od braku zabezpieczeń. Może się
wydawać, że wyposażenie komputera w zaporę sieciową jest wystarczającym sposobem ochrony.
Okazuje się jednak, że informacje wysyłane do sieci są narażone na przechwycenie przez pośrednika,
o którym nie mamy pojęcia.
od koniec lat 90. minionego wieku jedną z popular- schemat działania wyklucza ewentualne próby podsłuchiwa-
nych metod dostępu do Internetu było podłączenie nia, ale to niestety tylko teoria. W praktyce metod podsłuchi-
się do jednej z amatorskich, osiedlowych sieci. By- wania jest co najmniej kilka. Bez względu na to czy będzie to
Pły one najczęściej budowane w oparciu o koncentra- np.: podszywanie się pod inny komputer czy zdalne modyfi-
tory (popularne Huby) urządzenia niezbyt inteligentne. Kiedy kowanie tablicy ARP, zawsze istnieje metoda aby wykryć ta-
wysłana przez komputer ramka sieciowa trafiała do koncentrato- kie działanie, bądz się przed nim zabezpieczyć.
ra, była rozsyłana do wszystkich użytkowników sieci bez wzglę- W tym artykule przedstawię kilka popularnych metod
du na adresata. Z punktu widzenia osoby, która chciałaby pod- podsłuchiwanie transmisji w sieciach Ethernet oraz garść
słuchiwać transmisję, sytuacja była niemal idealna. Po pierwsze, sposobów na to jak nie dać się podsłuchać.
jedyną operacją wymaganą do tego, aby cały ruch sieciowy tra-
fiał również do naszego komputera było przełączenie karty sie- Narzędzia
ciowej w tryb Promiscious (patrz Ramka). Po drugie, podsłuchi- Ettercap jest narzędziem oficjalnie służącym do przeprowa-
wanie odbywało się w pełni pasywnie; brak ingerencji w cudze dzania diagnostyki sieci. Oficjalnie ponieważ poza funk-
systemy uniemożliwiał ofiarom wykrycie ataku. cjami takimi jak skanowanie s\w poszukiwaniu hostów, czy
Jednak z początkiem XXI wieku koncentratory zaczęły określanie systemu operacyjnego zainstalowanego na zdal-
być stopniowo wypierane przez przełączniki sieciowe (Swit- nym komputerze, pozwala również na podsłuchiwanie trans-
che) urządzenia bardziej zaawansowane, zdradzające pew- misji oraz przeprowadzanie ataków typu MITM. Do wybo-
ne oznaki inteligencji. Najistotniejsza zmiana polegała na ru mamy interfejs pseudo-graficzny bazujący na bibliotekach
przechowywaniu w pamięci tablicy skojarzeń pomiędzy ad- ncurses oraz okienkowy oparty na GTK+. Aplikacja współ-
resem MAC, a fizycznym portem urządzenia. Dzięki temu pracuje nie tylko z systemem Linux. Korzystać z niej mo-
otrzymywane ramki sieciowe były przesyłane tylko do hosta, gą również użytkownicy systemów z rodziny Windows, Ma-
do którego były adresowane. Wydawać by się mogło, że taki cOS X oraz BSD.
42 marzec 2009
linux@software.com.pl
Rozwiązania
Człowiek w środku czyli trzymaj pakiety przy sobie
Wireshark (dawniej Ethereal) jest darmo- cje, które będą przekazywane przez fikcyjny ser- wi ofiary. Jeżeli wszystko przebiegnie po naszej
wym analizatorem ruchu sieciowego wyposa- wer DHCP: zakres adresów IP, maska podsieci myśli, u dołu ekranu pokaże się komunikat za-
żonego w funkcję sniffingu (podsłuchiwania oraz adres serwera DNS oddzielając je znakami wierający adres MAC ofiary oraz przyznany jej
transmisji innych hostów). Funkcjonalnością /, np.: 10.0.0.5-80,82/255.255.255.0/10.0.0.1 (w adres IP. Teraz wystarczy już tylko wybrać z me-
program jest zbliżony do aplikacji tcpdump, przypadku interfejsu GTK odpowiednie warto- nu pozycję View / Connections i będziemy mie-
jednak ze względu na zaawansowane możli- ści wpisujemy w kolejne pola). Podając pierw- li wgląd we wszystkie aktywne połączenia ofia-
wości filtrowania i sortowania oraz wygodny szy parametr trzeba pamiętać o dwóch rzeczach; ry. Zaznaczając interesujące nas połączenie i na-
graficzny interfejs jest znacznie wygodniejszy po pierwsze pula adresów IP musi należeć do ciskając klawisz [Enter] wywołamy podgląd po-
w użyciu. Dzięki aplikacji Wireshark możemy podsieci, do której podłączony jest komputer, a łączenia. Po lewej stronie ekranu widoczne są
uzyskać informacje o wszystkich pakietach wy- po drugie należy unikać podawania adresów IP, wszystkie dane wychodzące, a po prawej przy-
syłanych i odbieranych przez nasz komputer w które są aktualnie w użyciu (unikniemy w ten chodzące. Zaznaczone na liście połączenia TCP
bardzo przystępnej formie. Standardowa kom- sposób konfliktu typu flip-flop). Maska podsie- możemy zerwać naciskając klawisz [K].
pilacja programu wymaga zainstalowanych w ci powinna być taka sama jak w przypadku sieci, Wykrywanie takiej formy ataków jest nie-
systemie bibliotek GTK+, jednak dostępne są do której jesteśmy podłączeni. Aby ofiara pod- zwykle proste. W zasadzie nawet nie potrzebuje-
wersje bez interfejsu graficznego. czas ataku zachowała dostęp do internetu, należy my do tego żadnych dodatkowych narzędzi poza
Arpwatch to prosty program służący do jeszcze podać adres IP sprawnego serwera DNS systemowymi. Powszechnie wiadomo, że bramy
monitorowania i logowania zmian zawarto- (w przeciwnym razie ofiara straci możliwość ko- internetowe wykazują nikłą tendencję do zmia-
ści tablicy skojarzeń MAC/IP karty sieciowej. munikacji z serwerem nazw, co w konsekwen- ny swojego adresu IP, więc jedyne co wystarczy
Odpowiednio skonfigurowany powiadomi nas cji prowadzić będzie do odcięcia od większości do wykrycia takiego ataku jest sprawdzenie ak-
emailem (w poprzednich wersjach była możli- usług sieciowych). Po zatwierdzeniu wpisanych tualnego adresu bramy internetowej wydając po-
wość zmiany adresu, na który zostanie wysłany danych wybieramy z menu pozycję Start / Start lecenie route | grep default. Jeżeli wyświe-
raport, jednak w wersji 2.1a15 takiej możliwo- sniffing i czekamy do momentu upłynięcia cza- tlony adres IP różni się od tego należącego do
ści nie ma) o wszystkich podejrzanych zmia- su dzierżawy adresu przyznanego komputero- bramy internetowej naszego dostawcy internetu
nach wprowadzanych do tablicy ARP.
IPGuard jest wyspecjalizowanym narzę- Listing 1. Prosty skrypt wykrywający konflikt adresów MAC
dziem służącym do zabezpieczania się przed
atakami typu ARP Spoofing. Do poprawnego #!/bin/bash;
działania potrzebuje zdefiniowanej w pliku tek- #w poniższej linii poniżej definiujemy używany przez nas interfejs;
stowym statycznej tablicy ARP. INTERFEJS="eth1";
ADRES_BRAMY=`route | grep $INTERFEJS | grep default | awk -F" " '{ print
Atak typu DHCP Spoofing $2}'`;
Podsłuchiwanie transmisji metodą DHCP Spo- MAC_BRAMY=`arp -i $INTERFEJS | grep $ADRES_BRAMY | awk -F" " '{print
ofing ma bardzo prostą mechanikę działania. $3}'`;
W większości sieci Ethernet za automatyczną SPRAWDZ=`arp -i $INTERFEJS | grep -v $ADRES_BRAMY | grep $MAC_BRAMY`;
konfigurację hostów w sieci odpowiada serwer PODEJRZANY=`echo $SPRAWDZ | awk -F" " '{print $3}'`;
DHCP, zwyczajowo zainstalowany na kompute- if [ -n "$SPRAWDZ" ]; then;
rze, który spełnia rolę bramy sieciowej. Trzonem echo -e "Wykryto zdublowany adres MAC bramy \n Czas zdarzenia:
idei tego typu ataku jest podszycie się pod bra- `date` \nPodejrzany; MAC: $PODEJRZANY" | mail root -s "Alarm";
mę sieciową, kierując w efekcie cały ruch ofia- fi.
ry przez komputer osoby atakującej. Żeby atak
miał szansę powodzenia, atakujący musi wysłać
swoją odpowiedz na żądanie konfiguracji połą-
czenia szybciej niż prawdziwy serwer DHCP.
Przewagę w tym wyścigu atakujący uzyskuje
poprzez niesprawdzanie czy przydzielany ofie-
rze adres IP jest już w użyciu. Poniżej przedsta-
wię metodę ataku z użyciem programu ettercap.
Do korzystania z programu będziemy po-
trzebowali praw roota. Uruchamiając aplika-
cję musimy zdecydować się na wybór interfej-
su użytkownika. Do wyboru ncurses (opcja -C)
i GTK+ (-G). Artykuł był pisany na podstawie
wersji konsolowej, jednak rozkład poszczegól-
nych opcji w menu jest niemal identyczny w
obu interfejsach. Po uruchomieniu programu
wybieramy pozycję Sniff / Unified sniffing i
wybieramy odpowiedni interfejs.
Następnie odnajdujemy opcję Mitm /
DHCP Spoofing. Teraz należy wpisać informa- Rysunek 1. Ettercap z interfejsem pseudograficznym. Wszystkie połączenia podane jak na talerzu
www.lpmagazine.org 43
Rozwiązania
Człowiek w środku czyli trzymaj pakiety przy sobie
(a tym najczęściej jest pierwszy dostępny adres ce konfiguracji połączenia uzyskać od swoje- ci spreparowane odpowiedzi na zapytania ARP
w ramach podsieci) oznacza to, że najprawdopo- go dostawcy internetu. (które faktycznie nie zostały wysłane) zawiera-
dobniej ktoś przechwytuje nasze pakiety. jące fałszywe skojarzenia IP<->MAC. Efektem
Przed tego typu atakami najłatwiej zabez- ARP Poisoning tej operacji jest zatrucie tablic ARP. W syste-
pieczyć się rezygnując z usług serwera DHCP według Ettercapa mie ofiary modyfikowany jest wpis dotyczący
i konfigurując połączenie ręcznie. Na wszelki Ta metoda ataku ma nieco bardziej złożoną bramy internetowej. W miejsce oryginalnego
wypadek warto wszelkie informacje dotyczą- mechanikę działania. Agresor wysyła do sie- adresu fizycznego podstawiany jest MAC ata-
kującego. Podobna operacja jest wykonywa-
na na tablicy ARP bramy sieciowej, w której w
miejscu adresu MAC ofiary trafia adres agre-
Nota prawna
sora, dzięki czemu możliwe jest przeprowadze-
nie ataku typu Man in The Middle. Aby mieć
W uchwalonej 24. pazdziernika 2008r. przez Sejm RP ustawie nowelizującej Kodeks Kar-
pewność, że fałszywe wpisy w tablicach ARP
ny znalazła się definicja sniffingu jako naruszenia tajemnicy komunikacji (ż 3 art 267 K.k.).
nie wrócą do oryginalnego stanu, spreparowa-
Kto w celu uzyskania informacji, do której nie jest uprawniony, zakłada lub posługuje się
ne odpowiedzi ARP wysyłane są cyklicznie w
urządzeniem podsłuchowym, wizualnym albo innym urządzeniem lub oprogramowaniem
pewnych odstępach czasu.
podlega grzywnie, karze ograniczenia wolności albo pozbawienia wolności do lat 2. .
Przykładowy atak tą metodą jest jak zwy-
kle bardzo prosty do wykonania przy pomocy
programu ettercap. Startujemy program pole-
ceniem ettercap (pamiętając o wybraniu in-
Protokół ARP
terfejsu). Po jego załadowaniu się wybieramy
ARP (Address Resolution Protocol) protokół stosowany w sieciach Ethernet, umożliwia- pozycję Sniff / Unified sniffing i wpisujemy na-
jący uzyskanie adresu MAC danego hosta w sytuacji, kiedy znamy jego adres IP. W pew- zwę interfejsu, którego używamy do połącze-
nym uproszczeniu działanie protokołu ARP wygląda następująco. Host, który chce uzy- nia. Przed wykonaniem ataku możemy jeszcze
skać adres MAC komputera wysyła na adres rozgłoszeniowy sieci zapytanie kto ma adres wybrać hosty, które będą naszymi ofiarami, od-
IP 10.0.1.3? (pakiet ARP request). Następnie komputer posiadający dany IP wysyła odpo- najdując w menu pozycję Targets / Select tar-
wiedz 10.0.1.3 ma adres 00:00:13:34:fb:b3 (ARP reply). gets (możemy tu podawać pojedyncze adresy
IP, bądz całe zakresy, np.: 192.168.0.1-32,35).
Następnym krokiem jest zbudowanie listy ho-
stów przez wybranie pozycji Hosts / Scan for
Protokół DHCP
hosts. Teraz pozostaje już rozpoczęcie samego
ataku; w tym celu wybieramy z menu pozycję
DHCP (Dynamic Host Configuration Protocol) protokół stosowany do automatycznej konfi-
Mitm / ARP Poisoning. Jedną z opcji, które mo-
guracji hostów w sieciach Ethernet. Komputer, który podłącza się do sieci, wysyła najpierw ko-
żemy wybrać, jest atak jednokierunkowy (para-
munikat rozgłoszeniowy w celu zlokalizowania serwerów DHCP jednocześnie prosząc o kon-
metr oneway) przydatny w sytuacji, w której
figurację połączenia. Następnie serwer przesyła dane takie jak: adres IP hosta i bramy siecio-
przykładowo nie chcemy manipulować tablicą
wej, maskę podsieci, czy adresy serwerów DNS. Każdy przydział adresu ma pewien czas ży-
ARP bramy internetowej (ta forma ataku wy-
cia (tzw.: czas dzierżawy), po którego upływie system wysyła prośbę o jej odnowienie.
maga podania dwóch celów, których transmisję
między sobą chcemy przechwycić; można to
zrobić korzystając z menu targets. Po zatwier-
dzeniu parametrów ataku należy już tylko wy-
brać z menu pozycję Start / Start sniffing i ko-
rzystając z podglądu połączeń (View / Connec-
tions) będziemy mieli wgląd w cały ruch siecio-
wy generowany przez system ofiary.
Taki rodzaj ataku również nie jest trudny do
wykrycia, chociaż niekoniecznie bez pomocy
dodatkowych narzędzi. Wydając polecenie arp
możemy zobaczyć jak wygląda aktualna tablica
arp karty sieciowej (korzystając z parametru -i
możemy wybrać interfejs, np.: arp -i wlan0).
Jeżeli na liście będą znajdowały się dwie pozy-
cje o identycznym adresie mac, będzie to mogło
oznaczać dwie rzeczy. Jeżeli jednym ze zdublo-
wanych adresów IP będzie ten należący do na-
szej bramy internetowej, będzie to ewidentny sy-
gnał, że ktoś próbuje się pod nią podszyć. Jeśli
zaś żaden z podwójnych adresów nie należy do
Rysunek 2. Ettercap z interfejsem GTK. Wszystko co udało się dowiedzieć o hoście w sieci bramy bądz nie jest naszym własnym adresem,
44 marzec 2009
Rozwiązania
Człowiek w środku czyli trzymaj pakiety przy sobie
raczej nie ma się o co martwić. Może to być spo- ci i ich adresach MAC (przydatne przy budo- Szczerze zachęcam wszystkich zaintereso-
wodowane zmianą adresu MAC któregoś z ho- waniu pliku /etc/ethers) można uzyskać agre- wanych do zagłębienia się w temat tego typu
stów i nie odświeżenia tablicy ARP. Z pomocą sywnie (wysyłając zapytania ARP dotyczące zagrożeń. Polecam przeprowadzenie testowe-
prostego skryptu dodanego do harmonogramu każdego adresu podsieci) korzystając z pro- go ataku np.: na komputer znajomego (natural-
zadań możemy wysłać powiadomienie, kiedy gramu ettercap wybierając Sniff / Unified Snif- nie uprzedzając go wcześniej!) z działającym w
zostanie wykryty konflikt adresów MAC. fing, a następnie Hosts / Scan for hosts. Istnie- tle programem Wireshark, a następnie dokładne
Jako że niekoniecznie najprostsze rozwią- je również metoda pasywna wydając polece- przeanalizowanie mechaniki ataku. Przydatnym
zania są najlepsze, programiści stworzyli wy- nie ipguard -r -b 100 -f ~/tablica zbie- narzędziem jest tak zwany Szwajcarski Scyzoryk
specjalizowane programy służące zabezpie- rzemy ostatnie 100 niewystępujących w pliku ARP (ARP Swiss Knife arp-sk), dzięki któremu
czaniu się przed tego rodzaju atakami. Jed- /etc/ethers par adresów uzyskanych z odebra- możemy wysyłać dowolnie skonfigurowane pa-
nym z nich jest program ARPwatch. Aplika- nych pakietów ARP. Nie mamy jednak żadnej kiety ARP pozwalając na jeszcze lepsze zgłębie-
cja ta działając w oparciu o bibliotekę libpcap gwarancji, że w momencie pobierania adresów nie zasad funkcjonowania ataków tego typu. Bar-
służy do monitorowania sieci. Program zapi- hostów nikt nie będzie przeprowadzał któregoś dzo pomocny jest tutaj również Wireshark da-
suje w logach systemowych wszystkie zmiany z ataków typu Man in the Middle co może jący możliwość filtrowania pakietów według sto-
w tablicy adresów hostów, pozwalając nie tylko wpłynąć negatywnie na jakość tablicy. sowanego protokołu, czy adresu docelowego.
na wykrycie ataków ARP Poisoning, ale rów-
nież na konflikty typu flip-flop. W razie podej-
rzenia potencjalnie szkodliwego działania któ-
Konflikt typu flip-flop
regoś z komputerów w sieci, aplikacja wysy-
Wyobrazmy sobie sytuację, w której komputer A i komputer B mają ten sam adres IP. Host
ła również email na adres administratora lokal-
A chce rozpocząć komunikację z komputerem C, w związku z czym wysyła zapytanie ARP,
nej maszyny.
aby uzyskać adres jego MAC. Do tablicy ARP hosta C trafia MAC komputera A. B również
Kolejną metodą zabezpieczania się przed
nawiązuje transmisję z C, jednak w tablicach ARP dla jednego adresu IP jest miejsce tylko
tego rodzaju atakami jest zdefiniowanie sta-
na jeden adres MAC, więc C zastępuje adres A adresem B tracąc możliwość komunikacji
tycznej tablicy ARP, dzięki czemu system nie
z pierwszym komputerem. Co gorsza część pakietów, które miały trafić do A, mogą zostać
będzie wrażliwy na pakiety ARP replay, które
wysłane na adres drugiego komputera.
wykorzystuje się w tej metodzie. Można to zro-
bić podając w kolejnych wierszach pliku /etc/
ethers adresy MAC i oddzielona spacją adresy
IP, a następnie wydając polecenie arp -f. Jed- Adres MAC
nak ten sposób, poza wzrostem poziomu bez-
Jest to 48bitowy fizyczny adres karty sieciowej w sieci Ethernet. W teorii unikalny w skali
pieczeństwa, ma swoje wady. Jeżeli w naszej
światowej, w praktyce większość sterowników umożliwia jego zmianę. Komunikacja w sie-
sieci komunikujemy się jedynie z Internetem
ciach Ethernet odbywa się właśnie w oparciu o adresy MAC.
poprzez bramę sieciową, będziemy musieli po-
siadać tylko jej adresy MAC i IP. Jeżeli jednak
będziemy nawiązywać bezpośrednią komuni-
kację z dużą liczbą użytkowników sieci, to aby
tryb Promiscious
mieć pewność, że nikt nie podszywa się pod in-
Tryb pracy karty sieciowej, w którym akceptowane są wszystkie pakiety które pojawią się
nego hosta, musielibyśmy zdefiniować tablicę
na łączu danych bez względu na ich docelowy adres MAC. W normalnym trybie pakiety ta-
ARP zawierającą adresy wszystkich systemów
kie są odrzucane.
podłączonych do sieci.
Lepszą metodą na wykorzystanie pliku sta-
tycznej tablicy ARP jest skorzystanie z progra-
mu ipguard. Zakładając poprawność danych
MITM
zawartych w pliku /etc/ethers, uruchamiając
W atakach typu Man In The Middle w sieciach Ethernet osoba atakująca jest umiejsco-
go poleceniem ipguard -e /etc/ethers -m
wiona pomiędzy systemem ofiary a lokalną bramą w taki sposób, aby agresor był w sta-
00:11:22:33:44:55 nie tylko zabezpieczymy
nie przechwytywać cały ruch sieciowy ofiary. Wszystkie pakiety wysyłane przez zaatako-
się przed atakami typu ARP Spoofing. W mo-
wanego hosta trafiają do atakującego, który następnie przekazuje je na ich oryginalny ad-
mencie wykrycia pary adresów nie należącej
res przeznaczenia. W identyczny sposób realizowana jest komunikacja w przeciwną stro-
do zdefiniowanej tablicy wyśle do atakującego
nę. Jeżeli połączenia ofiary nie były szyfrowane, agresor bez problemu może z nich wycią-
spreparowaną odpowiedz ARP, która zmodyfi-
gnąć dane takie jak: przesyłane loginy, hasła, czy emaile.
kuje tablicę hostów agresora zmieniając w niej
adres MAC naszego komputera na fałszywy (tu
00:11:22:33:44:55), w praktyce pozbawia-
jąc go możliwości komunikacji z naszym sys-
temem. Dodatkowo wszystkie wykonywane
W Sieci
przez program operacje zostaną zapisane w lo-
" http://ettercap.sourceforge.net/ strona domowa programu Ettercap;
gach systemowych (konkretnie w pliku /var/
" http://www.wireshark.org/ witryna narzędzia Wireshark;
log/ipguard_
.log). In-
" http://www-nrg.ee.lbl.gov/ strona narzędzia arpwatch.
formacje o hostach podłączonych do naszej sie-
www.lpmagazine.org 45
Wyszukiwarka
Podobne podstrony:
2009 03 Our 100Th Issue
2009 03 BP KGP Niebieska karta sprawozdanie za 2008rid&657
2009 03 Parental Guidance Filtering Home Internet Access with Squid
Zamach na Hitlera KLCW 2009 03 07
2009 03 16 test egzaminacyjny nr 4 IV liga
2009 03 17 test egzaminacyjny nr 4 Kl O
Antologia komiksu polskiego 03 Czlowiek w probowce Komiks Etyka Medycyna
2009 03 26 prezentacja pochodneid&785
ZW 2009 03 02
2009 03 Parallel Thinking Optimizing Bash Scripts for Multi Core Processors
03 Człowiek, który o mnie nie myśli Budzyńska Agata
SEKTOR BANKOWY PODSTAWOWE DANE 2009 03 tcm75 10955
Bytom 2009 03 28 Wykaz ulic i dzielnic
Dąbrowska Elżbieta Człowiek w środku białej pustyni (sztuka Eskimosów) [artykuł]
więcej podobnych podstron