Hacker Geek OS Fingerprinting s TTL a TCP okná veľkosti
Vedeli ste, že môžete zistiť, ktorý operačný systém je spustený v sieti, a to práve pri pohľade na spôsob komunikácie v sieti? Poďme sa pozrieť na to, ako môžeme zistiť, aký operačný systém používajú naše zariadenia.
Prečo by ste to urobili?
Určenie toho, čo OS beží stroj alebo zariadenie, môže byť užitočné z mnohých dôvodov. Najprv sa môžete pozrieť na každodennú perspektívu a predstavte si, že chcete prejsť na nového poskytovateľa internetového pripojenia, ktorý ponúka mesačne bezplatný internet za 50 USD, aby ste mohli skúšať ich službu. Použitím odtlačkov prstov OS čoskoro zistíte, že majú routery na odpadky a ponúkajú službu PPPoE ponúkanú na veľa počítačoch so systémom Windows Server 2003. Zdá sa, že už nie je taká dobrá dohoda, hm?
Iné použitie, aj keď nie tak etické, je skutočnosť, že bezpečnostné diery sú špecifické pre operačný systém. Môžete napríklad skontrolovať port a nájsť port 53 otvorený a počítač má zastaranú a zraniteľnú verziu Bind, máte SINGLE šancu využiť bezpečnostný otvor, pretože neúspešný pokus by zničil daemona.
Ako funguje odtlačok prsta OS?
Pri pasívnej analýze aktuálnej návštevnosti alebo dokonca pri pohľade na staré zachytávanie paketov je jedným z najjednoduchších a najdôležitejších spôsobov, ako robiť OS Fingerprinting jednoduchým pohľadom na veľkosť okna TCP a Time To Live (TTL) v hlavičke IP prvej paketu v relácii TCP.
Tu sú hodnoty pre populárnejšie operačné systémy:
Operačný systém | Čas žiť | Veľkosť okna TCP |
Linux (Kernel 2.4 a 2.6) | 64 | 5840 |
Google Linux | 64 | 5720 |
FreeBSD | 64 | 65535 |
Windows XP | 128 | 65535 |
Windows Vista a 7 (Server 2008) | 128 | 8192 |
iOS 12.4 (smerovače Cisco) | 255 | 4128 |
Hlavným dôvodom, prečo majú operačné systémy rôzne hodnoty, je skutočnosť, že RFC pre TCP / IP nestanovujú predvolené hodnoty. Ďalšia dôležitá vec, ktorú treba mať na pamäti, je, že hodnota TTL sa vždy nezhoduje s jedným v tabuľke, a to aj vtedy, keď vaše zariadenie používa jeden z uvedených operačných systémov, keď pošlete IP paket cez sieť, operačný systém odosielajúceho zariadenia nastaví TTL na predvolený TTL pre tento operačný systém, ale keď sa paket prechádza smerovačmi, TTL sa zníži o 1. Preto ak vidíte TTL 117, dá sa očakávať, že je to paket, ktorý bol odoslaný s TTL 128 a prešiel 11 smerovačmi predtým, než bol zachytený.
Použitie tshark.exe je najjednoduchší spôsob zobrazenia hodnôt, takže akonáhle získate zachytenie paketov, uistite sa, že máte Wireshark nainštalovaný, potom prejdite na:
C: \ Program Files \
Teraz podržte tlačidlo Shift a kliknite pravým tlačidlom myši na priečinok wireshark a z kontextového menu vyberte príkaz open window command
Teraz napíšte:
tshark -r "C: \ Users \ Taylor Gibb \ Desktop \ blah.pcap" "tcp.flags.syn eq 1" -T políčka -e ip.src -e ip.ttl -e tcp.window_size
Nezabudnite nahradiť "C: \ Users \ Taylor Gibb \ Desktop \ blah.pcap" absolútnou cestou k zachyteniu paketu. Po stlačení klávesu Enter sa zobrazí všetky pakety SYN z vášho zachytenia a ľahšie čitateľný formát tabuľky
Teraz je to náhodný zachytenie paketov, ktoré som si zo mňa pripájal k webovej stránke How-To Geek, medzi všetkými ostatnými chatrček Windows robí, môžem vám povedať dve veci s istotou:
- Moja lokálna sieť je 192.168.0.0/24
- Som na poli Windows 7
Ak sa pozriete na prvý riadok tabuľky uvidíte, že neklamám, moja IP adresa je 192.168.0.84 moja TTL je 128 a môj TCP Window Size je 8192, čo zodpovedá hodnotám pre Windows 7.
Ďalšia vec, ktorú vidím, je adresa 74.125.233.24 s TTL 44 a TCP Window Veľkosť 5720, ak sa pozriem na môj stôl nie je žiadny OS s TTL 44, ale hovorí, že Linux, že servery Google spusťte TCP Window Size 5720. Po rýchlom vyhľadaní adresy IP na webe uvidíte, že ide o server Google Server.
Čo ešte používate tshark.exe pre, povedzte nám v komentároch.