Wszystkie systemy operacyjne mają specyficzne cechy, dzięki którym możemy odróznić je od innych.
Utrudnienie rozpozania systemu może być jedną z metod obrony (a raczej mającej zmylić)
przed intruzami.
Najczęściej używanymi programami do identyfikowania systemu operacyjnego
są nmap,
Xprobe2,
p0f.
Jak to działa? - czyli klika słów na temat poszczególnych programów.
Nmap
Jest to chyba najbardziej znanym programem do skanowania sieci.
Rozpoznaje on system operacyjny analizując odpowiedzi na źle zbudowane
pakiety TCP. Przeprowadza on 9 testów:
- pakiet z flagami SYN i ECE
- pakiet NULL (wyzerowane flagi)
- pakiet TCP z flagami SYN, FIN, URG, PSH na jakis otwarty port TCP
- pakiet TCP z flaga ACK na jakis otwarty port
- pakiet TCP z flaga SYN na jakis zamkniety port
- pakiet TCP z flaga ACK do zamknietego portu
- pakiet TCP z flagami FIN, PSH, URG na zamkniety port TCP
- pakiet UDP na zamkniety port UDP
- 6 kolejnych pakietow TCP z flaga SYN na jeden otwarty port
Xprobe2
Główna różnica w porównaniu do Nmap'a polega na tym, że pakiety wysyłane
przez Xprobe2 maja prawidłową budowę. Do rozpoznawania systemu operacyjnego
używa on komunikatów ICMP wysyłając sześć różnych testów:
- ping - echo request [ICMP]
- żądanie znacznika czasowego - timestamp [ICMP]
- żądanie maski adresu - address mask request [ICMP]
- żądanie informacji - information request [ICMP]
- pakiet UDP do zamkniętego portu
- pakiet TCP do otwartego portu
p0f
Program ten różni się tym od pozostałych, że nie rozpoznaje systemu w sposób aktywny.
Oznacza to mniej więcej tyle, że przechwytuje pakiety przychodzące i wyszukuje w nich
cech charakterystycznych poszczególnych systemów operacyjnych. Co sprawdza p0f:
- rozmiar okna TCP
- wartość TTL
- obecność flagi DF
- wartość i kolejność opcji TCP
- różne "anomalie" - złe flagi, złe opcje, niezerowe wartości ACK
Do dzieła ! - czyli jak się ukrywać.
Wprowadzanie zmian zaczniemy od modyfikacji kilku opcji dostępnych w jądrze FreeBSD.
Pierwszą opcją, którą zmienimy jest włączenie "czarnej dziury" dzięku której bedą blokowane
pakiety, które jako swój cel będą miały zamknięte porty TCP i UDP. Dla TCP opcja 1 blokuje
pakiety z flagą SYN a 2 blokuje wszystkie pakiety, które jako swój cel mają zamknięty port TCP.
# sysctl net.inet.tcp.blackhole=2
# sysctl net.inet.udp.blackhole=1 |
Następną opcją jaką możemy zmienić jest domyślna wielkość okna TCP na maksymalny nie wymagający skalowania czyli 65535.
# sysctl net.inet.tcp.recvspace=65535 |
Teraz dokonamy zmiany wartości pola TTL ze standardowego 64 na 128.
# sysctl net.inet.ip.ttl=128 |
Aby nasze prace, mające na celu wyprowadzenie programów nmap, Xprobe2 i p0f w maliny, odniosły skutek zmienimy jeszcze dwie
opcje. Pierwsza to włączenie skalowania okna i znacznika czasowego, a druga to włączenie odpowiedzi na pakiety ICMP z żądaniem
maski adresów.
# sysctl net.inet.tcp.rfc1323=0
# sysctl net.inet.icmp.maskrepl=1 |
Plik konfiguracyjny naszego filtra pakietów (w przykładzie jest to ipf) powinnien zawierać reguły postaci (przykład dla portu 80 i ping):
-- fw.rules --
# przykładowo port 80
pass in quick proto tcp from any to xxx.xxx.xxx.xxx port=www flags S keep state
# ping
pass in quick proto icmp from any to xxx.xxx.xxx.xxx icmp-type echo keep state
|
-- end fw.rules --
Jeśli ktoś używa pf'a jako filtra pakietów to konfigurację dla niego przedstawione są w podobnym artykule dla OpenBSD.
Źródła:
http://www.insecure.org/nmap/nmap-fingerprinting-article-pl.html
http://www.insecure.org/nmap/index.html
http://www.sys-security.com/index.php?page=xprobe
http://lcamtuf.coredump.cx/p0f.shtml
Autor:
Kacper (qTi) Różycki
qTi(at)bsd4u.org
Powyższy artykuł został udostępniony na zasadach Licencji BSD |
| Dodane przez michalk w dniu - 2005-12-14 18:07:48 | " Następną opcją jaką możemy zmienić jest romyślna wielkość okna TCP" "domyślna" raczej | | Dodane przez qTi w dniu - 2005-12-14 18:35:31 | Już poprawiłem | | Dodane przez argail w dniu - 2006-01-02 13:16:33 | Z bliżej mi nieznanych powodów, po dodaniu : # sysctl net.inet.tcp.blackhole=2 # sysctl net.inet.udp.blackhole=1 przestaję działąć squirell via imap ... dziwne .
|
Tylko zarejestrowani użytkownicy mogą pisać komentarze. Prosze zaloguj się i dodaj komentarz. Powered by AkoComment! |