Port 0 hilft beim OS-Fingerprinting

Ein neuer Scanner erkennt Betriebssysteme mit Hilfe des nie benutzten Ports 0.

In Pocket speichern vorlesen Druckansicht 6 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Daniel Bachfeld

Der TCP/UDP Port 0 gehört zu den so genannten Well Known Ports, die einst von der IANA festgelegt wurden. Dem Port ist kein spezifisches Protokoll zugeordnet, er wird nur als "reserviert" aufgeführt. Unter normalen Umständen wird man auch keiner Client-Server-Verbindung begegnen, die diesen Port verwendet, denn bei der Programmierung von Sockets steht der Port 0 als Synonym für einen vom Betriebssystem zugewiesenen dynamischen Port -- Port 0 wird als so genannte Wild Card eingesetzt. Beim Aufruf der Funktion bind() wird der Socket an einen freien, zufällig gewählten Port gebunden.

Obwohl Port 0 gültig ist, reagieren die Betriebssysteme unterschiedlich auf eingehende Verbindungsversuche. Anhand der unterschiedlichen Antworten lassen sich Rückschlüsse auf das Betriebssystem ziehen. Der Sicherheitsexperte Ste Jones von Network Penetration hat nun in sein Tool Gobbler die Möglichkeit des OS-Fingerprinting mittels Port 0 implementiert. Gobbler läuft unter Linux, derzeit werden erst wenige Betriebsysteme erkannt. Linux und Windows sind natürlich darunter, allerdings besitzen beide den gleichen Fingerprint.

nmap und xprobe sind Scanner, die ebenfalls anhand der Antworten eines Servers das Betriebssystem erkennen können. nmap analysiert dazu TCP-Flags, während xprobe spezielle ICMP-Pakete verwendet. Mitunter werden aber solche Pakete von Firewall gefiltert. Gobbler kann eine Ergänzung zu herkömmlichen Techniken sein.

Darüberhinaus ist interessant, wie eine Netzwerkinfrastruktur auf Verbindungen über Port 0 reagiert. Verwendet man statt der traditionellen Bibliotheken zum Programmieren von Sockets eigene Tools für so genannte Raw Sockets, kann man trotzdem Port 0 als ein- und ausgehenden Port verwenden. Raw Sockets ermöglichen das Definieren der Sockets an den Funktionen des Betriebssystems vorbei. Viele Konfigurationen für Firewalls, Intrusion Detection Systeme und so weiter erfassen nur den Port-Bereich von 1 bis 1024. Port 0 wäre dann für viele Sicherheitssysteme "Out of Scope", wird also nicht richtig gefiltert. (dab)