Umfassende Scans mit Nmap durchführen

NmapNmapBeginner
Jetzt üben

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

Einführung

In diesem Labyrinth lernst du, wie du mit Nmap umfassende Scans durchführen kannst. Dabei konzentriert sich das Labyrinth auf die Kombination unterschiedlicher Scan-Typen, um detaillierte Informationen über ein Ziel zu sammeln.

Du wirst vollständige Scans mit Optionen wie -sS (TCP SYN-Scan), -sU (UDP-Scan), -O (Betriebssystem-Erkennung) und -sV (Service-Version-Erkennung) ausführen. Außerdem erkundest du das Hinzufügen von Skripten mit -sC, die Anpassung der Zeitauswahl mit -T3, die Erhöhung der Ausführlichkeit mit -v und das Speichern der Scanergebnisse in einer Datei mit -oN. Schließlich analysierst du die umfassenden Ausgaben, die durch diese Scans im Xfce-Terminal erzeugt werden.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL nmap(("Nmap")) -.-> nmap/NmapGroup(["Nmap"]) nmap/NmapGroup -.-> nmap/save_output("Save Output to File") nmap/NmapGroup -.-> nmap/port_scanning("Port Scanning Methods") nmap/NmapGroup -.-> nmap/timing_performance("Timing and Performance") nmap/NmapGroup -.-> nmap/verbosity("Verbosity Levels") nmap/NmapGroup -.-> nmap/syn_scan("SYN Scan") nmap/NmapGroup -.-> nmap/udp_scanning("UDP Scanning Techniques") nmap/NmapGroup -.-> nmap/os_version_detection("OS and Version Detection") nmap/NmapGroup -.-> nmap/service_detection("Service Detection") nmap/NmapGroup -.-> nmap/script_management("Script Categories and Updating") subgraph Lab Skills nmap/save_output -.-> lab-547104{{"Umfassende Scans mit Nmap durchführen"}} nmap/port_scanning -.-> lab-547104{{"Umfassende Scans mit Nmap durchführen"}} nmap/timing_performance -.-> lab-547104{{"Umfassende Scans mit Nmap durchführen"}} nmap/verbosity -.-> lab-547104{{"Umfassende Scans mit Nmap durchführen"}} nmap/syn_scan -.-> lab-547104{{"Umfassende Scans mit Nmap durchführen"}} nmap/udp_scanning -.-> lab-547104{{"Umfassende Scans mit Nmap durchführen"}} nmap/os_version_detection -.-> lab-547104{{"Umfassende Scans mit Nmap durchführen"}} nmap/service_detection -.-> lab-547104{{"Umfassende Scans mit Nmap durchführen"}} nmap/script_management -.-> lab-547104{{"Umfassende Scans mit Nmap durchführen"}} end

Führe einen vollständigen Scan mit nmap -sS -sU -O -sV 192.168.1.1 durch

In diesem Schritt werden wir einen vollständigen Scan einer Ziel-IP-Adresse mit Nmap durchführen. Ein vollständiger Scan kombiniert mehrere Scan-Typen, um umfassende Informationen über das Ziel zu sammeln. Dies umfasst den TCP SYN-Scan (-sS), den UDP-Scan (-sU), die Betriebssystem-Erkennung (-O) und die Service-Version-Erkennung (-sV).

Bevor wir beginnen, erklären wir kurz jede dieser Nmap-Optionen:

  • -sS: TCP SYN-Scan (auch als Stealth-Scan oder Halböffener Scan bekannt). Es ist ein schneller und versteckter Scan, der die TCP-Verbindung nicht abschließt.
  • -sU: UDP-Scan. Es sendet UDP-Pakete an das Ziel und lauscht auf Antworten, um zu bestimmen, welche UDP-Ports geöffnet sind.
  • -O: Betriebssystem-Erkennung. Es versucht, das Betriebssystem des Zielhosts durch Analyse seiner TCP/IP-Stack-Fingerabdrücke zu identifizieren.
  • -sV: Service-Version-Erkennung. Es bestimmt die Version der Software, die auf den geöffneten Ports läuft.

Lassen Sie uns nun den vollständigen Scanbefehl ausführen. Wir werden die IP-Adresse 192.168.1.1 scannen. Stellen Sie sicher, dass die Ziel-IP-Adresse von Ihrer LabEx-VM aus erreichbar ist. Wenn Sie kein bestimmtes Ziel im Sinn haben, können Sie Ihre eigene IP-Adresse oder eine Test-IP-Adresse innerhalb Ihres lokalen Netzwerks verwenden.

Öffnen Sie Ihren Xfce-Terminal und navigieren Sie zum Verzeichnis ~/project. Anschließend führen Sie den folgenden Befehl aus:

nmap -sS -sU -O -sV 192.168.1.1

Dieser Befehl wird einen vollständigen Scan der Ziel-IP-Adresse 192.168.1.1 starten. Nmap wird einen TCP SYN-Scan, einen UDP-Scan, eine Betriebssystem-Erkennung und eine Service-Version-Erkennung durchführen.

Die Ausgabe wird die geöffneten Ports, die auf diesen Ports laufenden Dienste, das Betriebssystem des Ziels und andere relevante Informationen anzeigen.

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

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:00 UTC
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.6p0 Ubuntu 7ubuntu2 (protocol 2.0)
80/tcp   open  http    Apache httpd 2.4.29 ((Ubuntu))
139/tcp  open  netbios-ssn Samba netbios-ssn (workgroup: WORKGROUP)
445/tcp  open  microsoft-ds Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
5353/udp open  mdns    Avahi mDNS/DNS-SD

OS details: Linux 3.2 - 4.9
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

TRACEROUTE
HOP RTT     ADDRESS
1   1.20 ms 192.168.1.1

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

Diese Ausgabe zeigt die geöffneten Ports (z.B. 22, 80, 139, 445), die auf diesen Ports laufenden Dienste (z.B. ssh, http, netbios-ssn, microsoft-ds) und das Betriebssystem des Ziels (Linux). Das Ergebnis des UDP-Scans zeigt, dass der Port 5353 geöffnet ist.

Füge Skripte hinzu mit nmap -sS -sU -sC -p 22,80 127.0.0.1

In diesem Schritt werden wir unseren Nmap-Scan durch die Einbindung von Nmap-Skripten verbessern. Nmap-Skripte sind leistungsstarke Werkzeuge, die verschiedene Aufgaben automatisieren können, wie die Schwachstellenerkennung, die Dienstenumeration und vieles mehr. Die Option -sC告诉 Nmap, die Standardmenge an Skripten zu verwenden. Wir werden auch die Ports angeben, die mit der Option -p gescannt werden sollen.

Bevor wir fortfahren, klären wir die Zwecke der Optionen -sC und -p auf:

  • -sC: Diese Option 告诉 Nmap, die Standardmenge an Skripten gegen das Ziel auszuführen. Diese Skripte sind dazu gedacht, grundlegende Informationen über die auf dem Ziel laufenden Dienste bereitzustellen.
  • -p: Mit dieser Option können Sie die Ports angeben, die Sie scannen möchten. In unserem Fall geben wir die Ports 22 und 80 an.

Lassen Sie uns nun den Befehl ausführen. Wir werden 127.0.0.1 (localhost) auf den Ports 22 und 80 scannen und dabei die Standardskripte verwenden.

Öffnen Sie Ihren Xfce-Terminal und navigieren Sie zum Verzeichnis ~/project. Anschließend führen Sie den folgenden Befehl aus:

nmap -sS -sU -sC -p 22,80 127.0.0.1

Dieser Befehl wird einen SYN-Scan (-sS) und einen UDP-Scan (-sU) auf den Ports 22 und 80 des localhosts (127.0.0.1) durchführen und auch die Standardskripte (-sC) gegen diese Ports ausführen.

Die Ausgabe wird die geöffneten Ports, die auf diesen Ports laufenden Dienste und die Ergebnisse der ausgeführten Skripte anzeigen.

Beispielausgabe (die tatsächliche Ausgabe variiert je nach auf Ihrem localhost laufenden Diensten):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:05 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000039s latency).

PORT   STATE SERVICE
22/tcp open  ssh
| ssh-hostkey:
|   2048 SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (RSA)
|_  256 SHA256:yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy (ECDSA)
80/tcp closed http

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

In diesem Beispiel ist der Port 22 (SSH) geöffnet, und das ssh-hostkey-Skript hat Informationen über den SSH-Hostschlüssel bereitgestellt. Der Port 80 (HTTP) ist geschlossen. Der UDP-Scan hat keine geöffneten Ports aufgedeckt.

Stelle die Zeitangabe ein mit nmap -sS -sU -T3 192.168.1.1

In diesem Schritt werden wir lernen, wie man die Zeitangabe von Nmap-Scans mit der Option -T einstellt. Die Option -T steuert die Aggressivität des Scans, was die Geschwindigkeit und Genauigkeit der Ergebnisse beeinflusst. Ein höherer Zeitangabetemplate kann die Scans beschleunigen, erhöht jedoch auch die Wahrscheinlichkeit, entdeckt zu werden oder einige Ergebnisse zu übersehen.

Die Option -T akzeptiert Werte von 0 bis 5, wobei jeder Wert ein unterschiedliches Zeitangabetemplate darstellt:

  • -T0: Paranoid (sehr langsam, für Intrusion Detection Systeme verwendet)
  • -T1: Vorsichtig (langsam, vermeidet Entdeckung)
  • -T2: Höflich (verlangsamt den Scan, um das Ziel nicht zu überlasten)
  • -T3: Normal (Standard, ausgeglichene Geschwindigkeit und Genauigkeit)
  • -T4: Aggressiv (schnell, erhöht das Risiko der Entdeckung oder ungenauer Ergebnisse)
  • -T5: Wahnsinnig (sehr schnell, hohes Risiko der Entdeckung und ungenauer Ergebnisse)

In diesem Schritt werden wir die Option -T3 verwenden, die das "Normal"-Zeitangabetemplate darstellt. Dies ist die Standardeinstellung, aber wir werden es explizit angeben, zum Zwecke der Demonstration. Wir werden auch einen SYN-Scan (-sS) und einen UDP-Scan (-sU) auf die Ziel-IP-Adresse 192.168.1.1 ausführen.

Öffnen Sie Ihren Xfce-Terminal und navigieren Sie zum Verzeichnis ~/project. Anschließend führen Sie den folgenden Befehl aus:

nmap -sS -sU -T3 192.168.1.1

Dieser Befehl wird einen SYN-Scan und einen UDP-Scan auf die Ziel-IP-Adresse 192.168.1.1 mit dem "Normal"-Zeitangabetemplate ausführen.

Die Ausgabe wird die geöffneten Ports und die auf diesen Ports laufenden Dienste anzeigen, ähnlich wie bei den vorherigen Scans. Der Hauptunterschied besteht darin, dass der Scan mit den Standardzeitangabe-Einstellungen durchgeführt wird.

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

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:10 UTC
Nmap scan report for 192.168.1.1
Host is up (0.0012s latency).
Not shown: 997 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh     OpenSSH 7.6p0 Ubuntu 7ubuntu2 (protocol 2.0)
80/tcp   open  http    Apache httpd 2.4.29 ((Ubuntu))
139/tcp  open  netbios-ssn Samba netbios-ssn (workgroup: WORKGROUP)
445/tcp  open  microsoft-ds Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
5353/udp open  mdns    Avahi mDNS/DNS-SD

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

Diese Ausgabe ähnelt der Ausgabe aus dem ersten Schritt, zeigt jedoch, wie man das Zeitangabetemplate explizit mit der Option -T einstellt.

Füge Ausführlichkeit hinzu mit nmap -v -sS -sU -O 127.0.0.1

In diesem Schritt werden wir der Ausführlichkeit unseres Nmap-Scans mit der Option -v hinzufügen. Die Ausführlichkeit erhöht die Menge an Informationen, die während des Scans angezeigt werden, und liefert detailliertere Informationen über den Prozess und die Ergebnisse. Dies kann bei der Fehlerbehebung hilfreich sein oder dazu beitragen, einen tieferen Einblick in das zu erhalten, was Nmap macht.

Die Option -v erhöht das Ausführlichkeitslevel. Sie können sie mehrmals verwenden (z.B. -vv), um die Ausführlichkeit weiter zu erhöhen.

In diesem Schritt werden wir einen SYN-Scan (-sS), einen UDP-Scan (-sU) und eine Betriebssystemerkennung (-O) auf die Ziel-IP-Adresse 127.0.0.1 (localhost) durchführen und die Ausführlichkeit mit der Option -v hinzufügen.

Öffnen Sie Ihren Xfce-Terminal und navigieren Sie zum Verzeichnis ~/project. Anschließend führen Sie den folgenden Befehl aus:

nmap -v -sS -sU -O 127.0.0.1

Dieser Befehl wird die angegebenen Scans mit erhöhter Ausführlichkeit durchführen. Sie werden detailliertere Ausgaben über den Scanprozess sehen, einschließlich der gesendeten Proben, der empfangenen Antworten und der Betriebssystemerkennungsversuche.

Beispielausgabe (die tatsächliche Ausgabe variiert je nach Ziel und den auf ihm laufenden Diensten):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:15 UTC
NSE: Loaded 0 scripts for scanning.
Initiating SYN Stealth Scan
Scanning localhost (127.0.0.1) [1000 ports]
Discovered open port 22/tcp on 127.0.0.1
Completed SYN Stealth Scan
Initiating UDP Scan
Scanning localhost (127.0.0.1) [1000 ports]
Completed UDP Scan
Initiating OS detection.
Scanning localhost (127.0.0.1)
Completed OS detection.
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000039s latency).
Not shown: 998 closed ports
PORT   STATE SERVICE
22/tcp open  ssh
5353/udp open  mdns

Device type: General purpose
Running: Linux 5.X
OS CPE: cpe:/o:linux:linux_kernel:5
OS details: Linux 5.0 - 5.15

Read data files from: /usr/bin/../share/nmap
OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 15.24 seconds

Bemerken Sie die zusätzlichen Informationen über den Scanprozess, wie "Initiating SYN Stealth Scan", "Completed UDP Scan" und "Initiating OS detection." Dies ist das Ergebnis der erhöhten Ausführlichkeit.

Speichere den vollständigen Scan mit nmap -sS -sU -sV -oN full.txt 192.168.1.1

In diesem Schritt werden wir lernen, wie man die Ausgabe eines Nmap-Scans in eine Datei mit der Option -oN speichert. Dies ist nützlich für eine spätere Analyse oder zur Dokumentation der Ergebnisse eines Scans.

Die Option -oN gibt an, dass die Ausgabe im "normalen" Format in die angegebene Datei gespeichert werden soll. Das "normale" Format ist ein für Menschen lesbares Format, das leicht zu analysieren ist.

In diesem Schritt werden wir einen SYN-Scan (-sS), einen UDP-Scan (-sU) und eine Dienstversionenerkennung (-sV) auf die Ziel-IP-Adresse 192.168.1.1 durchführen und die Ausgabe in eine Datei namens full.txt im Verzeichnis ~/project speichern.

Öffnen Sie Ihren Xfce-Terminal und navigieren Sie zum Verzeichnis ~/project. Anschließend führen Sie den folgenden Befehl aus:

nmap -sS -sU -sV -oN full.txt 192.168.1.1

Dieser Befehl wird die angegebenen Scans durchführen und die Ausgabe in die Datei full.txt speichern.

Nach Abschluss des Scans können Sie den Inhalt der Datei full.txt mit dem Befehl cat oder einem Texteditor wie nano anzeigen.

cat full.txt

oder

nano full.txt

Die Datei full.txt wird die Ausgabe des Nmap-Scans in einem für Menschen lesbaren Format enthalten.

Beispielinhalt von full.txt (der tatsächliche Inhalt variiert je nach Ziel):

## Nmap 7.80 scan initiated Fri Oct 27 10:20:00 2023
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.6p0 Ubuntu 7ubuntu2 (protocol 2.0)
80/tcp   open  http    Apache httpd 2.4.29 ((Ubuntu))
139/tcp  open  netbios-ssn Samba netbios-ssn (workgroup: WORKGROUP)
445/tcp  open  microsoft-ds Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
5353/udp open  mdns    Avahi mDNS/DNS-SD
Service Info: Host: MYSERVER; OS: Linux; CPE: cpe:/o:linux:linux_kernel

## Nmap done at Fri Oct 27 10:20:10 2023 -- 1 IP address (1 host up) scanned in 10.24 seconds

Diese Ausgabe ähnelt der Ausgabe, die im Terminal angezeigt wird, ist aber jetzt in einer Datei gespeichert für spätere Verwendung.

Analysiere die umfassende Ausgabe im Xfce-Terminal

In diesem Schritt werden wir die umfassende Ausgabe analysieren, die von den in den vorherigen Schritten durchgeführten Nmap-Scans generiert wurde. Das Verständnis der Ausgabe ist entscheidend für die Identifizierung potenzieller Schwachstellen und die Erfassung von Informationen über das Zielsystem. Wir werden uns auf die Interpretation der wichtigsten Elemente der Nmap-Ausgabe im Xfce-Terminal konzentrieren.

Zunächst betrachten wir die verschiedenen Arten von Scans, die wir durchgeführt haben und die Informationen, die sie liefern:

  • SYN-Scan (-sS): Dies ist ein versteckter Scan, der schnell offene Ports identifiziert, ohne die TCP-Handschlagung abzuschließen. Er eignet sich zur schnellen Kartierung der offenen Ports auf einem Ziel.
  • UDP-Scan (-sU): Dieser Scan identifiziert offene UDP-Ports. UDP ist ein verbindungsloses Protokoll, sodass dieser Scan weniger zuverlässig und langsamer als ein TCP-Scan sein kann.
  • Betriebssystemerkennung (-O): Dies versucht, das Betriebssystem zu bestimmen, das auf dem Ziel läuft.
  • Dienstversionenerkennung (-sV): Dies versucht, die Version der auf offenen Ports laufenden Dienste zu bestimmen.
  • Skriptscan (-sC): Dies führt eine Reihe von Nmap-Skripts aus, um Schwachstellen zu identifizieren und weitere Informationen über das Ziel zu sammeln.

Nun analysieren wir die Ausgabe. Sie können sich entweder auf die in dem vorherigen Schritt erstellte Datei full.txt beziehen oder einen Scan erneut ausführen und die Ausgabe direkt im Terminal beobachten. Beispielsweise können Sie den Inhalt von full.txt mit dem Befehl cat anzeigen:

cat ~/project/full.txt

Oder Sie können den vollständigen Scanbefehl aus Schritt 1 erneut ausführen:

nmap -sS -sU -O -sV 192.168.1.1

Wichtige Elemente, die Sie in der Ausgabe suchen sollten:

  • Offene Ports: Nmap wird die offenen Ports auf dem Zielsystem auflisten. Dies ist der erste Schritt bei der Identifizierung möglicherweise laufender Dienste.
  • Dienstinformationen: Nmap wird versuchen, den auf jedem offenen Port laufenden Dienst zu identifizieren. Diese Informationen können verwendet werden, um bekannte Schwachstellen in diesen Diensten zu identifizieren.
  • Betriebssystem: Nmap wird versuchen, das Betriebssystem zu bestimmen, das auf dem Ziel läuft. Diese Informationen können verwendet werden, um Betriebssystem-spezifische Schwachstellen zu identifizieren.
  • Scandauer: Die Ausgabe zeigt die Latenz, die die Zeit angibt, die Nmap benötigt, um mit dem Ziel zu kommunizieren. Eine höhere Latenz kann auf Netzwerküberlastung oder eine langsame Verbindung hinweisen.

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

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:25 UTC
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.6p0 Ubuntu 7ubuntu2 (protocol 2.0)
80/tcp   open  http    Apache httpd 2.4.29 ((Ubuntu))
139/tcp  open  netbios-ssn Samba netbios-ssn (workgroup: WORKGROUP)
445/tcp  open  microsoft-ds Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
5353/udp open  mdns    Avahi mDNS/DNS-SD
Service Info: Host: MYSERVER; OS: Linux; CPE: cpe:/o:linux:linux_kernel

OS CPE: cpe:/o:linux:linux_kernel
Aggressive OS guesses: Linux 3.10 - 4.11 (95%), Linux 3.16 (95%), Linux 4.4 (95%), Linux 4.6 - 4.7 (95%), Linux 4.8 (95%), Linux 4.9 (95%), Linux 4.12 (95%), Linux 4.13 (95%), Linux 4.14 (95%), Linux 4.15 (95%)
No exact OS matches for host.

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

In dieser Beispielausgabe:

  • Port 22 ist offen und läuft OpenSSH 7.6p0.
  • Port 80 ist offen und läuft Apache httpd 2.4.29.
  • Die Ports 139 und 445 sind offen und laufen Samba.
  • Port 5353 ist offen und läuft Avahi mDNS/DNS-SD.
  • Nmap hat aggressiv geschätzt, dass es sich um einen Linux-Kernel zwischen den Versionen 3.10 und 4.15 handelt.

Durch sorgfältige Analyse der Nmap-Ausgabe können Sie wertvolle Erkenntnisse über die Sicherheitslage des Zielsystems gewinnen.

Zusammenfassung

In diesem Lab haben wir umfassende Scans in Nmap durchgeführt, indem wir den TCP SYN-Scan (-sS), UDP-Scan (-sU), die Betriebssystemerkennung (-O) und die Dienstversionenerkennung (-sV) kombiniert haben, um umfangreiche Informationen über eine Ziel-IP-Adresse zu sammeln. Wir haben gelernt, wie man einen vollständigen Scan mit dem Befehl nmap -sS -sU -O -sV 192.168.1.1 ausführt und die Ausgabe interpretiert, die offene Ports, laufende Dienste und das Betriebssystem des Ziels umfasst.

Des Weiteren wurde in diesem Lab das Hinzufügen von Skripten mit -sC, die Einstellung der Zeitangabe mit -T3, die Erhöhung der Ausführlichkeit mit -v und das Speichern der Scanergebnisse in einer Datei mit -oN behandelt. Diese Techniken verbessern die Fähigkeiten von Nmap zur detaillierten Netzwerkanalyse und -berichterstattung.