28Aug

Hacker Geek: prstni odtis OS z velikostmi oken TTL in TCP

Ali ste vedeli, da lahko ugotovite, kateri operacijski sistem deluje v omrežju, tako da gledate na način komunikacije v omrežju? Oglejmo si, kako lahko ugotovimo, kateri operacijski sistem delujejo naše naprave.

Zakaj bi to storili?

Določanje OS-ja naprave ali naprave je lahko uporabno iz več razlogov. Najprej si oglejmo vsakodnevno perspektivo, si predstavljamo, da želite preklopiti na novega ponudnika internetnih storitev, ki ponuja brezplačen internet za 50 evrov na mesec, zato boste preizkusili njihovo storitev. Z uporabo prstnih odtisov operacijskega sistema Windows boste kmalu odkrili, da imajo usmerjevalnik smeti in ponudijo storitev PPPoE, ki je na voljo na več računalnikih z operacijskim sistemom Windows Server 2003.Ne zveni več kot tako dober posel, kaj?

Druga uporaba tega, čeprav ni tako etična, je dejstvo, da so varnostne luknje specifične za OS.Na primer, skenirate vrata in poiščete vrata 53 in naprava teče zastarela in ranljiva različica Bind-a, imate SAMO možnost, da izkoristite varnostno luknjo, ker neuspeli poskus sesuje demona.

Kako deluje OS Fingerprinting?

Pri pasivni analizi trenutnega prometa ali celo pri ogledu starih zajemov paketov je eden od najpreprostejših in učinkovitih načinov zajemanja prstnih odtisov OS s preprostim pogledom na velikost okna TCP in Time To Live( TTL) v naslovu IPprvi paket v seji TCP.

Tukaj so vrednosti za bolj priljubljene operacijske sisteme:

Operacijski sistem Čas za Live Velikost okna TCP
Linux( jedro 2.4 in 2.6) 64 5840
Google Linux 64 5720
FreeBSD 64 65535
Windows XP 128 65535
Windows Vista in 7( Server 2008) 128 8192
iOS12.4( Cisco usmerjevalniki) 255 4128

Glavni razlog, da imajo operacijski sistemi različne vrednosti, je dejstvo, da RFC za TCP / IP ne določa privzetih vrednosti. Druga pomembna stvar, ki si jo morate zapomniti, je, da se vrednost TTL ne bo vedno ujemala z enim v tabeli, tudi če vaša naprava deluje z enim od navedenih operacijskih sistemov, vidite, če pošljete paket IP prek omrežja operacijski sistem za pošiljanjenastavi TTL na privzeti TTL za ta operacijski sistem, toda kot paket prehaja usmerjevalnik, se TTL zniža za 1. Torej, če vidite 117 TTL, se lahko pričakuje, da bo paket, ki je bil poslan s TTL 128 inje prešel 11 usmerjevalnikov, preden so bili ujeli.

Uporaba tshark.exe je najpreprostejši način za prikaz vrednosti tako, ko prejmete paketno zajemanje, poskrbite, da imate nameščen Wireshark, nato pa se pomaknite na:

C: \ Program Files \

Sedaj držite gumb za pomik in z desno tipko miške kliknitev mapi žice in v kontekstnem meniju izberite odprto ukazno okno

Zdaj vnesite:

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

Poskrbite, da boste zamenjali »C: \ Users \ Taylor Gibb \ Desktop \ blah.pcap« z absolutno potjo do zajemanja paketa. Ko enkrat pritisnete tipko Enter, se vam prikažejo vsi SYN-paketi iz vašega posnetka, ki jih je lažje prebrati v obliki tabele

. Zdaj je to naključno zajemanje paketov, ki sem ga naredil od povezave do spletnega mesta How-To Geek, Lahko vam povem dve stvari:

  • Moje lokalno omrežje je 192.168.0.0/24
  • Jaz sem na okencu Windows 7

Če pogledaš prvo vrstico tabele, boste videli, da ne lažem, moj IP-naslov je192.168.0.84 je moj TTL 128 in moja velikost okna TCP je 8192, kar se ujema z vrednostmi za operacijski sistem Windows 7.

Naslednja stvar, ki jo vidim, je naslov 74.125.233.24 s TTL od 44 in velikost okna TCP 5720,če pogledam na mizo, ni operacijskega sistema s TTL 44, vendar pravi, da Linux, ki ga uporabljajo strežniki Googla, ima velikost okna 5720 TCP. Ko opravite hitro spletno iskanje naslova IP, boste videli, da jedejansko Googlov strežnik.

Kaj še uporabljate tshark.exe, nam povejte v komentarjih.