Wussten Sie, dass Sie herausfinden können, welches Betriebssystem ein Netzwerkgerät gerade ausführt, indem Sie die Art und Weise betrachten, wie es im Netzwerk kommuniziert? Sehen wir uns an, wie wir herausfinden können, welches Betriebssystem auf unseren Geräten läuft.

Wieso würdest du das machen?

Das Ermitteln des Betriebssystems, auf dem ein Computer oder ein Gerät ausgeführt wird, kann aus vielen Gründen nützlich sein. Lassen Sie uns zunächst einen Blick auf die Alltagsperspektive werfen. Stellen Sie sich vor, Sie möchten zu einem neuen ISP wechseln, der für $ 50 pro Monat ungenutztes Internet anbietet. Mit dem Fingerprinting des Betriebssystems werden Sie bald feststellen, dass es Müllrouter gibt und einen PPPoE-Dienst anbieten, der auf einer Reihe von Windows Server 2003-Computern angeboten wird. Hört sich nicht mehr so ​​gut an, oder?

Eine andere Verwendung, wenn auch nicht so ethisch, ist die Tatsache, dass Sicherheitslücken OS-spezifisch sind. Sie führen beispielsweise einen Port-Scan durch und finden, dass Port 53 geöffnet ist, und der Computer führt eine veraltete und verwundbare Version von Bind aus. Sie haben eine EINZIGE Chance, die Sicherheitslücke auszunutzen, da der Dämon durch einen fehlgeschlagenen Versuch zum Absturz gebracht wird.

Wie funktioniert OS Fingerprinting?

Bei der passiven Analyse des aktuellen Datenverkehrs oder auch beim Betrachten alter Paketerfassungen besteht die einfachste und effektivste Möglichkeit, das Fingerabdruckverfahren des Betriebssystems zu verwenden, darin, einfach die TCP-Fenstergröße und Time To Live (TTL) im IP-Header der ersten zu betrachten Paket in einer TCP-Sitzung.

Hier sind die Werte für die bekannteren Betriebssysteme:

Betriebssystem Zeit zu leben TCP-Fenstergröße
Linux (Kernel 2.4 und 2.6) 64 5840
Google Linux 64 5720
FreeBSD 64 65535
Windows XP 128 65535
Windows Vista und 7 (Server 2008) 128 8192
iOS 12.4 (Cisco-Router) 255 4128

Der Hauptgrund für die unterschiedlichen Werte der Betriebssysteme liegt in der Tatsache, dass die RFCs für TCP / IP keine Standardwerte enthalten. Beachten Sie außerdem, dass der TTL-Wert nicht immer mit einem in der Tabelle angegebenen Wert übereinstimmt, selbst wenn auf Ihrem Gerät eines der aufgeführten Betriebssysteme ausgeführt wird. Wenn Sie ein IP-Paket über das Netzwerk senden, wird das Betriebssystem des sendenden Geräts angezeigt Setzt die TTL auf die Standard-TTL für dieses Betriebssystem, aber wenn das Paket Router durchläuft, wird die TTL um 1 gesenkt. Wenn Sie also eine TTL von 117 sehen, kann dies ein Paket sein, das mit einer TTL von 128 und gesendet wurde hat 11 Router durchlaufen, bevor er erfasst wurde.

Die Verwendung von tshark.exe ist der einfachste Weg, die Werte anzuzeigen. Vergewissern Sie sich nach der Paketerfassung, dass Wireshark installiert ist, und navigieren Sie zu:

C:Program Files

Halten Sie nun die Umschalttaste gedrückt und klicken Sie mit der rechten Maustaste auf den Wireshark-Ordner, und wählen Sie im Kontextmenü die Option zum Öffnen des Befehlsfensters

Jetzt tippen:

tshark -r 'C:UsersTaylor GibbDesktoplah.pcap' 'tcp.flags.syn eq 1' -T fields -e ip.src -e ip.ttl -e tcp.window_size

Stellen Sie sicher, dass Sie "C: Users Taylor Gibb Desktop blah.pcap" durch den absoluten Pfad zu Ihrer Paketerfassung ersetzen. Sobald Sie die Eingabetaste drücken, werden Ihnen alle SYN-Pakete aus Ihrem Capture angezeigt und ein einfacher lesbares Tabellenformat angezeigt

Dies ist eine zufällige Paketerfassung, bei der ich eine Verbindung zur How-To-Geek-Website herstellte. Unter all den anderen Gerüchten, die Windows macht, kann ich Ihnen zwei Dinge mit Sicherheit sagen:

  • Mein lokales Netzwerk ist 192.168.0.0/24
  • Ich bin auf einer Windows 7-Box

Wenn Sie sich die erste Zeile der Tabelle ansehen, werden Sie feststellen, dass ich nicht lüge. Meine IP-Adresse ist 192.168.0.84, meine TTL ist 128 und meine TCP-Fenstergröße ist 8192. Dies entspricht den Werten für Windows 7.

Als nächstes sehe ich eine 74.125.233.24-Adresse mit einer TTL von 44 und einer TCP-Fenstergröße von 5720. Wenn ich mir meine Tabelle ansehe, gibt es kein Betriebssystem mit einer TTL von 44, jedoch heißt es, dass Linux die Server von Google sind Führen Sie eine TCP-Fenstergröße 5720 aus. Nach einer schnellen Websuche der IP-Adresse sehen Sie, dass es sich tatsächlich um einen Google-Server handelt.

Wofür verwenden Sie noch tshark.exe, sagen Sie uns in den Kommentaren.

Top-Tipps:
Kommentare: