wtorek, 09 lutego 2010 
Start arrow OpenBSD arrow SYSTEM I KERNEL arrow OpenBSD i (anty) OS fingerprinting.
Menu BSD4u
FreeBSD
OpenBSD
NetBSD
Dla *BSD
FAQ BSD4u
Forum BSDGuru.org
Security Advisory
Licencje
Images BSD
Menu ogólne
Start
Aktualności
Download
Sondy
Szukaj
Linki
Książki
About BSD4u
Info
Team BSD4u
Regulamin
Kanał #BSD4u
Kontakt
Sondy
Co sądzisz o naszym nowym Projekcie, i jak oceniasz zmianę koncepcji Projektu?
 
Popularne
Kompilacja i konfigu...
SQUID - najpopularni...
Samba - serwer plikó...
Neostrada+ i modem ...
NATowanie czyli jak ...
Upgrade systemu
Apache (konfiguracja...
Praktyczne IPFW
MRTG - statystyki ru...
CVSup - pomocny podc...
Neostrada na modemie...
Postfix - bezpieczny...
Postfix z autoryzacj...
System Portów (Kolek...
Postfix oparty na ba...
Top Download
File icon Postfix - "Krok po kroku" v1.17811
File icon Postfix - "Krok po kroku" v1.06759
File icon PPTPd - "Prosty i szybki VPN" v1.0b6314
File icon sdi.sh3875
File icon uEagle 1.0p12971
File icon named.sh2938
File icon uEagle 0.99b2867
File icon cs.sh2824
File icon uEagle 1.02756
File icon uEagle 1.12566
Ostatnie komentarze
RE: transparent a v...
Dodał: Trash
Dnia: 2009-10-06 15:45:18
transparent a virus...
Dodał: grzywka18
Dnia: 2008-05-13 11:19:58
hmm
Dodał: dzibi
Dnia: 2007-12-12 10:01:14
Bez tytułu
Dodał: grzywka18
Dnia: 2007-12-11 17:46:06
Bez tytułu
Dodał: termid
Dnia: 2007-05-09 18:01:11
Bez tytułu
Dodał: sarelo33
Dnia: 2006-12-30 23:50:14
OpenBSD i (anty) OS fingerprinting. Drukuj E-mail
Oceny: / 15
KiepskiBardzo dobry 
środa, 02 listopada 2005 - Napisał: Kacper Różycki (9288 odsłon)

Jak powszechnie wiadomo, każdy system operacyjny ma specyficzne cechy, dzięki którym możemy go odróznić od innych. Po przeczytaniu tego artykułu będziesz wiedział/a jak w prosty sposób unimożliwić (lub znacznie ograniczyć) rozpoznanie Twojego systemu operacyjnego. 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
  • to tyle z testów... ;)

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ć.

Duuuża większość filtrów pakietów nie rozpoznaje flagi ECE (jeśli np. iptables dostanie pakiet z ustawionymi SYN oraz ECE nie widzi flagi ECE i pakiet jest "puszczony".. a pf odrzuci go) wystarczy sprawdzać flagi na porty otwarte i puszczać tylko pakiety z flagą SYN.

-- pf.conf --


# przykladowo port 80
pass in quick proto tcp from any to xxx.xxx.xxx.xxx port 80 flags S/FSRPAUE keep state
 

-- end pf.conf --

Po takiej operacji Nmap powinien się wyłożyć ;) ale są jeszcze Xprobe2, p0f je też wpuścimy w maliny.

Następnie możemy zmienić wielkość okna TCP (RFC 1323 dla zainteresowanych) na 65535 (domyślnie chyba jest 16384).


# sysctl -w net.inet.tcp.recvspace=65535
 

Po takiej operacji trzeba zrestartować wszystkie usługi (najlepiej # reboot).

Następną zmianą jaka powinna przynieść widoczne razultaty jest zmiana wartości pola TTL ze standardowego 64 na 128.


# sysctl -w net.inet.ip.ttl=128
 

Następną zmianą jaką wprowadzimy w naszym systemie jest wyłączenie opcji TCP odpowiedzialną za skalowanie okna i znacznika czasowego (RFC 1323).


# sysctl -w net.inet.tcp.rfc1323=0
 

Dzięki zmianom, które zostały wprowadzone w systemie Twój system powinien być rozpoznawany jako zupełnie inny od jakiegoś FreeBSD 3.x do Win XP. Oczywiście powyższe zmiany to nie wszystko co możemy zmienic w naszym systemie aby był rozpoznawany jako zupełnie inny. Następną zmianą jaką wprowadzimy w naszym systemie jest włączenie odpowiedzi na pakiety ICMP z żądaniem maski adresów:


# sysctl -w net.inet.icmp.maskrepl=1
 

Do reguł naszego filtra pakietów (pf oczywiście ;) ) powinniśmy dodać jeszcze:

-- pf.conf --


pass in quick proto icmp from any to xxx.xxx.xxx.xxx icmp-type maskreg
pass out quick proto icmp from xxx.xxx.xxx.xxx to any icmp-type maskrep


-- end pf.conf --

Możemy dodać jeszcze kilka opcji do naszego filtra pakietów co pozwoli zwiększyć jego skuteczność.

-- pf.conf --


# kilka regułek na nmap'a gdzie $ext_if to interfejs zewnętrzny
block in log quick on $ext_if inet proto tcp from any to any flags FUP/WEUAPRSF
block in log quick on $ext_if inet proto tcp from any to any flags WEUAPRSF/WEUAPRSF
block in log quick on $ext_if inet proto tcp from any to any flags SRAFU/WEUAPRSF
block in log quick on $ext_if inet proto tcp from any to any flags /WEUAPRSF
block in log quick on $ext_if inet proto tcp from any to any flags SR/SR
block in log quick on $ext_if inet proto tcp from any to any flags SF/SF
 

-- end pf.conf --


Źródła:
http://www.insecure.org/nmap/nmap-fingerprinting-article.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 Różycki

Powyższy artykuł został udostępniony na zasadach Licencji BSD

Komentarze:
Dodane przez lofix w dniu - 2005-11-02 22:19:36
Ja mam tylko jedno pytanie - jaki ma sens ukrywanie Swojego systemu?, chyba tylko dla sportu?
Dodane przez arti w dniu - 2005-11-02 22:35:52
W pewnym stopniu sam odpowiedziałeś na swoje pytanie ;-) Drugi sens to taki, aby pokazać, iż coś takiego jest możliwe. A co ktoś z tym zrobi to już jego sprawa :)
Dodane przez rafal w dniu - 2005-11-03 00:10:15
Ma sens i to duzy. Wiadomo, ze kazda proba wlamania zaczyna sie od sprawdzenia na czym stoi serwer. Jezeli zatem intruz zostanie zmylony na "wstępie" to zastosuje metody zupelnie nieskutecznie, bo przeznaczone do innego systemu.
Dodane przez mcoy w dniu - 2005-11-03 15:01:33
Czy wiadomo, jak na stabilnosc i wydajnosc systemu wplywaja takie zmiany?
Dodane przez qTi w dniu - 2005-11-03 22:19:16
Z tego co zauważyłem nie ma różnic wydajnościowych po zastosowaniu powyższych zmian w systemie. Podobnie jest ze stabilnościa.
a..
Dodane przez mcoy w dniu - 2005-12-27 12:07:21
jest jakas mozliwosc "ukrywania tozsamosci" systemow za transparentnym bridge'm. chodzi mi o dzialanie na bridge'u nie na hostach? z gory thx

Tylko zarejestrowani użytkownicy mogą pisać komentarze.
Prosze zaloguj się i dodaj komentarz.

Powered by AkoComment!

Ostatnio aktualizowany ( środa, 19 listopada 2008 )

« wstecz
Ciekawostki
"man tuning" da Tobie praktyczne porady jak zwiększyć wydajność FreeBSD.
Pobierz
FreeBSD
OpenBSD
NetBSD
DragonFlyBSD
PC-BSD
FreeSBIE LiveCD
4.4BSD Lite
Domeny
Google

Google


Newsletter
Zapisz się na nasz newsletter, jeżeli chcesz być na bieżąco informowany o aktualnościach..




Licznik odwiedzin
Odwiedziło już nas
3044811
Internautów od lutego 2003

Korzystamy ze statysyk