28Aug

Hacker Geek: amprenta OS cu dimensiuni TTL și TCP ferestre

Știați că puteți afla ce sistem de operare rulează un dispozitiv în rețea doar dacă vă uitați la modul în care comunică în rețea? Să aruncăm o privire la modul în care putem descoperi ce sistem de operare funcționează dispozitivele noastre.

De ce ai face asta?

Determinarea a ceea ce OS funcționează o mașină sau un dispozitiv poate fi util din mai multe motive. Mai întâi vă permite să aruncați o privire la o perspectivă cotidiană, imaginați-vă că doriți să treceți la un nou ISP care oferă un acces neautorizat la internet de 50 de dolari pe lună, astfel încât să faceți o încercare a serviciului. Prin utilizarea amprentelor OS veți descoperi curând că au routere pentru gunoi și oferă un serviciu PPPoE oferit pe o grămadă de mașini Windows Server 2003.Nu mai suna așa ceva, nu?

O altă utilizare pentru acest lucru, deși nu este atât de etică, este faptul că găurile de securitate sunt specifice sistemului de operare. De exemplu, faceți o scanare port și găsiți portul 53 deschis și mașina rulează o versiune depășită și vulnerabilă a Bind, aveți o singură șansă de a exploata gaura de securitate, deoarece o încercare eșuată ar daunui daemonului.

Cum funcționează amprenta OS?

Atunci când faceți o analiză pasivă a traficului curent sau chiar uitați la capturile vechi de pachete, una dintre cele mai ușoare și eficiente modalități de a face Fingerprinting OS este doar căutând dimensiunea ferestrei TCP și Time To Live( TTL) în antetul IP alprimul pachet într-o sesiune TCP.

Iată valorile pentru sistemele de operare mai populare:

Sistemul de operare Timpul de viață Dimensiunea ferestrei TCP
Linux( Kernel 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
iOS12.4( Routere Cisco) 255 4128

Principalul motiv pentru care sistemele de operare au valori diferite se datorează faptului că RFC-urile pentru TCP / IP nu prevăd valori implicite. Alt lucru important de reținut este că valoarea TTL nu se va potrivi întotdeauna până la unul din tabel, chiar dacă dispozitivul dvs. rulează unul dintre sistemele de operare listate, vedeți când trimiteți un pachet IP prin rețea, sistemul de operare al dispozitivului de trimiterestabilește TTL la TTL implicit pentru acel sistem de operare, dar când pachetul traversează routerele, TTL este redus cu 1. Prin urmare, dacă vedeți un TTL de 117, se poate aștepta ca acesta să fie un pachet trimis cu un TTL de 128 șia traversat 11 routere înainte de a fi capturat.

Utilizarea tshark.exe este cea mai ușoară modalitate de a vedea valorile astfel încât, odată ce ați primit o captură de pachete, asigurați-vă că ați instalat Wireshark, apoi navigați la:

C: \ Program Files \

Acum mențineți butonul Shift și faceți clic dreaptape folderul wireshark și selectați fereastra de comandă deschisă din meniul contextual

Acum tastați:

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

Asigurați-vă că înlocuiți "C: \ Users \ Taylor Gibb \ Desktop \ blah.pcap" cu calea absolută pentru capturarea pachetelor. Odată ce ați apăsat pe intrare, veți fi afișați toate pachetele SYN din captura dvs. un format de tabel mai ușor de citit

Acum este o captură de pachete aleatoare pe care am făcut-o de la conectarea la site-ul Web How-To Geek, printre toate celelalte mesaje pe care Windows le facePot să vă spun două lucruri sigur:

  • Rețeaua mea locală este 192.168.0.0/24
  • Sunt pe o casetă Windows 7

Dacă te uiți la prima linie a tabelului vei vedea că nu minte, adresa mea IP este192.168.0.84 TTL meu este 128 și mărimea ferestrei TCP este 8192, care se potrivește până la valorile pentru Windows 7.

Următorul lucru pe care îl văd este o adresă 74.125.233.24 cu un TTL de 44 și o dimensiune a ferestrei TCP de 5720,dacă mă uit la masa mea nu există nici un sistem de operare cu un TTL de 44, cu toate acestea se spune că Linux pe care serverele Google rulează au o dimensiune TCP fereastră 5720. După ce faceți o căutare rapidă pe web a adresei IP veți vedea că estede fapt, un server Google.

Ce altceva folosiți pentru tshark.exe, spuneți-ne în comentarii.