Domovská » jak » Hacker Geek OS Fingerprinting s TTL a TCP okna velikosti

    Hacker Geek OS Fingerprinting s TTL a TCP okna velikosti

    Věděli jste, že zjistíte, který operační systém je síťové zařízení spuštěné jen tím, že se podíváte na způsob komunikace v síti? Podívejme se na to, jak zjistíme, jaký operační systém fungují naše zařízení.

    Proč byste to udělal?

    Určení toho, co OS běží stroj nebo zařízení, může být užitečné z mnoha důvodů. Nejprve se můžete podívat na každodenní perspektivu, představte si, že chcete přejít na nového poskytovatele internetových služeb, který nabízí měsíc neomezený internet za 50 dolarů měsíčně, abyste mohli vyzkoušet jejich službu. Pomocí otisky prstů OS brzy zjistíte, že mají směrovače odpadků a nabízejí službu PPPoE nabízenou na bázi Windows Server 2003. Zní to jako taková dobrá dohoda, huh?

    Dalším účelem, i když není tak etické, je skutečnost, že bezpečnostní díry jsou specifické pro OS. Provádíte například kontrolu portů a otevření portu 53 a zařízení běží starou a zranitelnou verzí Bind, máte možnost SINGLE využít bezpečnostní otvor, protože selhání pokusu by selhalo démona.

    Jak funguje OS Fingerprinting?

    Při pasivní analýze stávajícího provozu nebo dokonce při pohledu na staré zachycení paketů je jedním z nejjednodušších a nejúčinnějších způsobů, jak provádět OS Fingerprinting, prostě prohlížet velikost okna TCP a Time To Live (TTL) v hlavičce IP prvního paketu v relaci TCP.

    Zde jsou hodnoty pro populárnější operační systémy:

    Operační systém Čas žít Velikost okna protokolu 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 (Cisco Routers) 255 4128

    Hlavním důvodem, proč mají operační systémy různé hodnoty, je skutečnost, že RFC pro protokol TCP / IP neobsahují výchozí hodnoty. Důležité je také mít na paměti, že hodnota TTL nebude vždy v tabulce odpovídat až jednomu, a to i v případě, že je v zařízení spuštěn jeden z uvedených operačních systémů, uvidíte při odesílání IP paketu v síti operační systém odesílajícího zařízení nastaví TTL na výchozí TTL pro daný operační systém, ale když paket trajeuje směrovače, TTL se sníží o 1. Proto pokud vidíte TTL 117, lze očekávat, že to bude paket, který byl odeslán s TTL 128 a přeskočilo 11 směrovačů před jejich zachycením.

    Pomocí tshark.exe je nejjednodušší způsob zobrazení hodnot tak, jakmile získáte zachycení paketů, ujistěte se, že máte nainstalovaný Wireshark, a pak přejděte na:

    C: \ Program Files \

    Nyní podržte tlačítko Shift a klikněte pravým tlačítkem myši na složku wireshark a v kontextové nabídce vyberte příkaz open window command

    Nyní napište:

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

    Nezapomeňte nahradit "C: \ Users \ Taylor Gibb \ Desktop \ blah.pcap" absolutní cestou k zachycení paketů. Jakmile stisknete klávesu Enter, zobrazí se vám všechny pakety SYN z vašeho snímku, který je jednodušší ke čtení tabulkového formátu

    Nyní je to náhodný zachycení paketů, které jsem se připojil k webovému serveru How-To Geek, mezi všemi ostatními zábrany, které Windows dělá, mohu vám s jistotou říci dvě věci:

    • Moje místní síť je 192.168.0.0/24
    • Jsem na poli Windows 7

    Pokud se podíváte na první řádek tabulky, uvidíte, že neklamám, má IP adresa 192.168.0.84 můj TTL je 128 a můj TCP Window Size je 8192, což odpovídá hodnotám pro Windows 7.

    Další věc, kterou vidím, je adresa 74.125.233.24 s TTL 44 a TCP Window Size 5720, pokud se podívám na svůj stůl, neexistuje žádný OS s TTL 44, nicméně to říká, že Linux, že servery Google spusťte TCP Window Size 5720. Poté, co provedete rychlé vyhledání adresy IP na webu, zjistíte, že je ve skutečnosti serverem Google.

    Co jiného používáte tshark.exe, řekněte nám v komentáři.