Connect with us

Wie man

OS Fingerprinting mit TTL- und TCP-Fenstergrößen

OS Fingerprinting mit TTL- und TCP-Fenstergrößen

Wussten Sie, dass Sie anhand der Art und Weise, wie es im Netzwerk kommuniziert, herausfinden können, welches Betriebssystem auf einem vernetzten Gerät läuft? Schauen wir uns an, wie wir herausfinden können, welches Betriebssystem auf unseren Geräten läuft.

Wieso würdest du das machen?

Die Bestimmung, welches Betriebssystem auf einer Maschine oder einem Gerät ausgeführt wird, kann aus vielen Gründen nützlich sein. Werfen wir zunächst einen Blick auf eine alltägliche Perspektive. Stellen Sie sich vor, Sie möchten zu einem neuen ISP wechseln, der unbegrenztes Internet für 50 US-Dollar pro Monat anbietet, damit Sie seinen Service testen können. Wenn Sie OS-Fingerabdrücke verwenden, werden Sie bald feststellen, dass sie Müll-Router haben und einen PPPoE-Dienst anbieten, der auf einer Reihe von Windows Server 2003-Computern angeboten wird. Klingt nicht mehr nach einem so guten Deal, oder?

Ein weiterer, wenn auch nicht ganz so ethischer Nutzen dafür ist die Tatsache, dass Sicherheitslücken betriebssystemspezifisch sind. Wenn Sie beispielsweise einen Port-Scan durchführen und Port 53 offen finden und auf dem Computer eine veraltete und anfällige Version von Bind ausgeführt wird, haben Sie eine EINZIGE Chance, die Sicherheitslücke auszunutzen, da ein fehlgeschlagener Versuch den Daemon zum Absturz bringen würde.

Wie funktioniert OS Fingerprinting?

Bei der passiven Analyse des aktuellen Datenverkehrs oder sogar beim Betrachten alter Paketerfassungen besteht eine der einfachsten und effektivsten Möglichkeiten für OS Fingerprinting darin, einfach die TCP-Fenstergröße und die Time To Live (TTL) im IP-Header des ersten zu betrachten Paket in einer TCP-Sitzung.

Hier sind die Werte für die gängigeren 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 darin, dass die RFCs für TCP/IP keine Standardwerte vorgeben. Ein weiterer wichtiger Punkt ist, dass der TTL-Wert nicht immer mit einem in der Tabelle übereinstimmt, selbst wenn auf Ihrem Gerät eines der aufgeführten Betriebssysteme ausgeführt wird, sehen Sie, wenn Sie ein IP-Paket über das Netzwerk senden, das Betriebssystem des sendenden Geräts setzt die TTL auf die Standard-TTL für dieses Betriebssystem, aber wenn das Paket die Router durchquert, wird die TTL um 1 gesenkt. Wenn Sie also eine TTL von 117 sehen, kann davon ausgegangen werden, dass es sich um ein Paket handelt, das mit einer TTL von 128 gesendet wurde und hat 11 Router durchlaufen, bevor er gefangen genommen wurde.

Die Verwendung von tshark.exe ist der einfachste Weg, um die Werte anzuzeigen. Wenn Sie also eine Paketerfassung haben, stellen Sie sicher, dass Wireshark installiert ist, und navigieren Sie dann zu:

C:Programme

Halten Sie nun die Umschalttaste gedrückt und klicken Sie mit der rechten Maustaste auf den Wireshark-Ordner und wählen Sie Befehlsfenster hier öffnen aus dem Kontextmenü

Geben Sie nun ein:

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

Stellen Sie sicher, dass Sie „C:UsersTaylor GibbDesktopblah.pcap“ durch den absoluten Pfad zu Ihrer Paketerfassung ersetzen. Sobald Sie die Eingabetaste gedrückt haben, werden Ihnen alle SYN-Pakete aus Ihrem Capture in einem leichter lesbaren Tabellenformat angezeigt

Dies ist eine zufällige Paketerfassung, die ich von meiner Verbindung mit der How-To-Geek-Website gemacht habe, neben all dem anderen Geschwätz, das Windows macht, kann ich Ihnen zwei Dinge mit Sicherheit sagen:

  • Mein lokales Netzwerk ist 192.168.0.0/24
  • Ich verwende eine Windows 7-Box

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

Das nächste, was ich sehe, ist eine 74.125.233.24-Adresse mit einer TTL von 44 und einer TCP Window Size von 5720. Wenn ich mir meine Tabelle ansehe, gibt es kein Betriebssystem mit einer TTL von 44, aber es sagt, dass die Linux-Server von Google sind laufen haben ein TCP Window Size 5720. Nach einer kurzen Websuche nach der IP-Adresse werden Sie sehen, dass es sich tatsächlich um einen Google-Server handelt.

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

Continue Reading
Click to comment

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Tendencia