Kombinierte OS- und Diensterkennung in Nmap

NmapNmapBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab werden wir lernen, wie wir die Betriebssystem- und Diensterkennung in Nmap kombinieren, um umfassende Informationen über einen Zielcomputer zu sammeln. Wir werden die -O- und -sV-Optionen von Nmap verwenden, um das Betriebssystem und die Dienstversionen zu identifizieren, die auf einer Ziel-IP-Adresse wie 192.168.1.1 laufen.

Das Lab umfasst Schritte zum Ausführen kombinierter Scans, zum Festlegen von Ziel-Ports, zum Hinzufügen von Ausführlichkeit, zum Speichern der Ergebnisse in einer Datei und zum Analysieren der Ausgabe im Xfce-Terminal. Wir werden auch die Ergebnisse der kombinierten Scans mit Einzelscans vergleichen, um die Vorteile dieser Methode zu verstehen. Denken Sie daran, nur Netzwerke zu scannen, die Sie besitzen oder für die Sie die Erlaubnis haben.

Führen Sie einen kombinierten Scan mit nmap -O -sV 192.168.1.1 durch

In diesem Schritt werden wir einen kombinierten Scan mit Nmap durchführen, um das Betriebssystem und die Dienstversionen zu identifizieren, die auf einem Zielcomputer laufen. Dies ist eine leistungsstarke Technik, um Informationen über ein Netzwerk und seine Geräte zu sammeln.

Nmap ist ein vielseitiges Netzwerkscanning-Tool. Die in diesem Schritt verwendeten Optionen sind:

  • -O: Aktiviert die Betriebssystemerkennung. Nmap versucht, das Betriebssystem des Zielcomputers durch Analyse seiner Netzwerkantworten zu bestimmen.
  • -sV: Aktiviert die Dienstversionserkennung. Nmap sondiert offene Ports, um den Anwendungsnamen und die Versionsnummer zu bestimmen.
  • 192.168.1.1: Dies ist die Ziel-IP-Adresse. Ersetzen Sie dies durch die tatsächliche IP-Adresse des Computers, den Sie scannen möchten. Wenn Sie keinen spezifischen Zielcomputer haben, können Sie die IP-Adresse Ihres eigenen Computers oder eine Test-IP wie scanme.nmap.org verwenden. Für dieses Lab werden wir jedoch annehmen, dass 192.168.1.1 eine gültige Ziel-IP auf Ihrem Netzwerk ist. Wenn dies nicht der Fall ist, müssen Sie eine gültige IP-Adresse substituieren.

Bevor Sie den Scan ausführen, ist es wichtig zu verstehen, dass das Scannen von Netzwerken ohne Erlaubnis illegal ist. Nur scannen Sie Netzwerke, die Sie besitzen oder für die Sie explizite Erlaubnis haben.

Lassen Sie uns nun den kombinierten Scan ausführen. Öffnen Sie Ihren Xfce-Terminal.

  1. Führen Sie den folgenden Befehl aus:
sudo nmap -O -sV 192.168.1.1

Es wird Ihnen wahrscheinlich nach Ihrem Passwort gefragt. Da der Benutzer labex sudo-Rechte ohne Passwort hat, drücken Sie einfach die Enter-Taste.

Die Ausgabe wird den Fortschritt von Nmap anzeigen, während es den Zielcomputer sondiert. Es wird versuchen, das Betriebssystem und die Versionen der auf offenen Ports laufenden Dienste zu identifizieren.

Beispielausgabe (die tatsächliche Ausgabe variiert je nach Zielcomputer):

Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for 192.168.1.1
Host is up (0.0012s latency).
Not shown: 997 closed ports
PORT    STATE SERVICE  VERSION
22/tcp  open  ssh      OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (protocol 2.0)
80/tcp  open  http     Apache httpd 2.4.29 ((Ubuntu))
443/tcp open  ssl/http Apache httpd 2.4.29 ((Ubuntu) OpenSSL 1.1.1)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

OS details: Linux 3.2 - 4.9
Network Distance: 1 hop

OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 15.23 seconds

Diese Ausgabe zeigt, dass Nmap das Ziel als einen Computer identifiziert hat, der ein Linux-Betriebssystem läuft, und die Versionen der SSH-, HTTP- und HTTPS-Dienste erkannt hat.

Scannen von bestimmten Ports mit nmap -O -sV -p 22,80 127.0.0.1

In diesem Schritt werden wir uns auf das Scannen bestimmter Ports mit Nmap konzentrieren. Dies ist nützlich, wenn Sie Ihren Scan auf die Ports einschränken möchten, auf denen am wahrscheinlichsten interessante Dienste laufen.

Die in diesem Schritt verwendeten Optionen sind:

  • -O: Aktiviert die Betriebssystemerkennung.
  • -sV: Aktiviert die Dienstversionserkennung.
  • -p 22,80: Gibt die Ports an, die gescannt werden sollen. In diesem Fall scannen wir Port 22 (SSH) und Port 80 (HTTP). Sie können einen einzelnen Port, einen Portbereich (z.B. 1-100) oder eine komma-getrennte Liste von Ports angeben.
  • 127.0.0.1: Dies ist die Loopback-Adresse, die sich auf Ihren eigenen Computer bezieht.

Das Scannen bestimmter Ports kann die Scandauer erheblich reduzieren und es einfacher machen, die auf einem Zielcomputer laufenden Dienste zu identifizieren.

Lassen Sie uns nun den Scan ausführen. Öffnen Sie Ihren Xfce-Terminal.

  1. Führen Sie den folgenden Befehl aus:
sudo nmap -O -sV -p 22,80 127.0.0.1

Es wird Ihnen wahrscheinlich nach Ihrem Passwort gefragt. Da der Benutzer labex sudo-Rechte ohne Passwort hat, drücken Sie einfach die Enter-Taste.

Die Ausgabe wird den Fortschritt von Nmap anzeigen, während es die Ports 22 und 80 auf Ihrem lokalen Computer sondiert. Es wird versuchen, das Betriebssystem und die Versionen der auf diesen Ports laufenden Dienste zu identifizieren.

Beispielausgabe (die tatsächliche Ausgabe variiert je nach Ihrer Systemkonfiguration):

Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000047s latency).

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.2p1 Ubuntu 4ubuntu0.4 (protocol 2.0)
80/tcp open  http    Apache httpd 2.4.41 ((Ubuntu))
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

OS details: Linux 3.2 - 4.9
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 5.23 seconds

Diese Ausgabe zeigt, dass Nmap OpenSSH auf Port 22 und Apache httpd auf Port 80 identifiziert hat. Die Betriebssystemerkennung liefert auch Informationen über die Linux-Kernelversion.

Fügen Sie der Nmap-Ausführlichkeit hinzu mit -v -O -sV 192.168.1.1

In diesem Schritt werden wir der Ausführlichkeit unserer Nmap-Scan hinzufügen. Die Ausführlichkeit liefert detailliertere Informationen über den Scanprozess, was für das Debugging oder das Verständnis, wie Nmap funktioniert, hilfreich sein kann.

Die in diesem Schritt verwendeten Optionen sind:

  • -v: Aktiviert die ausführliche Ausgabe. Diese Option erhöht die Menge an angezeigten Informationen während des Scans. Sie können -vv verwenden, um noch mehr Ausführlichkeit zu erhalten.
  • -O: Aktiviert die Betriebssystemerkennung.
  • -sV: Aktiviert die Dienstversionserkennung.
  • 192.168.1.1: Dies ist die Ziel-IP-Adresse. Wie im ersten Schritt ersetzen Sie dies durch die tatsächliche IP-Adresse des Computers, den Sie scannen möchten. Wenn dies nicht der Fall ist, müssen Sie eine gültige IP-Adresse substituieren.

Die ausführliche Ausgabe kann hilfreich sein, um genau zu sehen, was Nmap macht, einschließlich der Sonden, die es sendet und der Antworten, die es erhält.

Lassen Sie uns nun den Scan mit Ausführlichkeit ausführen. Öffnen Sie Ihren Xfce-Terminal.

  1. Führen Sie den folgenden Befehl aus:
sudo nmap -v -O -sV 192.168.1.1

Es wird Ihnen wahrscheinlich nach Ihrem Passwort gefragt. Da der Benutzer labex sudo-Rechte ohne Passwort hat, drücken Sie einfach die Enter-Taste.

Die Ausgabe wird detaillierter als die vorherigen Scans sein. Sie werden Informationen über die verschiedenen Phasen des Scans sehen, wie z.B. die Host-Ermittlung, der Port-Scan und die Dienstversionserkennung.

Beispielausgabe (die tatsächliche Ausgabe variiert je nach Zielcomputer und Netzwerkbedingungen):

Starting Nmap 7.80 ( https://nmap.org )
NSE: Loaded 151 scripts for scanning.
Initiating Ping Scan at 14:35
Scanning 192.168.1.1 [4 ports]
Completed Ping Scan at 14:35, 0.00s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 14:35
Completed Parallel DNS resolution of 1 host. at 14:35, 0.00s elapsed
Initiating SYN Stealth Scan at 14:35
Scanning 192.168.1.1 [1000 ports]
Discovered open port 22/tcp on 192.168.1.1
Discovered open port 80/tcp on 192.168.1.1
Discovered open port 443/tcp on 192.168.1.1
Completed SYN Stealth Scan at 14:35, 0.12s elapsed (1000 total ports)
Initiating Service scan at 14:35
Scanning 3 services on 192.168.1.1
Completed Service scan at 14:35, 6.23s elapsed (3 services total)
Initiating OS detection (try #1) against 192.168.1.1
... (mehr Ausgabe) ...
Nmap scan report for 192.168.1.1
Host is up (0.00088s latency).
Not shown: 997 closed ports
PORT    STATE SERVICE  VERSION
22/tcp  open  ssh      OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (protocol 2.0)
80/tcp  open  http     Apache httpd 2.4.29 ((Ubuntu))
443/tcp open  ssl/http Apache httpd 2.4.29 ((Ubuntu) OpenSSL 1.1.1)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

OS details: Linux 3.2 - 4.9
Network Distance: 1 hop

OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 15.23 seconds

Bemerken Sie die zusätzlichen Informationen über die Scanphasen, wie "Initiating Ping Scan" und "Initiating Service scan". Dies kann hilfreich sein, um den Scanprozess zu verstehen und potenzielle Probleme zu identifizieren.

Speichern Sie die kombinierten Ergebnisse mit nmap -O -sV -oN os_service.txt 127.0.0.1

In diesem Schritt werden wir die Ergebnisse unseres Nmap-Scans in eine Datei speichern. Dies ist nützlich für eine spätere Analyse oder zum Teilen der Ergebnisse mit anderen.

Die in diesem Schritt verwendeten Optionen sind:

  • -O: Aktiviert die Betriebssystemerkennung.
  • -sV: Aktiviert die Dienstversionserkennung.
  • -oN os_service.txt: Gibt die Ausgabedatei und das Format an. -oN gibt normale Ausgabe an, die für Menschen lesbar ist. Die Ausgabe wird in die Datei os_service.txt im aktuellen Verzeichnis (~/project) gespeichert.
  • 127.0.0.1: Dies ist die Loopback-Adresse, die sich auf Ihren eigenen Computer bezieht.

Das Speichern der Ausgabe in eine Datei ermöglicht es Ihnen, die Ergebnisse später zu überprüfen, ohne den Scan erneut ausführen zu müssen. Es erleichtert auch das Vergleichen der Ergebnisse unterschiedlicher Scans.

Lassen Sie uns nun den Scan ausführen und die Ergebnisse speichern. Öffnen Sie Ihren Xfce-Terminal.

  1. Führen Sie den folgenden Befehl aus:
sudo nmap -O -sV -oN os_service.txt 127.0.0.1

Es wird Ihnen wahrscheinlich nach Ihrem Passwort gefragt. Da der Benutzer labex sudo-Rechte ohne Passwort hat, drücken Sie einfach die Enter-Taste.

Die Ausgabe wird wie üblich auf dem Bildschirm angezeigt, aber sie wird auch in die Datei os_service.txt im Verzeichnis ~/project gespeichert.

  1. Um zu überprüfen, dass die Datei erstellt wurde und die Scanergebnisse enthält, verwenden Sie den Befehl cat:
cat os_service.txt

Dies wird den Inhalt der Datei os_service.txt im Terminal anzeigen. Sie sollten die Nmap-Scanergebnisse sehen, einschließlich der offenen Ports, Dienste und Betriebssysteminformationen.

Beispielausgabe (die tatsächliche Ausgabe variiert je nach Ihrer Systemkonfiguration):

## Nmap 7.80 scan initiated Mon Aug  8 14:42:30 2022
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000047s latency).
Not shown: 998 closed ports
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.2p1 Ubuntu 4ubuntu0.4 (protocol 2.0)
80/tcp open  http    Apache httpd 2.4.41 ((Ubuntu))
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

OS details: Linux 3.2 - 4.9
Network Distance: 0 hops

## Nmap done: 1 IP address (1 host up) scanned in 5.23 seconds

Sie können auch den Befehl ls -l verwenden, um die Dateigröße und das Änderungsdatum zu überprüfen:

ls -l os_service.txt

Dies zeigt Ihnen die Dateiberechtigungen, die Größe und die letzte Änderungszeit an.

Analysieren Sie die Betriebssystem- und Dienstausgabe im Xfce-Terminal

In diesem Schritt werden wir die Ausgabe des Nmap-Scans analysieren, den wir im vorherigen Schritt gespeichert haben (os_service.txt). Wir werden uns auf das Verständnis der Informationen konzentrieren, die Nmap über das Betriebssystem des Ziels und die laufenden Dienste liefert.

Die Datei os_service.txt enthält einen für Menschen lesbaren Bericht über die Scanergebnisse. Betrachten wir die wichtigsten Abschnitte:

  1. Offene Ports: Dieser Abschnitt listet die Ports auf, die auf dem Zielcomputer geöffnet sind. Offene Ports deuten darauf hin, dass ein Dienst auf diesem Port auf Verbindungen wartet.

  2. Dienste: Für jeden geöffneten Port versucht Nmap, den laufenden Dienst zu identifizieren. Diese Informationen werden in der Spalte "SERVICE" angezeigt.

  3. Versionen: Nmap versucht auch, die Version des Diensts zu bestimmen. Diese Informationen werden in der Spalte "VERSION" angezeigt. Das Wissen um die Dienstversion ist entscheidend für die Identifizierung potenzieller Schwachstellen.

  4. Betriebssystemdetails: Nmap versucht, das Betriebssystem zu identifizieren, das auf dem Zielcomputer läuft. Diese Informationen werden im Abschnitt "OS details" angezeigt.

Lassen Sie uns nun die Ausgabe im Xfce-Terminal analysieren.

  1. Öffnen Sie die Datei os_service.txt mit dem Befehl cat:
cat os_service.txt

Untersuchen Sie die Ausgabe. Sie sollten etwas ähnliches wie Folgendes sehen (die tatsächliche Ausgabe variiert je nach Ihrer Systemkonfiguration):

## Nmap 7.80 scan initiated Mon Aug  8 14:42:30 2022
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000047s latency).
Not shown: 998 closed ports
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.2p1 Ubuntu 4ubuntu0.4 (protocol 2.0)
80/tcp open  http    Apache httpd 2.4.41 ((Ubuntu))
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

OS details: Linux 3.2 - 4.9
Network Distance: 0 hops

## Nmap done: 1 IP address (1 host up) scanned in 5.23 seconds
  1. Ausgabenanalyse:
    • Port 22/tcp: Dieser Port ist geöffnet und der SSH-Dienst (OpenSSH 8.2p1 Ubuntu 4ubuntu0.4) läuft darauf. SSH wird zur sicheren Fernzugang zum Computer verwendet.
    • Port 80/tcp: Dieser Port ist geöffnet und der HTTP-Dienst (Apache httpd 2.4.41 ((Ubuntu))) läuft darauf. HTTP wird zum Bereitstellen von Webseiten verwendet.
    • Betriebssystemdetails: Nmap hat das Betriebssystem als Linux (Linux 3.2 - 4.9) identifiziert.

Durch die Analyse dieser Ausgabe können Sie wertvolle Einblicke in die Konfiguration des Zielcomputers und potenzielle Schwachstellen erhalten. Beispielsweise ermöglicht das Wissen um die Dienstversionen das Suchen nach bekannten Schwachstellen, die mit diesen Versionen assoziiert sind.

In diesem Schritt wird gezeigt, wie man die Ausgabe eines Nmap-Scans interpretiert, um offene Ports, laufende Dienste und das Betriebssystem zu identifizieren. Diese Informationen sind für Sicherheitsbewertungen und Penetrationstests unerlässlich.

Vergleichen Sie mit einzelnen Scans im Xfce-Terminal

In diesem Schritt werden wir die Ergebnisse des kombinierten Scans (os_service.txt) mit den Ergebnissen vergleichen, die Sie bei der Durchführung einzelner Scans für die Betriebssystemerkennung und die Dienstversionserkennung erhalten würden. Dies wird Ihnen helfen, die Vorteile von kombinierten Scans zu verstehen und wie sie Zeit sparen können.

Um dies effektiv zu tun, simulieren wir einzelne Scans, indem wir grep verwenden, um die relevanten Informationen aus der Datei os_service.txt zu extrahieren. Dadurch entfällt die Notwendigkeit, die Scans erneut auszuführen, was Zeit und Ressourcen spart.

  1. Simulieren Sie einen Betriebssystemerkennungsscan:

Wir können einen Betriebssystemerkennungsscan simulieren, indem wir den Abschnitt "OS details" in der Datei os_service.txt suchen.

Führen Sie folgenden Befehl aus:

grep "OS details" os_service.txt

Dies wird die Zeile mit den Betriebssystemdetails anzeigen, ähnlich wie:

OS details: Linux 3.2 - 4.9
  1. Simulieren Sie einen Dienstversionserkennungsscan:

Wir können einen Dienstversionserkennungsscan simulieren, indem wir Zeilen suchen, die Dienst- und Versionsinformationen enthalten.

Führen Sie folgenden Befehl aus:

grep -E "[0-9]+/tcp open" os_service.txt

Dieser Befehl verwendet grep -E, um erweiterte reguläre Ausdrücke zu aktivieren. Das Muster [0-9]+/tcp open sucht nach Zeilen, die mit einer Zahl (repräsentierend die Portnummer) beginnen, gefolgt von "/tcp open". Dies extrahiert die Zeilen mit Dienst- und Versionsinformationen, ähnlich wie:

22/tcp open  ssh     OpenSSH 8.2p1 Ubuntu 4ubuntu0.4 (protocol 2.0)
80/tcp open  http    Apache httpd 2.4.41 ((Ubuntu))
  1. Vergleichen Sie die Ergebnisse:

Vergleichen Sie nun die Ausgabe der grep-Befehle mit der vollständigen Ausgabe in os_service.txt. Sie werden feststellen, dass der kombinierte Scan alle gleichen Informationen in einem einzelnen Scan liefert.

Der kombinierte Scan (nmap -O -sV) ist effizienter, da er sowohl die Betriebssystemerkennung als auch die Dienstversionserkennung in einem Durchlauf durchführt. Dies reduziert die gesamte Scanzeit und den Netzwerkverkehr.

Zusammenfassend zeigt dieser Schritt, wie man die Ergebnisse eines kombinierten Nmap-Scans mit den Ergebnissen vergleicht, die man bei der Durchführung einzelner Scans erhält. Indem Sie kombinierte Scans verwenden, können Sie Zeit und Ressourcen sparen, während Sie dennoch umfassende Informationen über das Ziel erhalten.

Zusammenfassung

In diesem Lab haben wir die kombinierte Betriebssystem- und Dienstversionserkennung mit Nmap durchgeführt. Der wichtigste Schlussfolgerungspunkt ist das Zusammenführen der Flags -O und -sV, um sowohl das Betriebssystem als auch die Versionen der auf einem Zielcomputer laufenden Dienste zu identifizieren. Dies bietet ein umfassendereres Verständnis der Zielkonfiguration.

Wir haben auch gelernt, wie man Ziel-IP-Adressen angibt, die Ausführlichkeit mit dem Flag -v erhöht und die Scanergebnisse mit der Option -oN in eine Datei speichert. Darüber hinaus haben wir die Analyse der Ausgabe im Xfce-Terminal praktiziert und die Ergebnisse mit einzelnen Scans verglichen, um die Effektivität des kombinierten Scans zu verstehen.