Rozdział 3. ¨ Porty standardowe oraz związane z nimi usługi 77
Podejrzewamy, że po przeczytaniu rozdziału pierwszego zaczynasz myśleć, mówić, a może nawet zachowywać się jak haker. Najwyższy więc czas, by zastosować zdobytą wiedzę do poprawienia bezpieczeństwa własnej sieci. W części tej przyjrzymy się dokładniej mechanizmom powodującym, że porty standardowe oraz odpowiadające im usługi są tak wrażliwe na różnego rodzaju ataki. Następnie, w rozdziale 4., poznasz oprogramowanie służące hakerom, technikę oraz wiedzę wykorzystywane przez włamywaczy i im podobnych przestępców.
Porty wejścia/wyjścia są kanałami, przez które przepływają dane pomiędzy różnorodnymi urządzeniami i procesami. Hakerzy poszukują otwartych lub „nasłuchujących”, a tym samym podatnych na atak portów, aby następnie wykorzystać je do swoich celów. Narzędzia, takie jak na przykład skanery portów (opisane dokładniej w rozdziale 4.) pozwalają w krótkim czasie przeszukać wszystkie z ponad 65 000 portów komputera[1]. Poszukiwania te skupiają się jednak głównie na pierwszych 1024 portach nazywanych również portami standardowymi (lub portami ogólnie znanymi). Porty te zarezerwowane są dla usług systemowych — w systemach uniksowych porty te otwierać może tylko użytkownik root. Dana usługa może „nasłuchiwać” na ogólnie znanym porcie. Po przyjęciu zgłoszenia, otwiera któryś z górnych portów i na nim dalej obsługuje to żądanie.
Skanowanie portów polega na zebraniu informacji o otwartych oraz zamkniętych portach komputera. Program tego typu wysyła do każdego przeszukiwanego portu zapytanie o jego status. Komputer, nie mając żadnych dodatkowych informacji, automatycznie wysyła żądaną odpowiedź. Ofiara skanowania portów prawdopodobnie nigdy się o tym nie dowie bez żadnych dodatkowych kroków[2]. W paru kolejnych punktach opiszemy najbardziej znane porty standardowe wraz z odpowiadającymi im usługami i lukami przez nie powodowanymi. Przybliżymy też podstawowe techniki wykorzystujące zdobytą wiedzę.
Wiele portów uważanych jest za wystarczająco bezpieczne i dlatego pominiemy je w niniejszym opracowaniu. Zajmiemy się więc jedynie tymi, które mogą stanowić prawdziwe zagrożenie dla bezpieczeństwa systemu.
Aby połączenie pomiędzy dwoma komputerami mogło dojść do skutku, strona pragnąca nawiązać połączenie musi znać numer portu gospodarza, do którego powinna się połączyć. Z tego powodu powstała specjalna lista (opracowana przez IANA[3], a dostępna w RFC1700 oraz pod adresem ftp://ftp.isi.edu/inotes/iana/assignments) wiążąca porty standardowe i odpowiadające im usługi lub protokoły internetowe. Istnieją dwa szczególnie powszechne protokoły internetowe — TCP oraz UDP (opisane odpowiednio w RFC793 i RFC768).
Należy pamiętać o tym, że połączenie za pomocą protokołu TCP jest realizowane w trzech stopniach pozwalających na dokładne zsynchronizowanie strumienia pakietów wysyłanych przez obie strony. Taki sposób postępowania pozwala otrzymać pewny, stabilny, zorientowany na połączenie kanał informacji. Odmienną strategię wykorzystuje protokół UDP. Tu nie inicjuje się połączenia, nie ma też pewności, że datagramy będą przychodzić we właściwej kolejności. Wynikiem takiego postępowania jest szybki, zorientowany na transmisję, kanał informacji.
Tabele 4.1 oraz 4.2 zawierają skróconą listę portów standardowych, odpowiednio TCP i UDP, wraz z usługami z nimi związanymi (pełna lista znajduje się w dodatku C na końcu tej książki). Warto zwrócić uwagę na to, iż niektóre usługi obsługują oba rodzaje protokołów komunikacyjnych.
Tabela 4.1. Standardowe porty TCP oraz usługi z nimi związane
Numer portu
Usługa TCP
7
echo
115
sftp
9
discard
117
path
11
systat
119
nntp
13
daytime
135
loc-serv
15
netstat
139
nbsession
17
qotd
144
news
19
chargen
158
tcprepo
20
FTP-data
170
print-srv
21
FTP
175
vmnet
23
telnet
400
vmnet0
25
SMTP
512
exec
37
time
513
login
42
name
514
shell
43
whois
515
printer
53
domain
520
efs
57
mtp
526
tempo
77
rje
530
courier
79
finger
531
conference
80
http
532
netnews
87
link
540
uucp
95
supdup
543
klogin
101
hostnames
544
kshell
102
iso-tsap
556
remotefs
103
dictionary
600
garcon
104
X400-snd
601
maitrd
105
csnet-ns
602
busboy
109
pop2
750
kerberos
110
pop3
751
kerberos_mast
111
portmap
754
krb_prop
113
auth
888
erlogin
Zgodnie z zasadami tej książki opisy portów i usług zostaną przedstawione z punktu widzenia hakera. Taka konstrukcja opisów powinna uświadomić, jakie szanse ma osoba postronna na przełamanie zabezpieczeń i na dostanie się do naszego systemu lub jego uszkodzenie.
Tabela 4.2. Standardowe porty UDP oraz usługi z nimi związane
Usługa UDP
syslog
517
talk
518
ntalk
route
525
timed
39
rlp
rvd-control
533
netwall
550
new-rwho
dns
560
rmonitor
67
bootp
561
monitor
69
tftp
700
acctmaster
...
atari666