28Aug

Hacker Geek: Fingerprinting w systemie operacyjnym z rozmiarami okien TTL i TCP

click fraud protection

Czy wiesz, że możesz dowiedzieć się, który system operacyjny działa w sieci, sprawdzając sposób, w jaki komunikuje się w sieci? Rzućmy okiem na to, w jaki sposób możemy odkryć, na jakim systemie operacyjnym działają nasze urządzenia.

Dlaczego to zrobiłeś?

Określenie, z jakiego systemu operacyjnego jest uruchamiana maszyna lub urządzenie, może być przydatne z wielu powodów. Najpierw spójrzmy na codzienną perspektywę, wyobraźmy sobie, że chcesz przejść na nowego dostawcę usług internetowych, który oferuje nieograniczony dostęp do Internetu za 50 USD miesięcznie, więc podejmiesz próbę swojej usługi. Korzystając z systemu pobierania odcisków palców, wkrótce odkryjesz, że mają one routery do śmieci i oferują usługę PPPoE oferowaną na kilku komputerach z systemem Windows Server 2003.Nie brzmi już tak dobrze, co?

Kolejnym zastosowaniem, choć nie tak etycznym, jest fakt, że luki w zabezpieczeniach są specyficzne dla systemu operacyjnego. Na przykład, skanujesz port i znajdujesz port 53 otwarty, a na maszynie działa przestarzała i wrażliwa wersja Bind, masz MOŻLIWOŚĆ wykorzystania luki bezpieczeństwa, ponieważ nieudana próba spowoduje awarię demona.

instagram viewer

Jak działa odcisk palca systemu operacyjnego?

Podczas wykonywania pasywnej analizy bieżącego ruchu lub nawet przeglądania starych przechwytujących pakiety, jednym z najprostszych i najskuteczniejszych sposobów wykonywania odcisków palców systemu operacyjnego jest po prostu spojrzenie na rozmiar okna TCP i czas do życia( TTL) w nagłówku IPpierwszy pakiet w sesji TCP.

Oto wartości dla bardziej popularnych systemów operacyjnych:

System operacyjny Czas życia Rozmiar okna TCP
Linux( jądra 2.4 i 2.6) 64 5840
Google Linux 64 5720
FreeBSD 64 65535
Windows XP 128 65535
Windows Vista i 7( Serwer 2008) 128 8192
iOS12.4( Cisco Routers) 255 4128

Główny powód, dla którego systemy operacyjne mają różne wartości, wynika z faktu, że RFC dla protokołu TCP / IP nie określają wartości domyślnych. Inną ważną rzeczą, o której należy pamiętać, jest to, że wartość TTL nie zawsze będzie pasowała do jednej w tabeli, nawet jeśli na twoim urządzeniu działa jeden z wymienionych systemów operacyjnych, zobaczysz, kiedy wysyłasz pakiet IP w sieci do systemu operacyjnego urządzenia wysyłającegoustawia TTL na domyślny TTL dla tego systemu operacyjnego, ale gdy pakiet przechodzi przez routery, TTL jest obniżany o 1. Dlatego, jeśli widzisz TTL 117, można oczekiwać, że będzie to pakiet wysłany z TTL 128 iprzeszedł 11 routerów, zanim został przechwycony.

Używanie tshark.exe jest najprostszym sposobem, aby zobaczyć wartości, więc gdy już przechwycisz pakiet, upewnij się, że masz zainstalowane Wireshark, a następnie przejdź do:

C: \ Program Files \

Teraz przytrzymaj przycisk Shift i kliknij prawym przyciskiem myszyw folderze Wireshark i wybierz tutaj otwarte okno poleceń z menu kontekstowego

Teraz wpisz:

tshark -r "C: \ Users \ Taylor Gibb \ Desktop \ blah.pcap" "tcp.flags.syn eq 1" -T fields -e ip.src -e ip.ttl -e tcp.window_size

Należy zamienić "C: \ Users \ Taylor Gibb \ Desktop \ blah.pcap" na absolutną ścieżkę przechwytywania pakietów. Po naciśnięciu Enter zobaczysz wszystkie pakiety SYN z przechwytywania łatwiejszy do odczytania format tabeli

Teraz jest to losowe przechwytywanie pakietów, które zrobiłem ze mną, łącząc się z witryną How-To Geek, wśród wszystkich innych systemów WindowsMogę powiedzieć dwie rzeczy na pewno:

  • Moja lokalna sieć to 192.168.0.0/24
  • Jestem na Windows 7 box

Jeśli spojrzysz na pierwszy wiersz tabeli zobaczysz Nie kłamię, mój adres IP jest192.168.0.84 mój TTL wynosi 128, a mój rozmiar okna TCP to 8192, który pasuje do wartości dla Windows 7.

Następną rzeczą, którą widzę jest 74.125.233.24 adres z TTL 44 i rozmiar okna TCP 5720,jeśli spojrzę na mój stół, nie ma systemu operacyjnego z TTL równym 44, jednak mówi się, że Linux, na którym działają serwery Google, ma Rozmiar Okna TCP 5720. Po szybkim wyszukiwaniu adresu IP zobaczysz, że jestw rzeczywistości serwer Google.

Do czego jeszcze używasz tshark.exe, powiedz nam w komentarzach.