Kombinieren von TCP- und UDP-Scans in Nmap

NmapBeginner
Jetzt üben

Einführung

In diesem Labyrinth lernen Sie, wie Sie TCP- und UDP-Scans in Nmap kombinieren. Dabei geht es um das Ausführen eines kombinierten Scans auf eine Ziel-IP, das Scannen von bestimmten Ports, die Verbose-Einstellungen beim Scan hinzufügen, das Speichern der kombinierten Ergebnisse, das Vergleichen von TCP- und UDP-Ausgaben und das Analysieren der Ergebnisse im Xfce-Terminal. Sie verwenden Befehle wie nmap -sS -sU mit verschiedenen Optionen, um verschiedene Scantasks auszuführen.

Bedenken Sie, dass Sie in Echtzeit-Szenarien nur Netzwerke und Hosts mit ausdrücklicher Genehmigung scannen sollten. Für dieses Labyrinth können Sie 192.168.1.1 verwenden oder es gegebenenfalls durch die IP Ihrer LabEx-VM ersetzen.

Führe einen kombinierten Scan mit nmap -sS -sU 192.168.1.1 aus

In diesem Schritt lernen Sie, wie Sie einen kombinierten TCP SYN-(Stealth-)Scan und einen UDP-Scan mit Nmap durchführen. Dieser Art von Scan ist nützlich, um sowohl TCP- als auch UDP-Dienste auf einem Zielhost zu identifizieren.

Bevor wir beginnen, erklären wir kurz die Flags, die im Befehl verwendet werden:

  • -sS: Dieses Flag 告诉 Nmap,要执行 TCP SYN 扫描,也称为隐身扫描。它被称为“隐身”,因为它不会完成完整的 TCP 握手,因此目标记录它的可能性较小。
  • -sU: Dieses Flag 告诉 Nmap,要执行 UDP 扫描。UDP 扫描通常比 TCP 扫描慢且可靠性低,因为 UDP 是一种无连接协议。
  • 192.168.1.1: Dies ist die Ziel-IP-Adresse, die Sie scannen werden. Hinweis: In einem Echtzeit-Szenario sollten Sie nur Netzwerke und Hosts scannen, für die Sie explizite Genehmigungen haben. Für dieses Labyrinth nehmen wir an, dass 192.168.1.1 ein gültiges Ziel in Ihrer Testumgebung ist. Wenn Sie keinen Host an dieser Adresse haben, können Sie es durch die IP-Adresse Ihrer LabEx-VM ersetzen (gewöhnlich 127.0.0.1 oder localhost).

Lassen Sie uns nun den kombinierten Scan ausführen. Öffnen Sie Ihren Xfce-Terminal und geben Sie folgenden Befehl ein:

sudo nmap -sS -sU 192.168.1.1

Sie werden aufgefordert, Ihr Passwort einzugeben. Da der Benutzer labex sudo-Rechte ohne Passwort hat, drücken Sie einfach die Enter-Taste.

Die Ausgabe wird die offenen, geschlossenen oder gefilterten Ports für beide TCP- und UDP-Protokolle auf dem Zielhost anzeigen. Es kann einige Minuten dauern, bis der Scan abgeschlossen ist, insbesondere der UDP-Scan.

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

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.00020s latency).
Not shown: 998 closed tcp ports (reset)
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http

Nmap scan report for 192.168.1.1
Host is up (0.00020s latency).
Not shown: 996 closed udp ports (reset)
PORT      STATE         SERVICE
53/udp    open|filtered domain
67/udp    open|filtered dhcps
137/udp   open|filtered netbios-ns

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

In diesem Beispiel hat Nmap festgestellt, dass die TCP-Ports 22 und 80 geöffnet sind und die UDP-Ports 53, 67 und 137 geöffnet oder gefiltert sind. Der Status open|filtered bedeutet, dass Nmap aufgrund von Netzwerkbedingungen oder Firewall-Regeln nicht bestimmen konnte, ob der Port geöffnet oder gefiltert ist.

Scannen Sie bestimmte Ports mit nmap -sS -sU -p 22,53 127.0.0.1

Im vorherigen Schritt haben Sie einen kombinierten TCP- und UDP-Scan auf einem Zielhost durchgeführt. Jetzt werden Sie lernen, wie Sie mit Nmap bestimmte Ports scannen. Dies ist nützlich, wenn Sie Ihren Scan auf bestimmte Dienste oder Schwachstellen konzentrieren möchten.

Die Option -p in Nmap ermöglicht es Ihnen, die Ports anzugeben, die Sie scannen möchten. Sie können einen einzelnen Port, einen Portbereich oder eine komma-getrennte Liste von Ports angeben.

In diesem Schritt werden Sie die Ports 22 (SSH) und 53 (DNS) auf dem localhost (127.0.0.1) scannen.

Öffnen Sie Ihren Xfce-Terminal und geben Sie folgenden Befehl ein:

sudo nmap -sS -sU -p 22,53 127.0.0.1

Wieder werden Sie aufgefordert, Ihr Passwort einzugeben. Da der Benutzer labex sudo-Rechte ohne Passwort hat, drücken Sie einfach die Enter-Taste.

Dieser Befehl 告诉 Nmap,要在 localhost 的端口 22 和 53 上执行 TCP SYN 扫描和 UDP 扫描。

Beispielausgabe (die tatsächliche Ausgabe kann variieren):

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.000027s latency).

PORT   STATE SERVICE
22/tcp open  ssh

Nmap scan report for localhost (127.0.0.1)
Host is up (0.000027s latency).

PORT   STATE         SERVICE
53/udp open|filtered domain

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

In diesem Beispiel hat Nmap festgestellt, dass der TCP-Port 22 (SSH) geöffnet ist und der UDP-Port 53 (DNS) geöffnet oder gefiltert ist. Der Status open|filtered bedeutet, dass Nmap aufgrund von Netzwerkbedingungen oder Firewall-Regeln nicht bestimmen konnte, ob der Port geöffnet oder gefiltert ist. Da wir den localhost scannen, ist es wahrscheinlich, dass der Dienst läuft, aber eine Firewall könnte den Scan stören.

Indem Sie die zu scannenden Ports angeben, können Sie die Scandauer erheblich reduzieren und sich auf die Dienste konzentrieren, an denen Sie interessiert sind.

Füge die Ausführlichkeit mit nmap -v -sS -sU 192.168.1.1 hinzu

In diesem Schritt werden Sie lernen, wie Sie die Ausführlichkeit von Nmap-Scans erhöhen. Die Ausführlichkeit liefert detailliertere Informationen über den Scanprozess, was für das Problembehandlung oder das Verständnis des Verhaltens von Nmap hilfreich sein kann.

Die Option -v in Nmap erhöht das Ausführlichkeitsniveau. Sie können sie mehrmals verwenden (z.B. -vv), um noch detailliertere Ausgabe zu erhalten.

Fügen Sie der kombinierten TCP SYN- und UDP-Scan hinzu, den Sie im ersten Schritt durchgeführt haben. Öffnen Sie Ihren Xfce-Terminal und geben Sie folgenden Befehl ein:

sudo nmap -v -sS -sU 192.168.1.1

Sie werden aufgefordert, Ihr Passwort einzugeben. Da der Benutzer labex sudo-Rechte ohne Passwort hat, drücken Sie einfach die Enter-Taste.

Dieser Befehl wird denselben kombinierten Scan wie zuvor ausführen, jedoch mit erhöhter Ausführlichkeit.

Beispielausgabe (die tatsächliche Ausgabe variiert je nach Zielhost und Ausführlichkeitsniveau):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:10 UTC
NSE: Loaded 0 scripts for scanning.
Initiating SYN Stealth Scan at 10:10
Scanning 192.168.1.1 [1000 ports]
Completed SYN Stealth Scan at 10:10, 0.00s elapsed (1000 total ports)
Initiating UDP Scan at 10:10
Scanning 192.168.1.1 [1000 ports]
Completed UDP Scan at 10:10, 5.00s elapsed (1000 total ports)
Nmap scan report for 192.168.1.1
Host is up (0.00020s latency).
Not shown: 998 closed tcp ports (reset)
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http

Nmap scan report for 192.168.1.1
Host is up (0.00020s latency).
Not shown: 996 closed udp ports (reset)
PORT      STATE         SERVICE
53/udp    open|filtered domain
67/udp    open|filtered dhcps
137/udp   open|filtered netbios-ns

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

Bemerken Sie, dass die Ausgabe jetzt Informationen über den Scanstart, die Anzahl der zu scannenden Ports und die vergangene Zeit für jede Scanphase enthält. Dies kann hilfreich sein, um den Fortschritt des Scans zu überwachen und potenzielle Probleme zu identifizieren.

Speichere die kombinierten Ergebnisse mit nmap -sS -sU -oN tcpudp.txt 127.0.0.1

In diesem Schritt werden Sie lernen, wie Sie Nmap-Scanergebnisse in eine Datei speichern. Dies ist nützlich für spätere Analysen, Berichte oder Vergleiche mit früheren Scans.

Nmap bietet mehrere Optionen zum Speichern von Scanergebnissen in verschiedenen Formaten. Die Option -oN speichert die Ergebnisse im "normalen", menschenlesbaren Format.

In diesem Schritt werden Sie die Ergebnisse eines kombinierten TCP SYN- und UDP-Scans des localhosts (127.0.0.1) in eine Datei namens tcpudp.txt im Verzeichnis ~/project speichern.

Öffnen Sie Ihren Xfce-Terminal und geben Sie folgenden Befehl ein:

sudo nmap -sS -sU -oN tcpudp.txt 127.0.0.1

Sie werden aufgefordert, Ihr Passwort einzugeben. Da der Benutzer labex sudo-Rechte ohne Passwort hat, drücken Sie einfach die Enter-Taste.

Dieser Befehl wird den kombinierten Scan ausführen und die Ergebnisse in die Datei tcpudp.txt speichern.

Nach Abschluss des Scans können Sie den Inhalt der Datei mit dem Befehl cat anzeigen:

cat tcpudp.txt

Beispielausgabe (die tatsächliche Ausgabe kann variieren):

## Nmap 7.80 scan initiated Fri Oct 27 10:15:00 2023 as: nmap -sS -sU -oN tcpudp.txt 127.0.0.1
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000027s latency).
PORT   STATE SERVICE
22/tcp open  ssh

Nmap scan report for localhost (127.0.0.1)
Host is up (0.000027s latency).

PORT   STATE         SERVICE
53/udp open|filtered domain

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

Die Ausgabe zeigt die Scanergebnisse im menschenlesbaren Format an, einschließlich der geöffneten Ports und ihrer zugeordneten Dienste. Die Datei enthält auch Informationen über die Nmap-Version, die Scanstartzeit und die Scandauer.

Sie können jetzt diese Datei für weitere Analysen oder Berichte verwenden.

Vergleiche die TCP- und UDP-Ausgaben im Xfce-Terminal

In diesem Schritt werden Sie die Ergebnisse von TCP- und UDP-Scans vergleichen, um die Unterschiede zwischen den auf jedem Protokoll ausgeführten Diensten zu verstehen. Sie werden den Befehl grep verwenden, um die Ausgabe aus der Datei tcpudp.txt, die im vorherigen Schritt erstellt wurde, zu filtern und die Unterschiede zu beobachten.

Zunächst zeigen wir den Inhalt der Datei tcpudp.txt mit dem Befehl cat an:

cat tcpudp.txt

Sie sollten die kombinierten TCP- und UDP-Scanergebnisse für den localhost (127.0.0.1) sehen.

Lassen Sie uns jetzt die Ausgabe filtern, um nur die TCP-Scanergebnisse anzuzeigen. Verwenden Sie den Befehl grep, um nach Zeilen zu suchen, die "tcp" enthalten:

grep "tcp" tcpudp.txt

Beispielausgabe:

22/tcp open  ssh

Dies zeigt die geöffneten TCP-Ports auf dem localhost. In diesem Beispiel ist der Port 22 (SSH) geöffnet.

Als nächstes filtern wir die Ausgabe, um nur die UDP-Scanergebnisse anzuzeigen. Verwenden Sie den Befehl grep, um nach Zeilen zu suchen, die "udp" enthalten:

grep "udp" tcpudp.txt

Beispielausgabe:

53/udp open|filtered domain

Dies zeigt die geöffneten oder gefilterten UDP-Ports auf dem localhost. In diesem Beispiel ist der Port 53 (Domain) geöffnet oder gefiltert.

Indem Sie die TCP- und UDP-Ausgaben vergleichen, können Sie sehen, welche Dienste auf jedem Protokoll ausgeführt werden. TCP wird normalerweise für zuverlässige, verbindungsorientierte Dienste wie SSH verwendet, während UDP häufig für verbindungslose Dienste wie DNS (Domain) verwendet wird. Der Status open|filtered für UDP zeigt an, dass Nmap aufgrund der Natur des UDP-Protokolls nicht bestimmen konnte, ob der Port geöffnet oder gefiltert ist.

Zusammenfassend lässt sich sagen, dass Sie mit Hilfe von grep die Ausgabe des kombinierten TCP- und UDP-Scans filtern können, um leicht die auf jedem Protokoll ausgeführten Dienste zu identifizieren und einen besseren Überblick über die verfügbaren Netzwerkdienste auf dem Zielhost zu erhalten.

Analysiere die Ergebnisse im Xfce-Terminal

In diesem Schritt werden Sie die Nmap-Scanergebnisse analysieren, um potenzielle Schwachstellen zu identifizieren und die auf dem Zielsystem ausgeführten Dienste zu verstehen. Sie werden die in den vorherigen Schritten gesammelten Informationen verwenden, um Schlussfolgerungen über die Sicherheitslage des Ziels zu ziehen.

Lassen Sie uns beginnen, indem wir den Inhalt der Datei tcpudp.txt überprüfen, die die kombinierten TCP- und UDP-Scanergebnisse für den localhost (127.0.0.1) enthält:

cat tcpudp.txt

Anhand der Ausgabe können Sie Folgendes identifizieren:

  • Geöffnete Ports: Der Scan zeigt, welche Ports auf dem Zielsystem geöffnet sind. Geöffnete Ports deuten auf Dienste hin, die aktiv auf Verbindungen warten.
  • Dienste: Nmap versucht, die auf jedem geöffneten Port ausgeführten Dienste zu identifizieren. Diese Informationen können verwendet werden, um den Zweck jedes Ports und potenzielle Schwachstellen in Verbindung mit diesen Diensten zu verstehen.
  • TCP vs. UDP: Der Scan unterscheidet zwischen TCP- und UDP-Diensten. TCP ist verbindungsorientiert und wird normalerweise für zuverlässiges Datenübertragung verwendet, während UDP verbindungslos ist und häufig für schnellere, weniger zuverlässige Kommunikation verwendet wird.
  • Gefilterte Ports: Für UDP-Scans kann Nmap Ports als "open|filtered" melden. Dies bedeutet, dass Nmap nicht bestimmen konnte, ob der Port geöffnet oder gefiltert ist, da UDP keine Handshake benötigt, um eine Verbindung herzustellen.

Lassen Sie uns jetzt die Ergebnisse genauer analysieren.

In den vorherigen Schritten haben Sie den localhost (127.0.0.1) gescannt und festgestellt, dass der Port 22/tcp (SSH) und 53/udp (Domain) geöffnet oder gefiltert waren.

  • Port 22 (SSH): SSH ist ein sicherer Shell-Protocol, der für die Fernverwaltung und Dateiübertragung verwendet wird. Wenn SSH läuft, ist es wichtig, sicherzustellen, dass es mit starken Passwörtern oder schlüsselbasierter Authentifizierung sicher konfiguriert ist, um unbefugten Zugang zu verhindern.
  • Port 53 (Domain): Port 53 wird normalerweise für DNS (Domain Name System)-Dienste verwendet. Wenn dieser Port geöffnet ist, bedeutet dies, dass das System möglicherweise einen DNS-Server läuft. DNS-Server können verschiedenen Angriffen wie DNS-Spoofing und Cachevergiftung ausgesetzt sein, daher ist es wichtig, sie mit den neuesten Sicherheitsupdates zu halten.

Um die Ergebnisse weiter zu analysieren, können Sie Nmap's Skripting-Engine (NSE) verwenden, um detailliertere Schwachstellen-Scans durchzuführen. Dies liegt jedoch außerhalb des Rahmens dieses Labs.

Zusammenfassend lässt sich sagen, dass Sie durch die Analyse der Nmap-Scanergebnisse wertvolle Einblicke in die auf dem Zielsystem ausgeführten Dienste erhalten und potenzielle Schwachstellen identifizieren können, die angegangen werden müssen. Denken Sie daran, immer die erforderliche Genehmigung einzuholen, bevor Sie ein Netzwerk oder System scannen.

Zusammenfassung

In diesem Lab haben Sie gelernt, TCP- und UDP-Scans mit Nmap zu kombinieren. Sie haben einen kombinierten Scan mit dem Befehl nmap -sS -sU auf eine Ziel-IP ausgeführt, wobei -sS einen TCP SYN-Scan und -sU einen UDP-Scan durchführt. Sie haben auch gelernt, bestimmte Ports zu scannen, die Ausführlichkeit des Scans zu erhöhen und die kombinierten Ergebnisse in eine Datei zu speichern.

Zusätzlich wurden Sie angewiesen, die TCP- und UDP-Ausgaben im Xfce-Terminal zu vergleichen und zu analysieren. Denken Sie daran, dass Sie in realen Szenarien nur Netzwerke und Hosts mit ausdrücklicher Genehmigung scannen sollten.