2009.03_Człowiek w środku czyli „trzymaj pakiety przy sobie”_[Bezpieczenstwo].pdf

(744 KB) Pobierz
332778310 UNPDF
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.
nych metod dostępu do Internetu było podłączenie
się do jednej z amatorskich, osiedlowych sieci. By-
ły one najczęściej budowane w oparciu o koncentra-
tory (popularne Huby) – urządzenia niezbyt inteligentne . Kiedy
wysłana przez komputer ramka sieciowa traiała do koncentrato-
ra, była rozsyłana do wszystkich użytkowników sieci bez wzglę-
du na adresata. Z punktu widzenia osoby, która chciałaby pod-
słuchiwać transmisję, sytuacja była niemal idealna. Po pierwsze,
jedyną operacją wymaganą do tego, aby cały ruch sieciowy tra-
iał również do naszego komputera było przełączenie karty sie-
ciowej w tryb Promiscious (patrz Ramka). Po drugie, podsłuchi-
wanie odbywało się w pełni pasywnie; brak ingerencji w cudze
systemy uniemożliwiał oiarom wykrycie ataku.
Jednak z początkiem XXI wieku koncentratory zaczęły
być stopniowo wypierane przez przełączniki sieciowe ( Swit-
che ) – urządzenia bardziej zaawansowane, zdradzające pew-
ne oznaki inteligencji . Najistotniejsza zmiana polegała na
przechowywaniu w pamięci tablicy skojarzeń pomiędzy ad-
resem MAC, a izycznym portem urządzenia. Dzięki temu
otrzymywane ramki sieciowe były przesyłane tylko do hosta,
do którego były adresowane. Wydawać by się mogło, że taki
schemat działania wyklucza ewentualne próby podsłuchiwa-
nia, ale to niestety tylko teoria. W praktyce metod podsłuchi-
wania jest co najmniej kilka. Bez względu na to czy będzie to
np.: podszywanie się pod inny komputer czy zdalne modyi-
kowanie tablicy ARP, zawsze istnieje metoda aby wykryć ta-
kie działanie, bądź się przed nim zabezpieczyć.
W tym artykule przedstawię kilka popularnych metod
podsłuchiwanie transmisji w sieciach Ethernet oraz garść
sposobów na to jak nie dać się podsłuchać.
Narzędzia
Ettercap jest narzędziem oicjalnie służącym do przeprowa-
dzania diagnostyki sieci. Oicjalnie – ponieważ poza funk-
cjami takimi jak skanowanie s\w poszukiwaniu hostów, czy
określanie systemu operacyjnego zainstalowanego na zdal-
nym komputerze, pozwala również na podsłuchiwanie trans-
misji oraz przeprowadzanie ataków typu MITM. Do wybo-
ru mamy interfejs pseudo-graiczny bazujący na bibliotekach
ncurses oraz okienkowy oparty na GTK+. Aplikacja współ-
pracuje nie tylko z systemem Linux. Korzystać z niej mo-
gą również użytkownicy systemów z rodziny Windows, Ma-
cOS X oraz BSD.
42
marzec 2009
P od koniec lat 90. minionego wieku jedną z popular-
332778310.019.png 332778310.020.png 332778310.021.png 332778310.022.png
 
Rozwiązania
Człowiek w środku czyli „trzymaj pakiety przy sobie”
Wireshark (dawniej Ethereal) jest darmo-
wym analizatorem ruchu sieciowego wyposa-
żonego w funkcję snifingu (podsłuchiwania
transmisji innych hostów). Funkcjonalnością
program jest zbliżony do aplikacji tcpdump,
jednak ze względu na zaawansowane możli-
wości iltrowania i sortowania oraz wygodny
graiczny interfejs jest znacznie wygodniejszy
w użyciu. Dzięki aplikacji Wireshark możemy
uzyskać informacje o wszystkich pakietach wy-
syłanych i odbieranych przez nasz komputer w
bardzo przystępnej formie. Standardowa kom-
pilacja programu wymaga zainstalowanych w
systemie bibliotek GTK+, jednak dostępne są
wersje bez interfejsu graicznego.
Arpwatch to prosty program służący do
monitorowania i logowania zmian zawarto-
ści tablicy skojarzeń MAC/IP karty sieciowej.
Odpowiednio skonigurowany powiadomi nas
emailem (w poprzednich wersjach była możli-
wość zmiany adresu, na który zostanie wysłany
raport, jednak w wersji 2.1a15 takiej możliwo-
ści nie ma) o wszystkich podejrzanych zmia-
nach wprowadzanych do tablicy ARP.
IPGuard jest wyspecjalizowanym narzę-
dziem służącym do zabezpieczania się przed
atakami typu ARP Spooing. Do poprawnego
działania potrzebuje zdeiniowanej w pliku tek-
stowym statycznej tablicy ARP.
cje, które będą przekazywane przez ikcyjny ser-
wer DHCP: zakres adresów IP, maska podsieci
oraz adres serwera DNS oddzielając je znakami
/ , np.: 10.0.0.5-80,82/255.255.255.0/10.0.0.1 (w
przypadku interfejsu GTK odpowiednie warto-
ści wpisujemy w kolejne pola). Podając pierw-
szy parametr trzeba pamiętać o dwóch rzeczach;
po pierwsze pula adresów IP musi należeć do
podsieci, do której podłączony jest komputer, a
po drugie należy unikać podawania adresów IP,
które są aktualnie w użyciu (unikniemy w ten
sposób konliktu typu lip-lop). Maska podsie-
ci powinna być taka sama jak w przypadku sieci,
do której jesteśmy podłączeni. Aby oiara pod-
czas ataku zachowała dostęp do internetu, należy
jeszcze podać adres IP sprawnego serwera DNS
(w przeciwnym razie oiara straci możliwość ko-
munikacji z serwerem nazw, co w konsekwen-
cji prowadzić będzie do odcięcia od większości
usług sieciowych). Po zatwierdzeniu wpisanych
danych wybieramy z menu pozycję Start / Start
snifing i czekamy do momentu upłynięcia cza-
su dzierżawy adresu przyznanego komputero-
wi oiary. Jeżeli wszystko przebiegnie po naszej
myśli, u dołu ekranu pokaże się komunikat za-
wierający adres MAC oiary oraz przyznany jej
adres IP. Teraz wystarczy już tylko wybrać z me-
nu pozycję View / Connections i będziemy mie-
li wgląd we wszystkie aktywne połączenia oia-
ry. Zaznaczając interesujące nas połączenie i na-
ciskając klawisz [ Enter ] wywołamy podgląd po-
łączenia. Po lewej stronie ekranu widoczne są
wszystkie dane wychodzące, a po prawej przy-
chodzące. Zaznaczone na liście połączenia TCP
możemy zerwać naciskając klawisz [ K ].
Wykrywanie takiej formy ataków jest nie-
zwykle proste. W zasadzie nawet nie potrzebuje-
my do tego żadnych dodatkowych narzędzi poza
systemowymi. Powszechnie wiadomo, że bramy
internetowe wykazują nikłą tendencję do zmia-
ny swojego adresu IP, więc jedyne co wystarczy
do wykrycia takiego ataku jest sprawdzenie ak-
tualnego adresu bramy internetowej wydając po-
lecenie route | grep default . Jeżeli wyświe-
tlony adres IP różni się od tego należącego do
bramy internetowej naszego dostawcy internetu
Listing 1. Prosty skrypt wykrywający konlikt adresów MAC
#!/bin/bash;
#w poniższej linii poniżej deiniujemy używany przez nas interfejs;
INTERFEJS = "eth1" ;
ADRES_BRAMY = ` route | grep $ INTERFEJS | grep default | awk - F " " ' { print
$ 2 } '` ;
MAC_BRAMY = ` arp - i $ INTERFEJS | grep $ ADRES_BRAMY | awk - F " " ' { print
$ 3 } '` ;
SPRAWDZ = ` arp - i $ INTERFEJS | grep - v $ ADRES_BRAMY | grep $ MAC_BRAMY ` ;
PODEJRZANY = ` echo $ SPRAWDZ | awk - F " " ' { print $ 3 } '` ;
if [ - n "$SPRAWDZ" ]; then ;
echo - e "Wykryto zdublowany adres MAC bramy \n Czas zdarzenia:
`date` \n Podejrzany; MAC: $PODEJRZANY" | mail root - s "Alarm" ;
i .
Atak typu DHCP Spooing
Podsłuchiwanie transmisji metodą DHCP Spo-
oing ma bardzo prostą mechanikę działania.
W większości sieci Ethernet za automatyczną
konigurację hostów w sieci odpowiada serwer
DHCP, zwyczajowo zainstalowany na kompute-
rze, który spełnia rolę bramy sieciowej. Trzonem
idei tego typu ataku jest podszycie się pod bra-
mę sieciową, kierując w efekcie cały ruch oia-
ry przez komputer osoby atakującej. Żeby atak
miał szansę powodzenia, atakujący musi wysłać
swoją odpowiedź na żądanie koniguracji połą-
czenia szybciej niż prawdziwy serwer DHCP.
Przewagę w tym wyścigu atakujący uzyskuje
poprzez niesprawdzanie czy przydzielany oie-
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 / Uniied snifing i
wybieramy odpowiedni interfejs.
Następnie odnajdujemy opcję Mitm /
DHCP Spooing. Teraz należy wpisać informa-
Rysunek 1. Ettercap z interfejsem pseudograicznym. Wszystkie połączenia podane jak na talerzu
www.lpmagazine.org
43
332778310.001.png 332778310.002.png 332778310.003.png 332778310.004.png 332778310.005.png 332778310.006.png
 
Rozwiązania
Człowiek w środku czyli „trzymaj pakiety przy sobie”
(a tym najczęściej jest pierwszy dostępny adres
w ramach podsieci) oznacza to, że najprawdopo-
dobniej ktoś przechwytuje nasze pakiety.
Przed tego typu atakami najłatwiej zabez-
pieczyć się rezygnując z usług serwera DHCP
i konigurując połączenie ręcznie. Na wszelki
wypadek warto wszelkie informacje dotyczą-
ce koniguracji połączenia uzyskać od swoje-
go dostawcy internetu.
ci spreparowane odpowiedzi na zapytania ARP
(które faktycznie nie zostały wysłane) zawiera-
jące fałszywe skojarzenia IP<->MAC. Efektem
tej operacji jest zatrucie tablic ARP. W syste-
mie oiary modyikowany jest wpis dotyczący
bramy internetowej. W miejsce oryginalnego
adresu izycznego podstawiany jest MAC ata-
kującego. Podobna operacja jest wykonywa-
na na tablicy ARP bramy sieciowej, w której w
miejscu adresu MAC oiary traia adres agre-
sora, dzięki czemu możliwe jest przeprowadze-
nie ataku typu Man in The Middle . Aby mieć
pewność, że fałszywe wpisy w tablicach ARP
nie wrócą do oryginalnego stanu, spreparowa-
ne odpowiedzi ARP wysyłane są cyklicznie w
pewnych odstępach czasu.
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-
terfejsu). Po jego załadowaniu się wybieramy
pozycję Sniff / Uniied snifing i wpisujemy na-
zwę interfejsu, którego używamy do połącze-
nia. Przed wykonaniem ataku możemy jeszcze
wybrać hosty, które będą naszymi oiarami, od-
najdując w menu pozycję Targets / Select tar-
gets (możemy tu podawać pojedyncze adresy
IP, bądź 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
hosts . Teraz pozostaje już rozpoczęcie samego
ataku; w tym celu wybieramy z menu pozycję
Mitm / ARP Poisoning . Jedną z opcji, które mo-
żemy wybrać, jest atak jednokierunkowy (para-
metr oneway ) – przydatny w sytuacji, w której
przykładowo nie chcemy manipulować tablicą
ARP bramy internetowej (ta forma ataku wy-
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 snifing 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 oiary.
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
bramy bądź nie jest naszym własnym adresem,
ARP Poisoning
według Ettercapa
Ta metoda ataku ma nieco bardziej złożoną
mechanikę działania. Agresor wysyła do sie-
Nota prawna
W uchwalonej 24. października 2008r. przez Sejm RP ustawie nowelizującej Kodeks Kar-
ny znalazła się deinicja snifingu jako naruszenia tajemnicy komunikacji (§ 3 art 267 K.k.).
„Kto w celu uzyskania informacji, do której nie jest uprawniony, zakłada lub posługuje się
urządzeniem podsłuchowym, wizualnym albo innym urządzeniem lub oprogramowaniem
podlega grzywnie, karze ograniczenia wolności albo pozbawienia wolności do lat 2.”.
Protokół ARP
ARP ( Address Resolution Protocol ) – protokół stosowany w sieciach Ethernet, umożliwia-
jący uzyskanie adresu MAC danego hosta w sytuacji, kiedy znamy jego adres IP. W pew-
nym uproszczeniu działanie protokołu ARP wygląda następująco. Host, który chce uzy-
skać adres MAC komputera wysyła na adres rozgłoszeniowy sieci zapytanie kto ma adres
IP 10.0.1.3? (pakiet ARP request). Następnie komputer posiadający dany IP wysyła odpo-
wiedź 10.0.1.3 ma adres 00:00:13:34:fb:b3 (ARP reply).
Protokół DHCP
DHCP ( Dynamic Host Coniguration Protocol ) – protokół stosowany do automatycznej koni-
guracji hostów w sieciach Ethernet. Komputer, który podłącza się do sieci, wysyła najpierw ko-
munikat rozgłoszeniowy w celu zlokalizowania serwerów DHCP jednocześnie prosząc o kon-
igurację połączenia. Następnie serwer przesyła dane takie jak: adres IP hosta i bramy siecio-
wej, maskę podsieci, czy adresy serwerów DNS. Każdy przydział adresu ma pewien czas ży-
cia (tzw.: czas dzierżawy), po którego upływie system wysyła prośbę o jej odnowienie.
Rysunek 2. Ettercap z interfejsem GTK. Wszystko co udało się dowiedzieć o hoście w sieci
44
marzec 2009
332778310.007.png 332778310.008.png 332778310.009.png 332778310.010.png 332778310.011.png
 
Rozwiązania
Człowiek w środku czyli „trzymaj pakiety przy sobie”
raczej nie ma się o co martwić. Może to być spo-
wodowane zmianą adresu MAC któregoś z ho-
stów i nie odświeżenia tablicy ARP. Z pomocą
prostego skryptu dodanego do harmonogramu
zadań możemy wysłać powiadomienie, kiedy
zostanie wykryty konlikt adresów MAC.
Jako że niekoniecznie najprostsze rozwią-
zania są najlepsze, programiści stworzyli wy-
specjalizowane programy służące zabezpie-
czaniu się przed tego rodzaju atakami. Jed-
nym z nich jest program ARPwatch. Aplika-
cja ta – działając w oparciu o bibliotekę libpcap
– służy do monitorowania sieci. Program zapi-
suje w logach systemowych wszystkie zmiany
w tablicy adresów hostów, pozwalając nie tylko
na wykrycie ataków ARP Poisoning, ale rów-
nież na konlikty typu lip-lop. W razie podej-
rzenia potencjalnie szkodliwego działania któ-
regoś z komputerów w sieci, aplikacja wysy-
ła również email na adres administratora lokal-
nej maszyny.
Kolejną metodą zabezpieczania się przed
tego rodzaju atakami jest zdeiniowanie sta-
tycznej tablicy ARP, dzięki czemu system nie
będzie wrażliwy na pakiety ARP replay, które
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-
nak ten sposób, poza wzrostem poziomu bez-
pieczeństwa, ma swoje wady. Jeżeli w naszej
sieci komunikujemy się jedynie z Internetem
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
mieć pewność, że nikt nie podszywa się pod in-
nego hosta, musielibyśmy zdeiniować tablicę
ARP zawierającą adresy wszystkich systemów
podłączonych do sieci.
Lepszą metodą na wykorzystanie pliku sta-
tycznej tablicy ARP jest skorzystanie z progra-
mu ipguard. Zakładając poprawność danych
zawartych w pliku /etc/ethers, uruchamiając
go poleceniem ipguard -e /etc/ethers -m
00:11:22:33:44:55 nie tylko zabezpieczymy
się przed atakami typu ARP Spooing. W mo-
mencie wykrycia pary adresów nie należącej
do zdeiniowanej tablicy wyśle do atakującego
spreparowaną odpowiedź ARP, która zmodyi-
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
przez program operacje zostaną zapisane w lo-
gach systemowych (konkretnie w pliku /var/
log/ipguard_<nazwa_interfejsu>.log ). In-
formacje o hostach podłączonych do naszej sie-
ci i ich adresach MAC (przydatne przy budo-
waniu pliku /etc/ethers ) można uzyskać agre-
sywnie (wysyłając zapytania ARP dotyczące
każdego adresu podsieci) korzystając z pro-
gramu ettercap wybierając Sniff / Uniied Snif-
ing , a następnie Hosts / Scan for hosts . Istnie-
je również metoda pasywna – wydając polece-
nie ipguard -r -b 100 -f ~/tablica zbie-
rzemy ostatnie 100 niewystępujących w pliku
/etc/ethers par adresów uzyskanych z odebra-
nych pakietów ARP. Nie mamy jednak żadnej
gwarancji, że w momencie pobierania adresów
hostów nikt nie będzie przeprowadzał któregoś
z ataków typu Man in the Middle – co może
wpłynąć negatywnie na jakość tablicy.
Szczerze zachęcam wszystkich zaintereso-
wanych do zagłębienia się w temat tego typu
zagrożeń. Polecam przeprowadzenie testowe-
go ataku np.: na komputer znajomego (natural-
nie uprzedzając go wcześniej!) z działającym w
tle programem Wireshark, a następnie dokładne
przeanalizowanie mechaniki ataku. Przydatnym
narzędziem jest tak zwany Szwajcarski Scyzoryk
ARP (ARP Swiss Knife – arp-sk), dzięki któremu
możemy wysyłać dowolnie skonigurowane pa-
kiety ARP pozwalając na jeszcze lepsze zgłębie-
nie zasad funkcjonowania ataków tego typu. Bar-
dzo pomocny jest tutaj również Wireshark – da-
jący możliwość iltrowania pakietów według sto-
sowanego protokołu, czy adresu docelowego.
Konlikt typu lip-lop
Wyobraźmy sobie sytuację, w której komputer A i komputer B mają ten sam adres IP. Host
A chce rozpocząć komunikację z komputerem C, w związku z czym wysyła zapytanie ARP,
aby uzyskać adres jego MAC. Do tablicy ARP hosta C traia MAC komputera A. B również
nawiązuje transmisję z C, jednak w tablicach ARP dla jednego adresu IP jest miejsce tylko
na jeden adres MAC, więc C zastępuje adres A adresem B tracąc możliwość komunikacji
z pierwszym komputerem. Co gorsza część pakietów, które miały traić do A, mogą zostać
wysłane na adres drugiego komputera.
Adres MAC
Jest to 48bitowy izyczny adres karty sieciowej w sieci Ethernet. W teorii unikalny w skali
światowej, w praktyce większość sterowników umożliwia jego zmianę. Komunikacja w sie-
ciach Ethernet odbywa się właśnie w oparciu o adresy MAC.
tryb Promiscious
Tryb pracy karty sieciowej, w którym akceptowane są wszystkie pakiety które pojawią się
na łączu danych bez względu na ich docelowy adres MAC. W normalnym trybie pakiety ta-
kie są odrzucane.
MITM
W atakach typu Man In The Middle w sieciach Ethernet osoba atakująca jest umiejsco-
wiona pomiędzy systemem oiary a lokalną bramą w taki sposób, aby agresor był w sta-
nie przechwytywać cały ruch sieciowy oiary. Wszystkie pakiety wysyłane przez zaatako-
wanego hosta traiają do atakującego, który następnie przekazuje je na ich oryginalny ad-
res przeznaczenia. W identyczny sposób realizowana jest komunikacja w przeciwną stro-
nę. Jeżeli połączenia oiary nie były szyfrowane, agresor bez problemu może z nich wycią-
gnąć dane takie jak: przesyłane loginy, hasła, czy emaile.
W Sieci
http://ettercap.sourceforge.net/ – strona domowa programu Ettercap;
http://www.wireshark.org/ – witryna narzędzia Wireshark;
http://www-nrg.ee.lbl.gov/ – strona narzędzia arpwatch.
www.lpmagazine.org
45
332778310.012.png 332778310.013.png 332778310.014.png 332778310.015.png 332778310.016.png 332778310.017.png 332778310.018.png
 
Zgłoś jeśli naruszono regulamin