background image

Narzędzia monitorowania sieci oraz usług.

W sieciach TCP/IP mamy wiele potencjalnych problemów i zagrożeń. Administrator 

serwera lub sieci powinien być zawsze przygotowany na najgorsze czyli awarie i ataki z 
zewnątrz i wewnątrz. 

Zapoznamy   się   więc   z   poleceniami   które   pozwolą   nam   monitorować   oraz 

diagnozować i badać sieć lokalną.

Oto   lista   poleceń   które   powinniśmy   znać   i   wiedzieć   jakie   informacje   nam 

udostępniają.

1. ping

2. netstat
3. nmap

4. iptraf
5. ethereal

6. ettercap

ping - Testowanie komputerów i sieci na poziomie IP.

Program jest zupełnie podstawowym narzędziem administratora sieci. Możemy za 

jego pomocą uzyskać wiele informacji. Uwaga, wersje polecenia ping są różne w różnych 
systemach operacyjnych i pod Windows lub FreeBSD niektóre opcje mogą być inne lub 
niedostępne.

Zwykłe wykonanie polecenia ping czyli żądania echa ICMP.
ping ip
ping domain.name

Wysłanie rozgłoszeniowego komunikatu ping do całej sieci poprzez podanie adresu 
broadcast sieci (dla sieci 10.0.0.0 / 16 komunikat wyglądałby następująco). 
ping 10.0.255.255

Polecenie wysyła tak dużo komunikatów ping ile to tylko możliwe, zalewa sieć  
maksymalną  ilością   poleceń   ping.   Można   w   ten   sposób   łatwo   sprawdzić   czy  
okablowanie jest poprawne patrząc czy ilość utraconych pakietów jest zbliżona do 
oczekiwanej. Nie powinno sie tego używać w normalnych sieciach bo powoduje  
natychmiastowe przeciążenie.
ping -f IP

Wysłanie określonej ilości komunikatów i pokaz statystyk 
ping -c 30 IP

Wysyłanie komunikatów z określoną wartością TTL
ping -t 1 IP

background image

Wysłanie komunikatów o określonym rozmiarze
ping -s 1000 IP

netstat - Przeglądanie lokalnych połączeń i gniazd.

Program pozwala na przeglądanie jakie połączenia są obecnie zestawione z naszym 

komputerem oraz jakie lokalne porty nasłuchują na nadchodzące połączenia.

Podgląd połączeń maskowanych przez system (jeśli jest używany modół maskarady)
netatat -M

Gadatliwe wyjście programu.
netatat -v

Nie rozwiązuje nazw domenowych tylko pokazuje IP
netatat -n

Powtarza wykonanie co sekundę
netatat -c

Pokazuje nasłuchujące porty.
netatat -l

Pokazuje wszystkie połączenia nie tylko w stanie połączonym.
netatat -a

Pokazuje tylko połączenia z danej rodziny protokołów (w przykładzie IP)
netstat -A inet

Przydatna forma polecenia:
netstat -an

Zadanie:

Nawiąż kilka połączeń internetowych (otwórz stronę, zaloguj się zdalnie po ssh na ireta 
itd).

Wykonaj   polecenia   używając   nazw   domenowych   (zobaczysz   połączenia   z   serwerem 
DNS)

Oglądaj statystyki oraz szczegóły połączeń.

Zwracaj uwagę na to jakie porty lokalne i zdalne mają poszczególne połączenia.

Przeglądaj połączenia oraz ich stan.

nmap - Testowanie i skanowanie hostów.

background image

Program nmap pozwala na bardzo zaawansowane testowanie zabezpieczeń, ustawień 

oraz   szczegółów   konfiguracji   hostów.   Pozwala   na   skanowanie   komputerów   w   trybie 
aktywnym   oraz   pasywnym.   Pozwala   na   wykrywanie   jakie   usługi   są   aktywne   na 
komputerze.   Pozwala   też   na   badanie   jaki   system   operacyjny   zainstalowany   jest   na 
komputerze.

W   dokumentacji   polecenia   można   przeczytać   szczegóły   składni   oraz   dostępne 

parametry.   Polecam   przetestowanie   jak   największej   części   dostępnych   parametrów   by 
zobaczyć jakie możliwości oferuje nam program.

Wykonanie prostego aktywnego skanowania TCP oraz pokaz wyników.
nmap -sT 10.0.0.23

Wykonanie prostego aktywnego skanowania UDP oraz pokaz wyników.
nmap -sU 10.0.0.23

Wykrycie   które   komputery   w   sieci   odpowiadają   na   ping   oraz   wyświetlenie  
podstawowych informacji
nmap -sP 10.0.0.0/24

Skanowanie zakresu portów
nmap -sT 10.0.0.23 -p 0-3000

Rozpoznawanie systemu operacyjnego
nmap -O 10.0.0.23

Skanowanie z pokazaniem duzej ilosci informacji
nmap -O -sU -sT -v 192.168.192.34 -p 0-5000

Zadanie

wykonaj skanowanie sieci lokalnej

przeskanuj dokładnie kilka komputerów, domyślną bramę oraz kilka komputerów z sieci

przyjrzyj   się   jak   identyfikowane   są   komputery   (jaki   system   operacyjny   jest 
rozpoznawany)

przeskanuj 212.191.65.6 i przeanalizuj wynik

przeskanuj komputer kolegi i przeanalizuj wynik

przeskanuj   komputer   z   uruchomionym   systemem   Windows   (adres   IP   podam   na 
zajęciach)

iptraf - Podgląd aktywności interfejsów sieciowych.

Polecenie   pozwala   na   łatwy   i   czytelny   podgląd   ruchu   w   sieci.   Uruchamiamy 

polecenia z uprawnieniami administratora. Mamy dostępne następujące opcje:

ip traffic monitor

general interface statistics

detailed interface statistics

background image

statistics breakdowns

lan station monitor 

filters

configure

Najpierw udajemy się na zakładkę konfiguracji i określamy jakie ma być zachowanie 

programu. DNS lookups pozwala na wyświetlanie nazw domenowych zamiast adresów ip. 
Warto jednak pozostawić ją wyłączoną. Włączyć natomiast można opcję promisciuos kart 
sieciowych. Ustawienie kart w tym trybie powoduje że analizowane będą wszystkie pakiety 
przychodzące siecią nawet jeśli nie są zaadresowane do naszej karty sieciowej (inny adres 
MAC).   Pozwala   to   na   niejako   nasłuchiwanie   całego   ruchu   w   naszym   segmencie 
rozgłoszeniowym. Niestety obecnie większość sieci budowanych jest w oparciu o switche 
tak   więc   nie   będzie   do   nas   docierało   nic   poza   pakietami   skierowanymi   do   nas   oraz 
rozgłoszeniami   ARP.   Polecam   włączyć   tryb   promiscious   i   sprawdzić   zachowanie   się 
programu.

Opis poszczególnych opcji programu pod adresami:

http://iptraf.seul.org/2.7/itrafmon.html
http://iptraf.seul.org/2.7/netstats.html
http://iptraf.seul.org/2.7/detstats.html
http://iptraf.seul.org/2.7/statbreakdowns.html
http://iptraf.seul.org/2.7/hostmon.html
http://iptraf.seul.org/2.7/config.html

Zadanie:

Przeczytaj dokumentacje poszczególnych opcji programu.

Sprawdź działanie poszczególnych ekranów.

W  przypadku  braku   ruchu  sieciowego  nawiąż   kilka   połączeń  internetowych  (otwórz 
stronę, zaloguj się zdalnie po ssh na ireta itd).

Wykonaj polecenia ping oraz traceroute.

Wykonaj polecenie ping -f ip_kolegi_obok

Wykonaj   polecenia   używając   nazw   domenowych   (zobaczysz   połączenia   z   serwerem 
DNS)

Oglądaj statystyki oraz szczegóły transferów.

Przeglądaj połączenia oraz ich stan.

ethereal - Sniffing oraz analiza komunikacji sieciowej.

Polecenie   pozwala   na   przechwytywanie   pakietów   przychodzących   z   sieci   oraz 

dogłębną analizę. Program działa w ten sposób że włączamy przechwytywanie, program 
zapisuje całość ruchu sieciowego, następnie zatrzymujemy przechwytywanie i analizujemy 
go. 

Program daje możliwości podglądu statystyk sieci oraz zawartości poszczególnych 

połączeń, zakładanie filtrów itd.

background image

Dokumentacja opisująca interfejs użytkownika dostępna jest pod adresem:

http://www.ethereal.com/docs/eug_html_chunked/ChapterUsing.html#ChUseIntroductionSe
ction

Natomiast całość dokumentacji znajduje się pod adresem:

http://www.ethereal.com/docs/eug_html_chunked/

Zadanie:

Zmień hałso administratora poleceniem passwd

Włącz program Internet->ethereal (root user)

Włącz przechwytywanie ruchu. (za pierwszym razem trzeba wybrać interfejs sieciowy 
capture->options->start).

Wykonaj kilka połączeń jak w poprzednim ćwiczeniu

Wykonaj   polecenia   ping,   ssh,   ftp   i   inne   żeby   wygenerować   różnego   rodzaju   ruch 
sieciowy

Połącz się za pomocą klienta ftp z serverem ftp np. sunsite.icm.edu.pl lub task.gda.net 
lub innym i pobież jakiś plik.

Otwórz stronę np. google.pl i wpisz coś w formularzu wyszukiwania.

Zatrzymaj przechwytywanie pakietów.

Przejrzyj statystyki: summary, hierarchię protokołów, konwersacje oraz punkty końcowe 
i   wykres   IO.   Zwróć   uwagę   na   konwersacje   i  punkty   końcowe   pozwala   to   na   ładne 
zgrupowanie informacji o ruchu w sieci ze względu na protokoły i adresy.

Poszukaj połączenia z serwerem google i podejżyj TCP stream.

Wyczyść pole filtru i kliknij apply by znów zobaczyć wszystkie pakiety.

Poszukaj połączeń ftp i podejrzyj TCP stream

Zobacz że dane przesyłane są otwartym tekstem razem z hasłami itd.

Odnajdź pakiet rozpoczynający żądznie HTTP metodą GET. Kliknij w oknie protokołów 
poszczególne zakładki by zobaczyć które bajty transmisji zawierają które pola. Zauważ 
że narzędzie potrafi analizować też pola protokołu HTTP. Mamy wgląd w poszczególne 
wartości wysyłanego żądania.

Przejrzyj   dokumentację   kolorowania   pakietów   i   ustaw   kolorowanie   tła   pakietu   na 
czerwono gdy (aby reguła kolorowania została użyta trzeba przesunąć ją w górę ponad 
domyślne kolorowanie pakietów tcp)

tcp.flags.syn = = 1 and tcp.flags.ack = = 0

Spowoduje to że wszystkie pakiety inicjujące połączenia będą w innym kolorze. Będzie 
można je wtedy łatwo wyszukać.

Kliknięcie TCP stream na takim pakiecie pokaże nam całą transmisję w ramach tego 
połączenia TCP. Pomijane są duplikaty i inne pakiety związane z połączeniem. W oknie 
zobaczymy tylko dane jakie były przesyłane.

Zwróć uwagę na filtr ustawiony na pasku narzędzi. Jeśli w filtrze wpiszemy jakaś regułę 
będziemy widzieć tylko pakiety spełniający określone kryteria.

tcp.flags.syn = = 1 and tcp.flags.ack = = 0

Zwróć   uwagę   że   w   okno   podglądu   strumienia   TCP   pozwala   na   zapis   strumienia 
połączenia do pliku.

Kliknij na jakimś pakiecie TCP i obejrzyj (w oknie po środku ekranu)

background image

ettercap   -   Program   do   podsłuchiwania   haseł, 
przechwytywania   połączeń,   podmiany   części   połączeń   i 
innych ataków jak MIT.

Podsłuchiwanie w sieci opartej o huby jest bardzo proste. Możemy podsłuchiwać 

całość komunikacji w naszym segmencie. Możemy więc podsłuchiwać całą komunikację 
pomiędzy komputerami z naszego segmentu a resztą świata.

Nasłuch   pasywny   jest   trudny   do   wykrycia   (niemal   niemożliwy).   Jeżeli   nasze 

oprogramowanie całkowicie milczy a jądro systemu posiada odpowiednio skonfigurowane 
filtry firewall nie pozwalające na wysyłanie żadnych komunikatów zwrotnych to jesteśmy 
nie do wykrycia.

Z punktu widzenia administratora sieci lokalnej jest to ogromne zagrożenie. Dlatego 

coraz większą popularność mają rozwiązania typu wirtualnych sieci prywatnych VPN gdzie 
cała komunikacja IP jest szyfrowana. Należy zawsze pamiętać że w każdej chwili możemy 
być podsłuchiwani. Nie są do tego potrzebne żadne specjalne urządzenia ani umiejętności.

Niestety w sieciach IP możliwe są też ataki oraz podsłuch aktywny. Stosując ARP 

poisoning możemy oszukać switche w naszej sieci lokalnej i podsłuchiwać połączenia w 
również w takich sieciach.

Atak   Man   In   The   Middle   typu  ARP   poisoning   polega   na   oszukaniu   systemów 

operacyjnych   ofiar   że   powiązania   IP-MAC   prowadzą   do   naszego   komputera.   W   takim 
przypadku wszystkie komputery chcąc komunikować się z ofiarą wyślą pakiety z naszym 
adresem  MAC.  My je  odbierzemy i  będziemy mogli zrobić  z   nimi wszystko.  Możemy 
podmienić   część   transmisji,   udawać   drugą   stronę   połączenia   podając   swoje   klucze 
szyfrujące   tak   że   będziemy   widzieć   dane   w   szyfrowanych   połączeniach.   Będziemy 
oczywiście mogli też po cichu przekazywać pakiety pod prawdziwy adres MAC aby jedynie 
podsłuchiwać w poszukiwaniu haseł.

background image

Ataki MIT możliwe są też na każdym routerze i gatewayu. Każdy komputer który 

pośredniczy w przesyłaniu naszych pakietów może posłużyć hakerowi do przechwycenia 
naszych połączeń i dowolnej ich obsługi.

Ataki MIT pozwalają np. na przekierowanie użytkownika WWW pod inny adres niż 

tego chciał. Wystarczy że założy się odpowiednie filtry a można każde wystąpienie ciągu 
http://www.pko.com.pl/przelew   podmieniać   na   dowolny   adres   ip.   Możemy   wtedy 
przygotować podobny serwis udający stronę banku i przechwycić nie tylko hasła i loginy 
ale nawet kody jednorazowe do wykonywania przelewów. Oczywiście będzie można ich 
później użyć do wykonania dowolnego zlecenia.

Naturalnie wszelkie ataki tego typu są mniej lub bardziej nieetyczne lub niezgodne z 

prawem. Administrator sieci musi jednak zdawać sobie jak realne są te zagrożenia i robić 
wszystko by uchronić swoją sieć przed tego typu scenariuszami.

Naturalnie   ataki   MIT  mogą   być   wykonywane   tak   by   oszukać   dwa   komputery   z 

naszej   sieci   ale   równie   dobrze   możemy   oszukać   jeden   komputer   i   router   by   cała 
komunikacja z tym komputerem "szła" przez nas. Możemy nawet oszukać całą sieć lokalną 
że   to   nasza   karta   jest   routerem   i   w   ten   sposób   przekierować   całą   komunikację   sieci   z 
internetem przez nas.

Aktywne podsłuchiwanie jest niebezpieczne, może być wykryte dość łatwo przez 

programy monitorujące ARP oraz różne anomalie. Nie powinno się robić takich prób nawet 
w   sieciach   formowych   na   uczelni   ani   w   sieci   osiedlowej.   Jeśli   chcecie   się   pobawić   i 
zobaczyć że to działa połączcie 4 komputery w sieć (klient, router, komputer poza siecią 
wewnętrzną oraz haker w sieci wewnętrznej.) połączcie wszystko kablami i switchem i się 

background image

bawcie. 

Poza   ryzykiem   wykrycia   możemy   uszkodzić   czyjeś   dane,   spowodować   straty 

materialne lub zostać oskarżeni o naruszenie prywatności i inne zakazane rzeczy. Tak że po 
prostu nie róbcie tego.

Zadanie:

Jeśli  włączyłeś  dopiero knoppixa  zaloguj się  jako root,  zmień  hasło  roota,  uruchom 
program   ettercap   z   interfejsem   graficznym   Internet->More   applications->ettercap   (as 
root)

Jeśli masz inną wersję knoppixa (np 4.0.2) w konsoli przeloguj się na użytkownika 
root poleceniem su a następnie wykonaj:

ettercap -G -i eth0

Włącz przechwytywanie pakietów sniffing->unified sniffing

Włącz start->start sniffing

Wejdź w menu logging, ustaw plik logowania komunikatów usera.

Połącz się z innego komputera z serwerem FTP

Zauważ jak od razu username oraz hasło zostały pokazane w oknie komunikatów oraz 
zapisane w pliku który określono jako plik logowania.

Połącz się za pomocą protokołów telnet, pop3 oraz smtp (ale może lepiej w domu lub 
innej sieci gdzie nikt poza tobą nie podsłuchuje żeby nie ujawniać swoich haseł innym) 
zauważ że te protokoły również są logowane.

Nawiąż sesję ssh z komputera kolegi.

Wejdź   na   zakładkę   view->connections   kliknij   prawym   przyciskiem   i   wybierz   kill 
connection. Połączenie powinno zostać zerwane.

W   zakładce   połączeń   kliknięcie   2   razy   na   połączeniu   pokazuje   dane   jakie   wyły 
przesyłane w strumieniu. Możemy połączyć okna by widzieć kolejność komunikatów. 
Możemy też spróbować wtrącić swoje dane w połączenie.

Wejdź na zakładkę profile by zobaczyć typy połączeń oraz ich szczegóły.

Wejdź w zakładkę hosts->scan for hosts. Każdy z wykrytych komputerów w hosts->host 
list może być dodany do listy celów ataków MIT.

Sprawdź czy wszystkie komunikaty zostały zalogowane w pliku logowania.