28Aug

Hacker Geek: OS Fingerprinting mit TTL und TCP Fenstergrößen

click fraud protection

Wussten Sie, dass Sie herausfinden können, welches Betriebssystem ein Netzwerkgerät ausführt, indem Sie sich die Art und Weise anschauen, wie es im Netzwerk kommuniziert? Werfen wir einen Blick darauf, wie wir herausfinden können, auf welchem ​​Betriebssystem unsere Geräte laufen.

Warum würden Sie das tun?

Das Bestimmen des Betriebssystems einer Maschine oder eines Geräts kann aus verschiedenen Gründen nützlich sein. Sehen wir uns zunächst einmal eine alltägliche Perspektive an, stellen Sie sich vor, Sie möchten zu einem neuen Internetdienstanbieter wechseln, der unbegrenztes Internet für 50 US-Dollar pro Monat anbietet, damit Sie eine Testversion von diesem Service erwerben können. Durch die Verwendung von OS-Fingerprinting werden Sie bald feststellen, dass sie über Müllrouter verfügen und einen PPPoE-Service anbieten, der auf einer Reihe von Windows Server 2003-Computern angeboten wird. Klingt nicht mehr so ​​gut, oder?

Eine andere Verwendung, wenn auch nicht so ethisch, ist die Tatsache, dass Sicherheitslücken OS-spezifisch sind. Wenn Sie beispielsweise einen Port-Scan durchführen und Port 53 öffnen und der Computer eine veraltete und anfällige Version von Bind ausführt, haben Sie eine EINZIGE Chance, die Sicherheitslücke auszunutzen, da ein fehlgeschlagener Versuch den Daemon zum Absturz bringen würde.

instagram viewer

Wie funktioniert das OS-Fingerprinting?

Bei der passiven Analyse des aktuellen Datenverkehrs oder sogar bei der Suche nach alten Paketerfassungen ist eine der einfachsten und effektivsten Methoden, OS Fingerprinting durchzuführen, einfach die TCP - Fenstergröße und TTL( Time To Live) im IP - Header deserstes Paket in einer TCP-Sitzung.

Hier sind die Werte für die beliebtesten 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
iOS12.4( Cisco Router) 255 4128

Der Hauptgrund, dass die Betriebssysteme unterschiedliche Werte haben, liegt darin begründet, dass die RFCs für TCP / IP keine Standardwerte vorgeben. Wichtig ist auch, dass der TTL-Wert nicht immer mit einem Wert in der Tabelle übereinstimmt. Selbst wenn auf Ihrem Gerät eines der aufgeführten Betriebssysteme ausgeführt wird, sehen Sie beim Senden eines IP-Pakets über das Netzwerk das Betriebssystem des sendenden Gerätssetzt die TTL auf die Standard-TTL für dieses Betriebssystem, aber wenn das Paket Router durchquert, wird die TTL um 1 verringert. Wenn Sie daher eine TTL von 117 sehen, kann erwartet werden, dass es ein Paket mit einer TTL von 128 und isthat 11 Router durchlaufen, bevor sie erfasst wurden.

Mit tshark.exe können Sie die Werte am einfachsten sehen, sobald Sie eine Paketerfassung erhalten haben, stellen Sie sicher, dass Sie Wireshark installiert haben, und navigieren Sie zu:

C: \ Programme \

Halten Sie jetzt die Umschalttaste gedrückt und klicken Sie mit der rechten MaustasteKlicken Sie im Wireshark-Ordner auf und wählen Sie im Kontextmenü

. Geben Sie nun Folgendes ein:

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

Stellen Sie sicher, dass "C: \ Users \ Taylor Gibb \ Desktop \ blah.pcap" durch den absoluten Pfad zu Ihrer Paketerfassung ersetzt wird. Sobald Sie Enter drücken, werden Ihnen alle SYN-Pakete aus Ihrem Capture angezeigt, ein einfacher zu lesendes Tabellenformat.

Jetzt ist dies eine zufällige Paketerfassung, die ich von der Verbindung mit der How-To Geek-Website unter allen anderen Chattern von Windows gemacht habeIch kann Ihnen zwei Dinge sicher sagen:

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

Wenn Sie in der ersten Zeile der Tabelle sehen, werden Sie sehen, ich lüge nicht, meine IP-Adresse ist192.168.0.84 meine TTL ist 128 und meine TCP Window Size 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 auf meinen Tisch schaue, gibt es kein Betriebssystem mit einer TTL von 44, aber es sagt, dass das Linux, das Googles Server laufen, eine TCP-Fenstergröße 5720 haben. Nach einer schnellen Websuche der IP-Adresse werden Sie sehen, dass es istin der Tat ein Google Server.

Was sonst verwenden Sie tshark.exe für, sagen Sie uns in den Kommentaren.