Część 1: UDP - User Datagram Protocol
Protokół bezpołączeniowy warstwy transportowej. Jest pozbawiony wszystkich funkcji TCP. Oferuje usługę w której mogą wystąpić straty pakietów. Dzięki swojej prostej budowie (i braku kontroli przeciążeń i przepływu ja kw TCP) jest szybki i szeroko używany w zastosowaniach z rygorami czasowymi. Używany jest w usłudze DNS, wideokonferencjach, strumieniach Audio (radio, Voip) i Video. W jego budowie wyróżniamy Port nadawcy, port odbiorcy, długość oraz sumę kontrolną (która dla zachowania szybkości wogule nie jest czasem sprawdzana).
Część 2: Skanowanie Portów - Podstawy
Skanowanie jest działaniem polegającym na wykryciu (aktywnym lub pasywnym) listy portów protokołów komunikacyjnych (TCP i UDP) na komputerze zdalnym.
Działanie to może być wykonane wieloma metodami. Podczas skanowania aktywnego wysyłane jest wiele pakietów do skanowanego komputera. Skanowanie pasywne polega na "podłożeniu" programu sniffera i filtrowaniu odpowiednich pakietów do późniejszej analizy.
Skanowanie aktywne protokołu TCP możemy podzielić na:
-
Skanowanie połączeniowe - następuje próba połączenia z portem (pełny 3-way handshake)
-
Skanowanie półpołączeniowe - następuje próba połączenia z portem, ale trzeci w kolejności pakiet resetuje połączenie (RST,ACK)
-
Skanowanie niewidoczne flagami FIN (oraz NULL, XMAS) - skanowanie z zapaloną flagą FIN, brakiem zapalonych flag (null) lub FIN, URG, PSH.(xmas).
W przypadku odpowiedzi na skany połączeniowe i półpołączeniowe dostajemy pakiet z zapalonymi flagami SYN,ACK jeżeli port jest otwarty, i RST,ACK gdy jest zamknięty.
Gdy nie otrzymamy odpowiedzi, moze oznaczać to, że port jest filtrowany (firewall odrzuca pakiet).
W przypadku skanów niewidocznych otrzymujemy RST,ACK gdy port jest zamknięty oraz brak odpowiedzi w przypadku gdy port jest otwarty (nie mozemy określić, czy niest filtrowany). Ze względu na niekompatybilność z protokołem systemy Microsoftu odpowiadają podczas takiego skanowania RST,ACK niezaleznie od stanu portu.
Skanowanie aktywne protokołu UDP
Ze względu na prostotę budowy protokołu UDP, nie jest możliwe wykrycie "odpowiedzi" zwrotnej od serwera (brak połączenia) tym samym protokołem.
Wysłany pakiet UDP na port, który jest zamknięty powoduje wysłanie do nadawcy pakietu ICMP typu 3 (nie można osiągnąć miejsca przeznaczenia). Port otwarty nie odpowie żadnym pakietem, lub odpowie pakietem "niepoprawnie sformatowany pakiet" w przypadku niektórych usług.
Zawsze w przypadku braku odpowiedzi możemy mieć do czynienia z filrowaniem pakietu. Należy o tym pamiętać zanim potwierdzi się informację o otwartym porcie.
Narzędzie nmap służy do skanowania systemów komputerowych. Uzywane jest przez administratorów w celu sprawdzenia odporności serwerów na ataki. Umożliwia wszystkie rodzaje skanowania TCP/UDP, a zwłaszcza:
-
-sT - Skanowanie połączeniowe TCP
-
-sT - Skanowanie półpołączeniowe TCP
-
-sF - Skanowanie FIN TCP
-
-sN- Skanowanie null (wszystkie flagi zgaszone) TCP
-
-sX- Skanowanie Xmas (FIN, URG, PSH) TCP
-
-sU- Skanowanie UDP
poniższy listing pokazuje przykładowy wynik działania programu nmap
tomek@ZUERST:~> nmap -sT 192.168.1.44 -p 10-1000
Starting Nmap 4.60 ( http://nmap.org ) at 2009-11-29 23:58 CET
Interesting ports on 192.168.1.44:
Not shown: 988 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
111/tcp open rpcbind
Nmap done: 1 IP address (1 host up) scanned in 0.152 seconds
tomek@ZUERST:~> sudo nmap -sF 192.168.1.44 -p 10-1000
Starting Nmap 4.60 ( http://nmap.org ) at 2009-11-29 23:59 CET
Interesting ports on 192.168.1.44:
Not shown: 988 closed ports
PORT STATE SERVICE
22/tcp open|filtered ssh
80/tcp open|filtered http
111/tcp open|filtered rpcbind
Nmap done: 1 IP address (1 host up) scanned in 1.286 seconds
tomek@ZUERST:~> sudo nmap -sU 192.168.1.44 -p 10-1000
Starting Nmap 4.60 ( http://nmap.org ) at 2009-11-29 23:59 CET
Interesting ports on 192.168.1.44:
Not shown: 989 closed ports
PORT STATE SERVICE
111/udp open|filtered rpcbind
631/udp open|filtered unknown
Nmap done: 1 IP address (1 host up) scanned in 1.333 seconds
W przykładzie użyto zakresu portów 10 - 1000 (parametr -p )
Jak widać na listingu niektóre skanowania są zastrzeżone tylko dla administratorów systemu. Nieodpowiedzialne skanowanie komputerów może być odebrane jako atak.
Część 3: ICMP - Internet Control Message Protocol
Protokół działający w warstwie transportowej służący do kontroli Internetu. Najczęściej używany w programach ping, traceroute
W jego budowie można wyróżnić pole typu (1 bajt) określające typ pakietu, pole kodu (1 bajt) określające przyczynę wygenerowania pakietu danego typu i sumę kontrolną (2 bajty).
Istnieje kilkadziesiąt typów pakietów ICMP, jednak najważniejszymi są:
-
0 - ECHO REPLY - odpowiedź na ping
-
3 - DESTINATION UNREACHABLE - pakiet nie może dotrzeć do adresata
-
8 - ECHO REQUEST - pytanie ping
-
11 - TIME EXCEEDED - przekroczenie limitu czasu
Pakiety ICMP typu 0 i 8 są wykorzystywane przez program ping. Przenoszą dane testowe (np alfabet w przypadku Windows'a).
ICMP typu 11 zostaje wygenerowane, jeżeli nie da się dostarzyć odbiorcy danego pakietu. Przy niecelowym odrzuceniu pakietu przez serwer spowodowanym zmniejszeniem wartości TTL do 0, do nadawcy wysyłana jest odpowiedź z typem 11 która zawiera załączony pakiet - który wyrzucono (od warstwy sieci w górę).
W przypadku braku możliwości dostarczenia pakietu do celu zostaje wygenerowany ICMP typu 3. Jako powód wygenerowania takiego kodu możemy otrzymać:
Port jest zamknięty
Host jest wyłączony z sieci
Podsieć jest wyłączona z sieci.
Do ciała pakietu załącza się pakiet nadawcy (ten, który został odrzucony)
Typ 3 i podtyp mówiący o zamkniętym porcie jest wykorzystywany przez narzędzia skanujące porty UDP komputera.
|