UDP-Port-Scanning 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 Lab werden Sie lernen, wie Sie Nmap für die UDP (User Datagram Protocol) - Portscans verwenden, eine lebenswichtige Fähigkeit für Netzwerksicherheitsexperten. UDP, ein verbindungsloses Protokoll, stellt keine dedizierte Ende - zu - Ende - Verbindung vor dem Datentransfer her. Dies macht es schneller, aber weniger zuverlässig als TCP.

Netzwerkscans sind in der Cybersicherheit von entscheidender Bedeutung, da sie Fachleuten ermöglichen, offene Ports, laufende Dienste und potenzielle Sicherheitslücken zu identifizieren. Nmap, ein leistungsstarkes Open - Source - Tool für Netzwerkermittlung und Sicherheitsüberprüfung, wird von Systemadministratoren und Cybersicherheitsexperten weit verbreitet eingesetzt. Am Ende dieses Labs werden Sie in der Lage sein, einen UDP - Server einzurichten, grundlegende UDP - Portscans mit Nmap durchzuführen und die Scanergebnisse zu interpretieren, was für die Netzwerkexploration und die Sicherheitsbewertung unerlässlich ist.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL nmap(("Nmap")) -.-> nmap/NmapGroup(["Nmap"]) nmap/NmapGroup -.-> nmap/installation("Installation and Setup") nmap/NmapGroup -.-> nmap/save_output("Save Output to File") nmap/NmapGroup -.-> nmap/port_scanning("Port Scanning Methods") nmap/NmapGroup -.-> nmap/udp_scanning("UDP Scanning Techniques") subgraph Lab Skills nmap/installation -.-> lab-415938{{"UDP-Port-Scanning mit Nmap durchführen"}} nmap/save_output -.-> lab-415938{{"UDP-Port-Scanning mit Nmap durchführen"}} nmap/port_scanning -.-> lab-415938{{"UDP-Port-Scanning mit Nmap durchführen"}} nmap/udp_scanning -.-> lab-415938{{"UDP-Port-Scanning mit Nmap durchführen"}} end

Einrichten eines UDP - Servers

In diesem Schritt werden Sie einen UDP - Server einrichten. Dieser Server wird als Ziel für Ihre Nmap - Scans dienen. Dadurch werden Sie besser verstehen, wie UDP - Dienste funktionieren und wie Scanning - Tools sie erkennen können.

Grundlagen des UDP - Protokolls

Bevor wir mit der Einrichtung des Servers beginnen, nehmen wir einen Moment Zeit, um zu verstehen, was UDP (User Datagram Protocol) ist. UDP ist ein wichtiger Bestandteil des Internet Protocol (IP) - Satzes.

  • UDP ist ein verbindungsloses Protokoll. Das bedeutet, dass es im Gegensatz zu TCP keine Verbindung herstellt, bevor es Daten sendet. Bei der Verwendung von TCP wird zunächst eine Verbindung zwischen Sender und Empfänger aufgebaut, während UDP diesen Schritt überspringt.
  • UDP ist schneller als TCP. Da es nicht den Prozess des Verbindungsaufbaus durchlaufen muss, können Daten schneller gesendet werden. Diese Geschwindigkeit hat jedoch einen Preis. UDP ist weniger zuverlässig als TCP, da es keine Garantie dafür gibt, dass die Daten zugestellt werden, in der richtigen Reihenfolge ankommen oder dass es keine doppelten Daten gibt.
  • UDP wird häufig in Anwendungen verwendet, bei denen Geschwindigkeit wichtiger ist als Zuverlässigkeit. Beispielsweise verlassen sich Streaming - Medien wie Videos und Musik, Online - Spiele und DNS - Abfragen alle auf UDP. In diesen Fällen kann eine kleine Verzögerung bei der Datenübertragung auffälliger und störender sein als ein kleiner Datenverlust.

Einrichten des UDP - Servers

Um einen UDP - Server einzurichten, verwenden wir ein Tool namens netcat, das oft als nc abgekürzt wird. netcat ist ein sehr nützliches Netzwerk - Utility, das es Ihnen ermöglicht, über Netzwerkverbindungen entweder mit TCP oder UDP zu lesen und zu schreiben.

  1. Öffnen Sie zunächst ein Terminalfenster. Nachdem das Terminal geöffnet ist, müssen Sie in das Projektverzeichnis navigieren. Hier befinden sich alle relevanten Dateien und Konfigurationen für dieses Lab. Sie können dies tun, indem Sie den folgenden Befehl im Terminal ausführen:
cd /home/labex/project
  1. Jetzt ist es an der Zeit, den UDP - Server zu starten. Wir möchten, dass der Server auf Port 9999 lauscht. Sie können den Server mit dem folgenden Befehl starten:
nc -u -l -p 9999 -k

Lassen Sie uns analysieren, was jede Option in diesem Befehl bedeutet:

  • -u: Diese Option teilt netcat mit, UDP anstelle des Standard - Protokolls TCP zu verwenden. Da wir einen UDP - Server einrichten, müssen wir dies angeben.
  • -l: Dies bringt netcat in den Listen - Modus. Im Listen - Modus fungiert netcat als Server und wartet auf eingehende Verbindungen.
  • -p 9999: Diese Option gibt die Portnummer an, auf der der Server lauschen wird. In diesem Fall haben wir Port 9999 gewählt.
  • -k: Diese Option teilt dem Server mit, weiterlaufen zu bleiben, auch wenn ein Client die Verbindung trennt. Dies ist nützlich, da es dem Server ermöglicht, neue Verbindungen anzunehmen, ohne dass er jedes Mal neu gestartet werden muss, wenn ein Client geht.

Nachdem Sie diesen Befehl ausgeführt haben, scheint Ihr Terminal möglicherweise einzufrieren oder zu hängen. Dies ist normales Verhalten. Es bedeutet, dass netcat jetzt aktiv auf eingehende UDP - Verbindungen auf Port 9999 lauscht.

Halten Sie dieses Terminalfenster geöffnet, da wir es für den nächsten Schritt benötigen. Um mit dem Lab fortzufahren, müssen Sie ein neues Terminalfenster öffnen.

Durchführen eines grundlegenden Nmap - UDP - Scans

In diesem Schritt werden wir Nmap verwenden, um den UDP - Server zu scannen, den Sie im vorherigen Schritt eingerichtet haben. Dieser Prozess ist von entscheidender Bedeutung, da er Ihnen helfen wird zu verstehen, wie Nmap offene UDP - Ports und die darauf laufenden Dienste identifiziert. Am Ende dieses Schritts werden Sie besser verstehen, wie Sie Nmap für UDP - Scans verwenden können, was eine essentielle Fähigkeit im Bereich der Cybersicherheit ist.

Grundlagen des Nmap - UDP - Scans

Nmap, kurz für Network Mapper, ist ein bekanntes kostenloses Open - Source - Tool, das für die Netzwerkermittlung und Sicherheitsüberprüfung verwendet wird. Bei der Überprüfung von UDP - Ports funktioniert Nmap anders als bei der Überprüfung von TCP - Ports.

UDP, oder User Datagram Protocol, ist ein verbindungsloses Protokoll. Im Gegensatz zu TCP, das vor dem Datentransfer eine Verbindung herstellt, sendet UDP einfach Daten, ohne zunächst eine Verbindung aufzubauen. Das bedeutet, dass die traditionellen verbindungsbasierten Scanning - Methoden, die für TCP - Ports verwendet werden, für UDP nicht funktionieren.

Wenn Nmap UDP - Ports scannt, sendet es leere UDP - Pakete an den Zielport und wartet dann auf eine Antwort. Wenn der Port geschlossen ist, sendet das Zielsystem normalerweise eine ICMP - Nachricht "Port nicht erreichbar" zurück. Wenn der Port jedoch geöffnet ist, wird es etwas komplizierter. Es kann überhaupt keine Antwort kommen, was es schwierig macht zu entscheiden, ob der Port tatsächlich geöffnet ist. Oder, wenn der auf dem Port laufende UDP - Dienst das Paketformat erkennt, kann er eine Antwort senden.

Es ist wichtig zu beachten, dass UDP - Scans im Allgemeinen langsamer und weniger zuverlässig sind als TCP - Scans. Dies liegt daran, dass UDP nicht über die eingebauten Mechanismen für die Fehlerprüfung und Wiederholung wie TCP verfügt.

Durchführen des UDP - Scans

  1. Öffnen Sie zunächst ein neues Terminalfenster. Stellen Sie sicher, dass das vorherige Terminal mit dem laufenden UDP - Server geöffnet bleibt. Dies ist wichtig, da wir den in diesem Terminal derzeit aktiven UDP - Server scannen werden.

  2. Anschließend müssen wir in das Projektverzeichnis navigieren. Führen Sie im neuen Terminal den folgenden Befehl aus:

cd /home/labex/project

Dieser Befehl wechselt das aktuelle Arbeitsverzeichnis in das Projektverzeichnis, in dem sich alle relevanten Dateien und Konfigurationen befinden.

  1. Jetzt ist es an der Zeit, den Nmap - UDP - Scan auszuführen. Wir werden den Localhost (127.0.0.1) scannen und uns auf Port 9999 konzentrieren. Führen Sie den folgenden Befehl aus:
sudo nmap -sU -p 9999 127.0.0.1 > /home/labex/project/udp_scan_results.txt

Lassen Sie uns diesen Befehl analysieren, um zu verstehen, was jeder Teil tut:

  • sudo: Dies wird verwendet, um den Befehl mit erhöhten Rechten auszuführen. UDP - Scans erfordern diese erhöhten Rechte, da sie das Senden von Paketen auf einer niedrigen Netzwerkebene beinhalten.
  • nmap: Dies ist das Scanning - Tool, das wir verwenden. Es ist der Kern unserer Operation für die Netzwerkermittlung und Sicherheitsüberprüfung.
  • -sU: Diese Option teilt Nmap mit, einen UDP - Scan durchzuführen.
  • -p 9999: Diese Option gibt an, dass wir nur Port 9999 scannen möchten.
  • 127.0.0.1: Dies ist die Ziel - IP - Adresse. In diesem Fall ist es der Localhost, was bedeutet, dass wir unseren eigenen Computer scannen.
  • > /home/labex/project/udp_scan_results.txt: Dieser Teil leitet die Ausgabe des Nmap - Scans in eine Datei namens udp_scan_results.txt im Projektverzeichnis um. So können wir die Ergebnisse später überprüfen.
  1. Nachdem der Scan abgeschlossen ist, können wir die Ergebnisse anzeigen. Führen Sie den folgenden Befehl aus:
cat /home/labex/project/udp_scan_results.txt

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

Starting Nmap 7.80 ( https://nmap.org ) at 2023-09-15 12:00 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000054s latency).

PORT     STATE         SERVICE
9999/udp open|filtered unknown

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

Interpretation der Ergebnisse

Lassen Sie uns die Scanergebnisse genauer betrachten und verstehen, was sie bedeuten.

Der Status open|filtered zeigt an, dass Nmap keine ICMP - Nachricht "Port nicht erreichbar" erhalten hat. Es gibt einige mögliche Erklärungen dafür:

  • Der Port ist geöffnet, und der UDP - Dienst läuft wie erwartet.
  • Der Port könnte von einer Firewall gefiltert werden. Eine Firewall könnte die ICMP - Nachrichten "Port nicht erreichbar" oder den UDP - Verkehr selbst blockieren.
  • Das Zielsystem könnte aus irgendeinem Grund keine ICMP - Nachrichten "Port nicht erreichbar" senden.

In unserem Fall, da wir den UDP - Server selbst eingerichtet haben, wissen wir, dass der Port geöffnet ist. Die Bezeichnung unknown für den Dienst bedeutet, dass Nmap auf der Grundlage seiner Dienst - Fingerprinting - Methode nicht bestimmen konnte, welcher Dienst auf diesem Port läuft.

Wie bereits erwähnt, sind UDP - Scans weniger schlüssig als TCP - Scans. Deshalb zeigt Nmap für UDP - Ports oft den Status open|filtered an, was es etwas schwieriger macht, den Status von UDP - Ports genau zu bestimmen.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie Nmap für UDP - Portscans verwenden können, eine entscheidende Fähigkeit für die Netzwerksicherheitsbewertung. Zunächst haben Sie mit netcat einen UDP - Server eingerichtet, um ein praktisches Ziel für den Scan zu schaffen. Anschließend haben Sie einen grundlegenden Nmap - UDP - Scan auf dem spezifischen Port durchgeführt, auf dem der Server lauschte.

Sie haben auch praktische Erfahrungen in der Auseinandersetzung mit dem UDP - Protokoll und seinen Unterschieden zu TCP gesammelt, einen einfachen UDP - Server mit netcat eingerichtet, Nmap verwendet, um nach offenen UDP - Ports zu suchen, und die Ergebnisse von UDP - Scans interpretiert. Diese Fähigkeiten sind grundlegend für fortgeschrittene Netzwerkscans und Sicherheitsbewertungen. UDP - Scans sind von großer Bedeutung, da viele kritische Dienste wie DNS, DHCP und Streaming - Protokolle UDP verwenden.

Wenn Sie in Ihrem Cybersicherheits - Weg voranschreiten, denken Sie daran, dass Netzwerkscans nur ein Teil einer umfassenden Sicherheitsbewertung sind. Scannen Sie immer nur Systeme, die Sie besitzen oder für die Sie ausdrückliche Erlaubnis haben.