Einführung
Willkommen zum Lab über Betriebssystem-Fingerprinting.
Betriebssystem-Fingerprinting ist eine entscheidende Aufklärungstechnik, die sowohl von Sicherheitsexperten als auch von Angreifern verwendet wird, um das auf einem entfernten Zielsystem laufende Betriebssystem zu bestimmen. Durch das Senden spezifischer, teilweise fehlerhafter TCP- und UDP-Pakete an ein Ziel und die Analyse der subtilen Unterschiede in der Reaktion des TCP/IP-Stacks (wie Time-To-Live-Werte, Fenstergrößen und Flag-Kombinationen) können Tools wie Nmap das zugrunde liegende Betriebssystem präzise erraten.
Dies ist ein Schlussfolgerungsverfahren, keine direkte Wahrheit. Nmap vergleicht das beobachtete Netzwerkverhalten mit einer Fingerabdruck-Datenbank. Das Ergebnis kann sehr nützlich sein, sollte jedoch als fundierte Schätzung betrachtet werden, die durch Firewalls, Proxys oder ungewöhnliche Stacks beeinflusst werden kann.
In diesem Lab lernen Sie, wie Sie die leistungsstarken OS-Fingerprinting-Funktionen von Nmap nutzen, um entfernte Systeme zu identifizieren und diese Techniken mit der Versionserkennung für ein umfassendes Netzwerk-Profiling zu kombinieren.
OS-Fingerprinting aktivieren
In diesem Schritt lernen wir die Grundlagen des Betriebssystem-Fingerprintings mit Nmap. Betriebssystem-Fingerprinting ist eine Technik zur Bestimmung des Betriebssystems auf einem entfernten Ziel. Nmap erreicht dies, indem es eine Reihe sorgfältig erstellter TCP- und UDP-Pakete an das Ziel sendet und die Antworten analysiert. Da verschiedene Betriebssysteme den TCP/IP-Stack leicht unterschiedlich implementieren, kann Nmap diese Antworten mit seiner umfangreichen Datenbank vergleichen, um eine Übereinstimmung zu finden.
Dies funktioniert, weil Netzwerk-Stacks von Menschen geschriebene Implementierungen sind und sich diese Implementierungen in vielen subtilen Standardeinstellungen unterscheiden. Fingerprinting macht aus diesen Unterschieden Hinweise.
Um das OS-Fingerprinting in Nmap zu aktivieren, verwenden wir das Flag -O. Es ist wichtig zu beachten, dass das Erstellen von Raw-Paketen administrative Privilegien erfordert, daher müssen wir diesen Befehl mit sudo ausführen.
Führen wir einen OS-Fingerprinting-Scan gegen unsere lokale Maschine (localhost) durch und speichern die Ausgabe in einer Datei namens os_scan.txt in unserem Projektverzeichnis.
sudo nmap -O -p 22,80 localhost > /home/labex/project/os_scan.txt
Nachdem der Scan abgeschlossen ist, können Sie die Ergebnisse mit dem Befehl cat anzeigen.
cat /home/labex/project/os_scan.txt
Sie werden eine Ausgabe sehen, die der folgenden ähnelt. Achten Sie auf die Zeilen, die mit "Device type", "Running" und "OS details" beginnen.
Starting Nmap 7.80 ( https://nmap.org ) at 2026-03-09 14:53 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000020s latency).
Other addresses for localhost (not scanned): ::1
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running: Linux 2.6.X
OS CPE: cpe:/o:linux:linux_kernel:2.6.32
OS details: Linux 2.6.32
Network Distance: 0 hops
OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 1.56 seconds
Die Ausgabe zeigt, dass auf dem Ziel ein Linux-Kernel läuft, was unserer LabEx-Umgebung entspricht.
OS-Vermutungen analysieren
In diesem Schritt untersuchen wir, wie Nmap mit Unsicherheiten beim OS-Fingerprinting umgeht. Manchmal verfügt ein Ziel über eine Firewall, die bestimmte Pakete verwirft, oder es läuft ein obskures oder stark angepasstes Betriebssystem. In diesen Fällen findet Nmap möglicherweise keine perfekte Übereinstimmung in seiner Datenbank.
Wenn Nmap das genaue Betriebssystem nicht bestimmen kann, kann es eine Liste von Vermutungen zusammen mit einem Konfidenzprozentsatz liefern. Wir können Nmap dazu zwingen, aggressiver zu raten, indem wir das Flag --osscan-guess (das auch äquivalent zu --fuzzy ist) verwenden. Dies weist Nmap an, OS-Übereinstimmungen auch dann auszugeben, wenn sie nicht nahezu perfekt sind.
Dies erinnert uns daran, dass Aufklärungsergebnisse oft Unsicherheiten enthalten. Gute Analysten dokumentieren diese Unsicherheit, anstatt so zu tun, als wäre jede Erkennung exakt.
Führen wir einen weiteren Scan gegen localhost durch, diesmal mit aktiviertem aggressivem OS-Raten, und speichern die Ergebnisse in einer Datei namens guess_scan.txt.
sudo nmap -O --osscan-guess -p 22,80 localhost > /home/labex/project/guess_scan.txt
Sehen Sie sich nun den Inhalt der neuen Datei an.
cat /home/labex/project/guess_scan.txt
Die Ausgabe sieht ähnlich aus wie im vorherigen Schritt, aber wenn das Ziel obskurer wäre, würden Sie eine kommagetrennte Liste von OS-Vermutungen mit Prozentsätzen sehen, wie z. B. Aggressive OS guesses: Linux 5.0 (96%), Linux 4.15 (95%).
Starting Nmap 7.80 ( https://nmap.org ) at 2026-03-09 14:54 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000020s latency).
...
Device type: general purpose
Running: Linux 2.6.X
OS CPE: cpe:/o:linux:linux_kernel:2.6.32
OS details: Linux 2.6.32
...
Selbst auf einem Standardsystem ist die Verwendung von --osscan-guess eine wertvolle Technik, wenn man es mit gehärteten Zielen zu tun hat, die versuchen, ihr TCP/IP-Stack-Verhalten zu verschleiern.
OS- und Versionserkennung kombinieren (-A)
In diesem Schritt kombinieren wir die OS-Erkennung mit anderen leistungsstarken Nmap-Funktionen unter Verwendung des Flags -A. Das Flag -A steht für "Aggressive scan options".
Wenn Sie das Flag -A verwenden, aktiviert Nmap automatisch mehrere erweiterte Funktionen gleichzeitig:
- OS-Erkennung (
-O) - Versionserkennung (
-sV), die offene Ports untersucht, um Dienst- und Anwendungsversionen zu bestimmen - Skript-Scan (
-sC), der einen Standardsatz von Nmap Scripting Engine (NSE) Skripten ausführt - Traceroute (
--traceroute), das den Netzwerkpfad zum Ziel bestimmt
Dieser kombinierte Ansatz bietet ein umfassendes Profil des Zielsystems und ist daher bei Sicherheitsexperten für die erste Aufklärung sehr beliebt.
Führen wir einen aggressiven Scan gegen localhost durch und speichern die Ausgabe in aggressive_scan.txt. Dieser Scan kann etwas länger dauern, da er wesentlich mehr Prüfungen durchführt.
sudo nmap -A -p 22,80 localhost > /home/labex/project/aggressive_scan.txt
Sobald der Scan abgeschlossen ist, überprüfen Sie die Ergebnisse.
cat /home/labex/project/aggressive_scan.txt
Sie werden eine wesentlich reichhaltigere Ausgabe bemerken. Neben den OS-Details sehen Sie nun die genauen Versionen der Dienste, die auf den offenen Ports laufen (wie OpenSSH und nginx), sowie zusätzliche Informationen, die von den Standardskripten gesammelt wurden.
Starting Nmap 7.80 ( https://nmap.org ) at 2026-03-09 14:54 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000019s latency).
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.9p1 Ubuntu 3ubuntu0.10 (Ubuntu Linux; protocol 2.0)
80/tcp open http nginx 1.18.0 (Ubuntu)
|_http-server-header: nginx/1.18.0 (Ubuntu)
|_http-title: Apache2 Ubuntu Default Page: It works
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running: Linux 2.6.X
OS CPE: cpe:/o:linux:linux_kernel:2.6.32
OS details: Linux 2.6.32
...
Durch die Kombination dieser Techniken können Sie mit einem einzigen Befehl eine Fülle von Informationen über ein Zielsystem sammeln.
Zusammenfassung
Herzlichen Glückwunsch! Sie haben das Lab zum Betriebssystem-Fingerprinting erfolgreich abgeschlossen.
In diesem Lab haben Sie gelernt:
- Das Flag
-Ovon Nmap zu verwenden, um durch die Analyse von TCP/IP-Stack-Antworten ein Remote-Betriebssystem-Fingerprinting durchzuführen. - Das Flag
--osscan-guessanzuwenden, um Nmap zu zwingen, probabilistische Vermutungen anzustellen, wenn das Ziel-Betriebssystem nicht perfekt übereinstimmt. - Das Flag
-Azu nutzen, um die OS-Erkennung mit Dienst-Versionserkennung, Skript-Scans und Traceroute für ein umfassendes Ziel-Profiling zu kombinieren.
Diese Fähigkeiten sind grundlegend für die Netzwerkaufklärung und Schwachstellenbewertung und ermöglichen es Sicherheitsexperten, die Umgebung, die sie analysieren, zu verstehen und ihre Sicherheitsmaßnahmen entsprechend anzupassen.



