Startpagina » hoe » Hacker Geek OS-vingerafdrukken met TTL- en TCP-vensterformaten

    Hacker Geek OS-vingerafdrukken met TTL- en TCP-vensterformaten

    Wist u dat u erachter kunt komen welk besturingssysteem een ​​netwerkapparaat gebruikt, gewoon door te kijken naar de manier waarop het op het netwerk communiceert? Laten we eens kijken hoe we kunnen ontdekken welk besturingssysteem onze apparaten gebruiken.

    Waarom zou je dit doen?

    Het bepalen van welk besturingssysteem een ​​apparaat of apparaat gebruikt, kan om verschillende redenen nuttig zijn. Laten we eerst eens kijken naar een alledaags perspectief, stel je voor dat je wilt overstappen naar een nieuwe ISP die voor 50 dollar korting biedt op $ 50 per maand, zodat je een proef kunt doen met hun service. Door gebruik te maken van OS-vingerafdrukken, zult u snel ontdekken dat ze afvalrouters hebben en een PPPoE-service aanbieden die wordt aangeboden op een groot aantal Windows Server 2003-machines. Klinkt niet meer zo goed, he?

    Een ander gebruik hiervan, hoewel niet zo ethisch, is het feit dat veiligheidslekken OS-specifiek zijn. U doet bijvoorbeeld een poortscan en vindt poort 53 open en de machine voert een verouderde en kwetsbare versie van Binding uit, u heeft een ENKELE kans om het beveiligingslek te misbruiken, omdat een mislukte poging de daemon zou laten crashen.

    Hoe werkt de vingerafdruk van het besturingssysteem??

    Wanneer u een passieve analyse uitvoert van het huidige verkeer of zelfs kijkt naar oude packet-captures, is een van de eenvoudigste en effectiefste manieren om OS-fingerprinting uit te voeren, eenvoudigweg te kijken naar de TCP-venstergrootte en Time To Live (TTL) in de IP-header van de eerste pakket in een TCP-sessie.

    Dit zijn de waarden voor de meer populaire besturingssystemen:

    Besturingssysteem Tijd om te leven TCP Window Size
    Linux (kernel 2.4 en 2.6) 64 5840
    Google Linux 64 5720
    FreeBSD 64 65535
    Windows XP 128 65535
    Windows Vista en 7 (Server 2008) 128 8192
    iOS 12.4 (Cisco Routers) 255 4128

    De belangrijkste reden dat de besturingssystemen verschillende waarden hebben, is te wijten aan het feit dat de RFC's voor TCP / IP geen standaardwaarden bepalen. Het is ook belangrijk om te onthouden dat de TTL-waarde niet altijd overeenkomt met één in de tabel, zelfs als op uw apparaat een van de vermelde besturingssystemen wordt uitgevoerd. U ziet wanneer u een IP-pakket via het netwerk verzendt naar het besturingssysteem van het verzendende apparaat stelt de TTL in op de standaard TTL voor dat besturingssysteem, maar als het pakket de routers doorkruist, wordt de TTL met 1 verlaagd. Als u dus een TTL van 117 ziet, kan dit naar verwachting een pakket zijn dat is verzonden met een TTL van 128 en heeft 11 routers doorlopen voordat ze werden vastgelegd.

    Het gebruik van tshark.exe is de gemakkelijkste manier om de waarden te bekijken, dus als je eenmaal een pakket hebt vastgelegd, zorg dan dat Wireshark is geïnstalleerd en navigeer vervolgens naar:

    C: \ Program Files \

    Houd nu de shift-knop ingedrukt en klik met de rechtermuisknop op de wireshark-map en selecteer hier het opdrachtvenster openen in het contextmenu

    Typ nu:

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

    Zorg ervoor dat u "C: \ Users \ Taylor Gibb \ Desktop \ blah.pcap" vervangt door het absolute pad naar uw pakketopname. Zodra u op Enter hebt gedrukt, worden alle SYN-pakketten uit uw opname weergegeven en is het formaat van de tabel gemakkelijker te lezen

    Nu is dit een willekeurige pakketopname die ik heb gemaakt van het verbinden met de How-To Geek Website, tussen alle andere gebabbel die Windows doet, kan ik je twee dingen zeker vertellen:

    • Mijn lokaal netwerk is 192.168.0.0/24
    • Ik zit in een Windows 7-box

    Als u naar de eerste regel van de tabel kijkt, ziet u dat ik niet lieg, mijn IP-adres is 192.168.0.84 mijn TTL is 128 en mijn TCP-venster is 8192, wat overeenkomt met de waarden voor Windows 7.

    Het volgende dat ik zie is een 74.125.233.24 adres met een TTL van 44 en een TCP Window Size van 5720, als ik naar mijn tafel kijk is er geen OS met een TTL van 44, maar het zegt wel dat de Linux die Google's servers zijn run hebben een TCP Window Size 5720. Na een snelle zoekopdracht op internet van het IP-adres zul je zien dat het in feite een Google Server is.

    Waar anders gebruik je tshark.exe voor, vertel het ons in de comments.