sprawozdanie
Transkrypt
sprawozdanie
Grupa ćwicz. Grupa lab. 4 Nr ćwicz./ wersja 4/1 Zespół. 8 Data wykonania. 4 Data odbioru 15.03.2014 Temat ćwiczenia. Rodzina protokołów TCP/IP Imiona i nazwiska. Ocena i uwagi Michał Warzocha, Mateusz Wawrzyniak Sprzęt: Komputery w labolatorium 402 Oprogramowanie: Nmap - Program nmap jest typowym skanerem portów (sprawdza otwarte porty TCP i UDP) umożliwia identyfikację usług oraz identyfikację systemu operacyjnego skanowanego hosta (na podstawie charakterystycznych cech pakietu jak TTL czy numery sekwencji) Cel ćwiczenia: Celem ćwiczenia jest opis i charakterystyka poszczególnych typów skanowań Schemat ćwiczenia: 1. Uruchomienie programu nmap z zadanymi parametrami skanowania. 2. Wykonanie skanowania oraz monitorowanie postępu. 3. Opracowanie wyników. Seria testów 1 2 3 4 Podsieć lub hosty 10.0.2.0/24 149.156.111.0/24 149.156.112.0/24 149.156.30-40.0-255 Typ skanowania UDP OS TCP SYN Skanowanie Skanowanie komputera lub hosta pozwala nam określić: - czy dany komputer jest aktywny, - określić listę usług na nim dostępnych, - poznać rodzaj i wersję sytemu operacyjnego, na którym pracuje host, Bardziej zaawansowane techniki pozwalają także na: - poznanie topologii sieci w której pracuje host, - poznanie ilości komputerów dostępnych w sieci, - odszukanie istniejących zapór ogniowych. Skanowanie UDP Skanowanie UDP jest aktywowane za pomocą opcji -sU. Może być łączone z innymi typami skanowania TCP, takimi jak SYN (-sS), dla sprawdzenia obu protokołów w jednym przebiegu. Skanowanie UDP polega na wysyłaniu pustych (bez danych) nagłówków protokołu UDP do każdego portu docelowego. Jeśli w odpowiedzi zostanie zwrócony komunikat ICMP port uchreachable (typ 3, kod 3), port jest uznawany za zamknięty. Inne typy komunikatów ICMP unreachable (typ 3, kody 1, 2, 9, 10 lub 13) oznaczają, że port jest filtrowany. Czasami w odpowiedzi zwrócony zostanie pakiet UDP, co oznacza, że porty jest otwarty. Jeśli pomimo powtarzania transmisji nie zostanie uzyskana żadna odpowiedź, port zostaje zaklasyfikowany jako otwarty|filtrowany. Oznacza Strona | 1 to, że port może być otwarty lub filtr pakietów blokuje do niego dostęp. Wykorzystanie skanowania wersji usług (-sV) może pomóc w odróżnieniu portów na prawdę otwartych od filtrowanych. Największym wyzwaniem przy skanowaniu UDP jest przeprowadzenie go odpowiednio szybko. Otwarte|filtrowane porty rzadko wysyłają jakąkolwiek odpowiedź, zmuszając Nmapa do oczekiwania na odpowiedź i ponawiania transmisji na wypadek zagubienia pakietów. Zamknięte porty są często jeszcze większym problemem. Zwykle wysyłają pakiet ICMP port unreachable, jednak w odróżnieniu od pakietów z flagą RST znanych ze skanowania SYN czy connect, wiele hostów domyślnie limituje szybkość wysyłania pakietów ICMP port unreachable. Przykładami mogą być systemy Linux i Solaris. Kernel Linuxa w wersji 2.4.20 limituje ilość pakietów o niedostępności portów do jednego na sekundę (w net/ipv4/icmp.c). Nmap potrafi wykrywać limitowanie odpowiedzi i zwalnia odpowiednio proces skanowania dla uniknięcia zaśmiecania sieci niepotrzebnymi pakietami, które i tak nie zostaną wykorzystane. 1. Wykonaliśmy skanowanie numer 1 używając komendy nmap –vv –sU 10.0.2.0/24 >testy/test1.txt NR PORTU 137 138 500 4500 5355 1900 5060 123 111 3702 445 631 5353 177 2049 161 32768 67 68 69 800 1024 1032 999 1033 1035 1045 49216 ALL OPEN CLOSED NAME 43 43 40 40 33 31 12 8 8 8 7 6 5 5 3 1 1 1 1 1 1 1 1 1 1 1 1 1 43 43 40 40 33 31 12 8 8 8 7 6 5 5 3 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 netbios-ns netbios-dgm Isakmp sae-urn Unknown Upnp Sip Ntp Rpcbind Unknown microsoft-ds. Ipp Zeroconf xdmcp nfs snmp omad dhcps dhcpc tftp mdbs_daemon unknown iad3 applix unknown unknown unknown unknown Strona | 2 Skanowanie OS Skanowanie to pozwala na wykrycie listy protokołów IP (TCP, ICMP, IGMP itp), które są dostępne na danym hoście. Technicznie nie jest to skanowanie portów, ponieważ sprawdza kolejne numery protokołów, a nie kolejne porty TCP czy UDP. Opcja ta nadal używa parametru -p do wybrania numerów protokołów do sprawdzenia, w formacie analogicznym do listy portów. Z tego powodu metoda ta została zaklasyfikowana jako skanowanie portów. Skanowanie protokołów działa w sposób podobny do skanowania UDP, jednak zamiast iteracji po kolejnych numerach portu, w nagłówkach pakietów zmienia się 8-mio bitowy numer protokołu. Nagłówki są przeważnie puste, nie zawierają żadnych danych ani nawet poprawnego dla danego protokołu nagłówka. Trzema wyjątkami są TCP, UDP i ICMP. Poprawne nagłówki dla tych protokołów są konieczne, ponieważ niektóre systemy nie będą ich potrafiły wysłać oraz dlatego, że Nmap posiada już odpowiednie funkcje do ich tworzenia. Zamiast obserwować komunikaty ICMP unreachable, skanowanie protokołów nie polega na komunikatach ICMP protocol unreachable. Jeśli Nmap otrzyma jakąkolwiek odpowiedź w jakimkolwiek protokole, ustala stan protokołu jako otwarty. Otrzymanie komunikatu ICMP protocol unreachable (typ 3, kod 2) powoduje oznaczenie protokołu jako zamknięty. Inne komuniakty ICMP protocol Strona | 3 unreachable (typ 3, kody 1, 3, 9, 10 lub 13) powodują oznaczenie protokołu jako filtrowany (oraz równocześnie potwierdzają, że protokół ICMP jest również otwarty). Jeśli nie uzyskano odpowiedzi, protokół jest oznaczany jako otwarty|filtrowany. 2. Wykonaliśmy skanowanie numer 1 używając komendy nmap –vv –O 149.156.111.0/24 >testy/test2.txt NR PORTU 80 22 3389 21 111 25 443 110 53 113 23 995 5901 8888 1087 545 544 587 7100 4045 1723 ALL 11 11 7 6 6 5 3 3 2 2 1 1 1 1 1 1 1 1 1 1 1 OPEN 11 11 6 6 5 4 3 2 2 1 0 1 1 1 1 1 1 1 1 1 1 CLOSED 0 0 1 1 1 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 NAME http ssh ms-term-serv ftp rpcbind smtp https pop3 domain auth telnet pop3s vnc-1 sun-answerbook unknown klogin kshell submission font-service lockd pptp Strona | 4 System operacyjny Nierozpoznany Sun Solaris 9|10 Linux 2.6.X|2.4.X Microsoft Windows Cisco embedded SMC embadded PheeNet embadded ASUS embadded Ilość 17 1 2 7 1 1 1 1 Skanowanie TCP Skanowanie TCP Connect() jest wybierane domyślne, jeśli SYN nie jest dostępne. Ma to miejsce kiedy użytkownik nie posiada uprawnień do wysyłania pakietów raw lub podczas skanowania sieci IPv6. Zamiast wysyłać pakiety raw, jak to ma miejsce przy innych typach skanowania, Nmap prosi system operacyjny o zestawienie połączenia z badanym hostem za pomocą wywołania funkcji systemowej connect(). Jest to taki sam wysoki poziom wywołań systemowych, z jakich korzystają przeglądarki internetowe, oprogramowanie Peer2Peer czy inne programy korzystające z połączeń sieciowych. Jest to część interfejsu programistycznego znanego jako Berkeley Sockets API. Zamiast odczytywać odpowiedzi za pomocą odwołań niskopoziomowych prosto z sieci, Nmap wykorzystuje ten sam wysokopoziomowy interfejs do otrzymania informacji o stanie operacji dla każdej próby połączenia oddzielnie. TCP (connect scan) jest to najbardziej podstawowa forma skanowania TCP; polega na połączeniu z wybranym portem i przeprowadzeniu pełnego trójstronnego powitania (SYN, SYN/ACK i ACK); jeżeli port nasłuchuje połączenie powiedzie się, w przeciwnym razie port nie jest dostępny; metoda ta jest łatwa do wykrycia ponieważ w logach celu znajdować się będzie Strona | 5 wiele informacji o błędach spowodowanych przez połączenia z usługami, które są następnie od razu przerywane; W celu połączenia TCP nie potrzebne są uprawnienia root'a. 3. Wykonaliśmy skanowanie numer 1 używając komendy nmap –vv –sT 149.156.112.0/24 >testy/test3.txt NR PORTU 445 139 80 22 135 3389 443 21 5901 27000 631 5901 27000 3690 5001 3306 23 1025 5000 8010 6000 515 111 110 53 8080 8000 113 8087 1055 1040 1027 9200 9500 1046 8333 6100 9100 ALL OPEN CLOSED NAME 20 19 16 12 11 9 6 6 5 5 5 5 5 3 3 3 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 19 18 12 11 10 7 3 4 0 4 3 1 4 2 3 3 1 2 2 2 1 2 2 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 1 1 2 3 2 5 1 2 4 1 1 0 0 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 microsoft-ds. netbios-ssn http ssh msrpc ms-term-serv https ftp vnc-1 flexlm0 ipp vnc-1 flexlm0 unknown complex-link mysql telnet NFS-or-IIS UPNP unknown x11 printer rpcbind pop3 domain http-proxy http-alt auth unknown unknown netsaint IIS unknown unknown unknown unknown unknown jetdirect Strona | 6 Strona | 7 Skanowanie SYN TCP SYN ta technika jest często nazywana skanowaniem półotwartym (half-open scanning) ponieważ nie jest nawiązywane pełne połączenie TCP, lecz do wybranego portu przesyłany jest pakiet SYN tak jak w przypadku prawdziwego połączenia i następuje oczekiwanie na odpowiedź; Jeśli port odpowie sygnałem SYN/ACK to oznacza, że port nasłuchuje; natomiast odpowiedź RST/ACK oznacza zazwyczaj, że port nie nasłuchuje; Komputer przeprowadzający skanowanie przesyła następnie sygnał RST/ACK, dzięki czemu połączenie nie jest nawiązane i może nie zostać odnotowane w logach celu. Do zbudowania pakietu SYN niezbędne są uprawnienia root'a. Skanowanie SYN jest domyślną i najpopularniejszą metodą skanowania. Jest to spowodowane tym, że może być przeprowadzone szybko, możliwe jest skanowanie tysięcy portów na sekundę w szybkich sieciach nie chronionych systemami zaporowymi. Skanowanie SYN jest relatywnie dyskretne i niewidoczne, ponieważ nigdy nie otwiera połączeń do końca. Działa to dobrze w stosunku do wszystkich stosów zgodnych z TCP, w przeciwieństwie do udziwnionych, dla których Nmap ma tryby FIN/Null/Xmas, Maimon i Idle. SYN pozwala na przejrzyste i wiarygodne rozróżnienie stanów portu pomiędzy otwartym, zamkniętym i filtrowanym. 4. Wykonaliśmy skanowanie numer 1 używając komendy nmap –vv –sS 149.156.107-109.0-255 >testy/test4.txt NR PORTU 22 80 443 23 21 139 445 9100 515 25 631 5060 8080 1025 53 111 3306 ALL OPEN CLOSED 40 40 0 40 40 0 19 17 2 19 19 0 13 13 0 10 10 0 9 9 0 9 9 0 8 8 0 6 4 2 5 5 0 4 4 0 3 2 1 3 3 0 2 2 0 1 1 0 1 1 0 NAME ssh http https telnet ftp netbios-ssn microsoft-ds jetdirect printer smtp ipp sip http-proxy NFS-or-IIS domain rpcbind mysql Strona | 8 Wnioski 1. Skanowanie UDP Dla skanowania UDP wszystkie porty są open|filtered. Nie mamy więc jednoznacznej odpowiedzi, czy port jest otwarty, pomimo powtarzania transmisji. Oznacza to, że port może być otwarty lub filtr pakietów blokuje do niego dostęp. Najpopularniejsze porty w tym skanowaniu to porty systemu netbios, który zapewnia podstawowy interfejs łączenia aplikacji z innymi komputerami oraz współdzielenie danych. Porty 137 oraz 138 są używane przez systemy Windows do komunikacji wewnątrz sieci. Niestety na tych portach rozprzestrzeniają się wewnątrz sieci wirusy oraz backdory. Istnieje także możliwość dokonania ataku np. poprzez zafałszowanie nagłówka pakietu i podszycie się pod jeden z komputerów w danym otoczeniu sieciowym. Większość administratorów sieci blokuje te porty w celu ograniczenia ataków, podobnie czynią firewalle. Port 5355 który został otwarty na wielu komputerach uznawany jest za niebezpieczny i wykorzystywany do przeprowadzania zdalnych ataków. Bazuje on na DNS (domain name system) oraz wskazuje na przewagę systemu Windows. Po przeprowadzonym skanowaniu UDP 10.0.2.0/24 jesteśmy w stanie wywnioskować, iż najpopularniejszym systemem operacyjnym jest Microsoft Windows. Strona | 9 2. Skanowanie OS Skanowanie sieci 149.156.111.0/24 programem nmap nie określiło nam jednoznacznie użytkowanych systemów operacyjnych. Nmap nie rozpoznał wszystkich systemów operacyjnych np. z powodu utraconych pakietów. Nie jesteśmy w stanie w 100% wskazać jaki system operacyjny działał w 17 nierozpoznanych przez nmap komputerów. Wnioskujemy na podstawie przeprowadzonego skanowania iż systemy rodziny Microsoft Windows pracują na 7 rozpoznanych maszynach. 3. Skanowanie TCP Skanowanie sieci 149.156.112.0/24 programem nmap pozwoliło nam na wskazanie, że najczęściej występującym systemem jest system Microsoft Windows. Port 445 jednoznacznie wskazuje na przewagę systemu Windows. Port 80 czyli protokół komunikacji przeglądarki z www uplasował się na 3 miejscu. Miejsce niżej zajmuje pozycje ssh czyli port 22 odpowiadający za szyfrowane łączenie się ze zdalnymi komputerami. Usługa ftp pozwala na przesyłanie plików na serwer i jest otwarta na 4 komputerach. 4. Skanowanie SYN Najpopularniejszymi usługami dla tego skanowania są ssh, http, https, ftp. Są to usługi odpowiadające głównie za transfer danych. Na podstawie tych usług nie jesteśmy w stanie określić, z jakim system operacyjnym mamy do czynienia, ponieważ te protokoły są używane w każdym systemie. Plik oraz zdjęcia potwierdzające autentyczność skanowań są zawarte pod adresem www.is2.cba.pl Strona | 10