If-Koubou

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

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

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

Dlaczego miałbyś to zrobić?

Określanie, na jakim systemie operacyjnym działa 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?

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

Jak działa odcisk palca systemu operacyjnego?

Podczas wykonywania pasywnej analizy bieżącego ruchu lub nawet przeglądania starych przechwyconych pakietów jednym z najprostszych i najskuteczniejszych sposobów wykonywania odcisków palców w systemie operacyjnym jest po prostu spojrzenie na rozmiar okna TCP i czas do życia (TTL) w nagłówku IP pierwszego pakiet w sesji TCP.

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

System operacyjny Czas żyć Rozmiar okna TCP
Linux (jądro 2.4 i 2.6) 64 5840
Google Linux 64 5720
FreeBSD 64 65535
Windows XP 128 65535
Windows Vista i 7 (Server 2008) 128 8192
iOS 12.4 (Cisco Routers) 255 4128

Głównym powodem, dla którego systemy operacyjne mają różne wartości, jest fakt, że specyfikacja RFC dla protokołu TCP / IP nie określa 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ącego ustawia 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 i przeszedł 11 routerów, zanim został przechwycony.

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

C: \ Program Files \

Teraz przytrzymaj przycisk Shift i kliknij folder Wireshark prawym przyciskiem myszy i wybierz polecenie Otwórz okno poleceń z menu kontekstowego

Teraz wpisz:

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

Zastąp "C: \ Users \ Taylor Gibb \ Desktop \ blah.pcap" absolutną ścieżką do przechwytywania pakietów. Po naciśnięciu Enter zobaczysz wszystkie pakiety SYN ze swojego uchwycenia i ł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 wariacji Windows robi, mogę powiedzieć dwie rzeczy na pewno:

  • Moja sieć lokalna to 192.168.0.0/24
  • Jestem na pudełku Windows 7

Jeśli spojrzysz na pierwszy wiersz tabeli, zobaczysz, że nie kłamię, mój adres IP to 192.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 moim stole nie ma systemu operacyjnego z TTL 44, jednak mówi się, że Linux, który serwery Google Uruchom, aby uzyskać rozmiar okna TCP 5720. Po szybkim wyszukiwaniu adresu IP zobaczysz, że jest to w istocie serwer Google.

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