Nmap Netzwerk-Scanning Grundlagen lernen

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 die Grundlagen des Netzwerkscans mit Nmap lernen. Nmap ist ein leistungsstarkes und vielseitiges Tool, das von Netzwerkadministratoren und Sicherheitsexperten weit verbreitet eingesetzt wird. Es ist ein Open - Source - Utility für die Netzwerkermittlung und Sicherheitsüberprüfung, das in der Lage ist, Netzwerke zu scannen, um Hosts und Dienste zu finden, Betriebssysteme zu identifizieren und Sicherheitslücken zu erkennen.

Durch praktische Übungen werden Sie verstehen, wie Sie verschiedene Arten von Portscans durchführen können. Sie werden auch lernen, Scanergebnisse zu interpretieren und Einblicke in Techniken zur Netzwerksicherheitsbewertung zu gewinnen.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL nmap(("Nmap")) -.-> nmap/NmapGroup(["Nmap"]) nmap/NmapGroup -.-> nmap/installation("Installation and Setup") nmap/NmapGroup -.-> nmap/basic_syntax("Basic Command Syntax") nmap/NmapGroup -.-> nmap/save_output("Save Output to File") nmap/NmapGroup -.-> nmap/port_scanning("Port Scanning Methods") nmap/NmapGroup -.-> nmap/target_specification("Target Specification") nmap/NmapGroup -.-> nmap/service_detection("Service Detection") subgraph Lab Skills nmap/installation -.-> lab-415927{{"Nmap Netzwerk-Scanning Grundlagen lernen"}} nmap/basic_syntax -.-> lab-415927{{"Nmap Netzwerk-Scanning Grundlagen lernen"}} nmap/save_output -.-> lab-415927{{"Nmap Netzwerk-Scanning Grundlagen lernen"}} nmap/port_scanning -.-> lab-415927{{"Nmap Netzwerk-Scanning Grundlagen lernen"}} nmap/target_specification -.-> lab-415927{{"Nmap Netzwerk-Scanning Grundlagen lernen"}} nmap/service_detection -.-> lab-415927{{"Nmap Netzwerk-Scanning Grundlagen lernen"}} end

Ports verstehen und die Umgebung einrichten

Bevor wir mit dem Lernen über Portscans beginnen, ist es wichtig zu verstehen, was Ports im Kontext der Computernetze sind. Ports fungieren als Kommunikationsendpunkte. Sie ermöglichen es verschiedenen Prozessen auf einem Computer, Netzwerkressourcen zu teilen. Stellen Sie sich sie als Türen vor, durch die Daten in einen Computer hinein- und hinausfließen können. Insgesamt gibt es 65.535 Ports, die in drei Bereiche aufgeteilt sind:

  • Wohlbekannte Ports (Well - known ports): Dies sind Ports mit den Nummern von 0 bis 1023. Sie sind für bestimmte Dienste reserviert. Beispielsweise wird Port 80 für HTTP (Hypertext Transfer Protocol) verwendet, dem Protokoll zum Übertragen von Webseiten. Port 22 wird für SSH (Secure Shell) verwendet, einem Protokoll zum sicheren Zugriff auf einen Remotecomputer.
  • Registrierte Ports (Registered ports): Diese Ports liegen im Bereich von 1024 bis 49151. Sie sind bei der Internet Assigned Numbers Authority (IANA) registriert. Obwohl sie registriert sind, können auch normale Benutzer sie für ihre eigenen Anwendungen nutzen.
  • Dynamische/Private Ports: Diese Ports liegen im Bereich von 49152 bis 65535. Sie stehen frei für die temporäre Nutzung zur Verfügung. Anwendungen können diese Ports nutzen, wenn sie eine kurzfristige Verbindung herstellen müssen.

In diesem Schritt werden wir einen lokalen Dienst in unserer Lab-Umgebung einrichten. Wir werden diesen Dienst später scannen. Dieser praktische Ansatz wird Ihnen helfen zu verstehen, wie Nmap, ein leistungsstarkes Portscanning-Tool, offene Ports und die darauf laufenden Dienste erkennt.

Zunächst öffnen Sie ein Terminal. Ein Terminal ist eine textbasierte Schnittstelle, in der Sie Befehle eingeben können, um mit Ihrem Computer zu interagieren. Sobald das Terminal geöffnet ist, müssen Sie sicherstellen, dass Sie sich im Projektverzeichnis befinden. Das Projektverzeichnis ist der Ort, an dem alle Dateien in Bezug auf dieses Experiment gespeichert sind. Sie können in das Projektverzeichnis navigieren, indem Sie den folgenden Befehl ausführen:

cd /home/labex/project

Als nächstes werden wir auf Ihrem Computer einen einfachen HTTP-Server erstellen. Wir werden das integrierte HTTP-Server-Modul von Python nutzen. Dieser Server wird auf Port 8080 lauschen. Lauschen auf einem Port bedeutet, dass der Server auf eingehende Anfragen an diesem bestimmten Port wartet. Dieser Server wird das Ziel unserer Nmap-Scans sein. Um den Server zu starten, führen Sie den folgenden Befehl aus:

python3 -m http.server 8080 &

Nachdem Sie diesen Befehl ausgeführt haben, sollte die Ausgabe in etwa so aussehen:

Serving HTTP on 0.0.0.0 port 8080 (http://0.0.0.0:8080/) ...

Das &-Symbol am Ende des Befehls ist wichtig. Es führt den Prozess im Hintergrund aus. Das bedeutet, dass der Server weiterläuft und Sie das Terminal weiterhin nutzen können, um andere Befehle einzugeben.

Um zu überprüfen, ob der Server läuft, werden wir die lauschenden Ports prüfen. Wir können dies tun, indem wir den folgenden Befehl ausführen:

ss -tuln | grep 8080

Der ss-Befehl wird verwendet, um Socket-Statistiken anzuzeigen. Die Optionen -tuln veranlassen den Befehl, TCP-, UDP- und lauschende Sockets anzuzeigen und numerische Adressen anzuzeigen. Das |-Symbol ist eine Pipe, die die Ausgabe des ss-Befehls an den grep-Befehl übergibt. Der grep-Befehl sucht dann nach der Zeichenkette 8080 in der Ausgabe.

Wenn der Server korrekt läuft, sollte die Ausgabe anzeigen, dass Port 8080 verwendet wird:

tcp   LISTEN  0       1            0.0.0.0:8080      0.0.0.0:*

Diese Ausgabe bestätigt, dass unser HTTP-Server wie erwartet läuft und für einen Nmap-Scan bereit ist.

Grundlegender Nmap-Portscan

Nachdem unser HTTP-Server nun läuft, können wir mit der Durchführung von grundlegenden Portscans mithilfe von Nmap beginnen. Bevor wir jedoch starten, sollten wir verstehen, was ein Portscan ist. Der Portscan ist eine grundlegende Technik in der Netzwerksicherheit. Er hilft uns herauszufinden, welche Ports auf einem Host geöffnet sind. Ports sind wie Türen in einem Gebäude; jeder auf einem Computer laufende Dienst nutzt einen bestimmten Port zur Kommunikation. Für Netzwerkadministratoren ist es wichtig zu wissen, welche Ports geöffnet sind, um sicherzustellen, dass ihre Dienste wie erwartet funktionieren. Für Sicherheitsexperten ist es ein entscheidender Schritt bei der Identifizierung potenzieller Sicherheitslücken, da Angreifer manchmal geöffnete Ports ausnutzen können.

Zunächst müssen wir sicherstellen, dass Nmap auf unserem System installiert ist. Nmap ist ein leistungsstarkes Netzwerkscanning-Tool, das wir während dieses Experiments verwenden werden. Um zu überprüfen, ob es installiert ist, können wir den folgenden Befehl im Terminal ausführen:

nmap --version

Dieser Befehl fordert das System auf, die installierte Version von Nmap anzuzeigen. Wenn Nmap korrekt installiert ist, sollten Sie eine Ausgabe ähnlich der folgenden sehen:

Nmap version 7.80 ( https://nmap.org )

Durchführung eines grundlegenden Portscans

Nachdem wir bestätigt haben, dass Nmap installiert ist, führen wir einen grundlegenden Scan durch, um zu überprüfen, ob Port 8080 auf unserem localhost geöffnet ist. Der localhost bezieht sich auf den Computer, auf dem wir derzeit arbeiten, dargestellt durch die IP-Adresse 127.0.0.1. Um den Scan durchzuführen, führen Sie den folgenden Befehl aus:

nmap -p 8080 localhost

In diesem Befehl wird die -p-Option verwendet, um anzugeben, welche Ports wir scannen möchten. Hier interessiert uns nur Port 8080. Wenn Sie diesen Befehl ausführen, sendet Nmap spezielle Netzwerkpakete an Port 8080 auf dem localhost und analysiert die Antworten, um zu bestimmen, ob der Port geöffnet ist.

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

Starting Nmap 7.80 ( https://nmap.org ) at 2023-08-01 10:00 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00020s latency).

PORT     STATE SERVICE
8080/tcp open  http-proxy

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

Diese Ausgabe liefert uns wichtige Informationen. Sie sagt uns, dass Port 8080 geöffnet ist und dass Nmap den auf diesem Port laufenden Dienst als "http-proxy" identifiziert hat.

Als nächstes möchten wir die Ausgabe dieses Scans in einer Datei speichern. Das Speichern der Scanergebnisse ist nützlich, da wir uns später für eine weitere Analyse darauf beziehen können. Um die Ausgabe zu speichern, führen Sie den folgenden Befehl aus:

nmap -p 8080 localhost > /home/labex/project/basic_scan.txt

In diesem Befehl wird das >-Symbol verwendet, um die Ausgabe des Nmap-Scans in eine Datei namens basic_scan.txt im Verzeichnis /home/labex/project umzuleiten.

Um zu überprüfen, ob die Ausgabe korrekt gespeichert wurde, können wir den cat-Befehl verwenden. Der cat-Befehl wird verwendet, um den Inhalt einer Datei anzuzeigen. Führen Sie den folgenden Befehl aus:

cat /home/labex/project/basic_scan.txt

Sie sollten die gleiche Ausgabe wie zuvor sehen, die jetzt in der Datei gespeichert ist.

Verständnis der Ausgabe

Schauen wir uns die Ausgabe unseres Nmap-Scans genauer an, um zu verstehen, was jede Zeile bedeutet:

  • Starting Nmap 7.80 ( https://nmap.org ) at 2023-08-01 10:00 UTC: Diese Zeile sagt uns, wann der Nmap-Scan gestartet wurde. Sie ist nützlich, um zu verfolgen, wann der Scan durchgeführt wurde.
  • Nmap scan report for localhost (127.0.0.1): Diese Zeile identifiziert das Zielhost des Scans. In diesem Fall ist es der localhost mit der IP-Adresse 127.0.0.1.
  • Host is up (0.00020s latency): Diese Zeile bestätigt, dass das Zielhost online ist. Der Latenzwert gibt an, wie lange es dauert, bis die Netzwerkpakete zum Host und zurück reisen. Eine sehr geringe Latenz ist für den localhost zu erwarten, da es der gleiche Computer ist, auf dem wir arbeiten.
  • PORT STATE SERVICE: Dies ist der Header für die Portscanergebnisse. Er sagt uns, welche Informationen in den folgenden Zeilen angezeigt werden.
  • 8080/tcp open http-proxy: Diese Zeile zeigt an, dass Port 8080 geöffnet ist. Der /tcp-Teil gibt den Typ des verwendeten Netzwerkprotokolls an (TCP, ein gängiges Protokoll für zuverlässige Datenübertragung). Nmap hat den auf diesem Port laufenden Dienst als "http-proxy" identifiziert.
  • Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds: Diese Zeile fasst den Scan zusammen. Sie sagt uns, dass Nmap eine IP-Adresse (den localhost) gescannt hat, das Host als online gefunden hat und den Scan in 0,05 Sekunden abgeschlossen hat.

Fortgeschrittene Nmap-Scanning-Techniken

Nachdem wir erfolgreich einen grundlegenden Portscan durchgeführt haben, ist es an der Zeit, unsere Fähigkeiten auf die nächste Stufe zu heben und einige fortgeschrittene Nmap-Scanning-Techniken zu erkunden. Nmap ist ein leistungsstarkes Tool, das zahlreiche Optionen bietet, um detaillierte Informationen über Netzwerkdienste zu sammeln. Diese Informationen sind sowohl für die Netzwerkverwaltung als auch für die Sicherheitsbewertung von entscheidender Bedeutung. Durch die Verwendung fortgeschrittener Scanning-Techniken können Sie mehr über die Systeme in Ihrem Netzwerk herausfinden, was bei der Identifizierung potenzieller Sicherheitsrisiken und der effizienteren Verwaltung Ihres Netzwerks hilft.

Dienstversionserkennung

Eines der nützlichsten Merkmale von Nmap ist seine Fähigkeit, zu bestimmen, welcher Dienst und welche Version auf einem offenen Port läuft. Das Wissen um den Dienst und seine Version ist wichtig, da es Ihnen hilft, potenzielle Sicherheitslücken zu identifizieren, die mit bestimmten Dienstversionen verbunden sind. Viele Software-Sicherheitslücken sind an bestimmte Versionen gebunden. Wenn Sie also die genaue Version kennen, die auf einem Port läuft, können Sie schnell überprüfen, ob es bekannte Sicherheitsanfälligkeiten gibt.

Um einen Dienstversionserkennungs-Scan auf Port 8080 durchzuführen, müssen Sie den folgenden Befehl ausführen:

nmap -sV -p 8080 localhost

In diesem Befehl ist die -sV-Option der Schlüssel. Sie teilt Nmap mit, offene Ports zu untersuchen, um Dienstinformationen zu ermitteln. Die -p 8080 gibt an, dass wir Port 8080 scannen möchten, und localhost zeigt an, dass wir unseren eigenen Computer scannen.

Die Ausgabe dieses Befehls sollte in etwa wie folgt aussehen:

Starting Nmap 7.80 ( https://nmap.org ) at 2023-08-01 10:15 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00022s latency).

PORT     STATE SERVICE VERSION
8080/tcp open  http    SimpleHTTPServer 0.6 (Python 3.10.12)

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

Wie Sie sehen können, liefert Nmap jetzt detailliertere Informationen über den auf Port 8080 laufenden Dienst. Es identifiziert den Dienst als einen Python SimpleHTTPServer zusammen mit seiner Version und der Python-Version, auf der er läuft.

Jetzt speichern wir diese wertvollen Informationen in einer Datei. Sie können dies tun, indem Sie den folgenden Befehl ausführen:

nmap -sV -p 8080 localhost > /home/labex/project/advanced_scan.txt

Das >-Symbol wird verwendet, um die Ausgabe des nmap-Befehls in die angegebene Datei umzuleiten.

Um den Inhalt der Datei anzuzeigen, können Sie den cat-Befehl verwenden:

cat /home/labex/project/advanced_scan.txt

Unterschied zwischen grundlegenden und fortgeschrittenen Scans verstehen

Vergleichen wir den grundlegenden Scan und den fortgeschrittenen Scan, um zu verstehen, warum fortgeschrittene Scans so nützlich sind.

  1. Grundlegender Scan (nmap -p 8080 localhost): Wenn Sie einen grundlegenden Scan ausführen, sagt er Ihnen nur, dass Port 8080 geöffnet ist und einen Dienst ausführt. Basierend auf der Portnummer vermutet Nmap, dass der Dienst möglicherweise ein "http-proxy" ist. Dies ist jedoch nur eine grobe Schätzung und liefert keine detaillierten Informationen über den tatsächlichen Dienst.

  2. Fortgeschrittener Scan (nmap -sV -p 8080 localhost): Im Gegensatz dazu liefert ein fortgeschrittener Scan viel detailliertere Informationen. Er sagt Ihnen den genauen Dienstnamen (SimpleHTTPServer), seine Version (0.6) und sogar die Programmiersprache und ihre Version (Python 3.10.12), auf der der Dienst läuft.

Diese zusätzlichen Informationen sind aus mehreren Gründen wertvoll:

  • Identifizierung veralteter Dienste: Wenn Sie die genaue Version eines Dienstes kennen, können Sie leicht überprüfen, ob es sich um eine veraltete Version handelt, die möglicherweise bekannte Sicherheitslücken aufweist. Wenn ja, können Sie Schritte unternehmen, um den Dienst zu aktualisieren und Ihr Netzwerk zu sichern.
  • Verständnis Ihres Netzwerks: Sie können sich ein klares Bild davon machen, welche Software genau in Ihrem Netzwerk läuft. Dies hilft bei der Netzwerkverwaltung und der Ressourcenallokation.
  • Planung von Sicherheitsmaßnahmen: Sie können Sicherheitsmaßnahmen planen, die speziell auf die in Ihren Systemen laufenden Dienste zugeschnitten sind. Wenn Sie beispielsweise wissen, dass ein bestimmter Dienst eine bekannte Sicherheitslücke aufweist, können Sie gezielte Sicherheitskontrollen implementieren.

Andere nützliche Nmap-Optionen

Nmap bietet viele andere Scanning-Optionen, die kombiniert werden können, um verschiedene Arten von Scans durchzuführen. Hier sind einige der am häufigsten verwendeten Optionen:

  • -sS: Dies ist ein TCP SYN-Scan, auch als Stealth-Scan bekannt. Es ist eine schnelle und unauffällige Methode, um Ports zu scannen, da er die vollständige TCP-Verbindung nicht herstellt, was ihn schwerer zu entdecken macht.
  • -O: Diese Option aktiviert die Betriebssystemerkennung. Sie ermöglicht es Nmap, zu versuchen, das auf dem Zielcomputer laufende Betriebssystem zu bestimmen.
  • -A: Ein aggressiver Scan, der mehrere Funktionen kombiniert, einschließlich OS-Erkennung, Versionserkennung, Skriptscanning und Traceroute. Er bietet einen umfassenden Überblick über das Zielsystem.
  • -T<0-5>: Diese Option wird verwendet, um die Zeitvorlage festzulegen. Eine höhere Zahl bedeutet einen schnelleren Scan, erhöht aber auch die Wahrscheinlichkeit, entdeckt zu werden.
  • -Pn: Diese Option behandelt alle Hosts als online und überspringt die Host-Discovery-Phase. Sie ist nützlich, wenn Sie wissen, dass das Ziel online ist und Zeit sparen möchten.

Beispielsweise können Sie den folgenden Befehl verwenden, wenn Sie einen schnellen Scan aller bekannten Ports auf Ihrem lokalen Computer durchführen möchten:

nmap -F localhost

Die -F-Option (schnell) teilt Nmap mit, weniger Ports zu scannen als bei einem Standardscan. Dies ist nützlich, wenn Sie einen schnellen Überblick über die offenen Ports auf einem System erhalten möchten.

Hinweis: Bei einer echten Netzwerksicherheitsbewertung ist es wichtig, die entsprechende Genehmigung zu haben, bevor Sie irgendwelche Systeme scannen. Unbefugtes Scannen kann in vielen Gerichtsbarkeiten gegen das Gesetz verstoßen.

Interpretation und Analyse von Scanergebnissen

In diesem Schritt werden wir lernen, wie man die Ergebnisse unserer Nmap-Scans versteht und analysiert. Bei der Netzwerksicherheit ist es unerlässlich, die Scanausgabe lesen zu können. Dies hilft Ihnen, fundierte Entscheidungen über die Sicherheit Ihres Netzwerks zu treffen. Beispielsweise können Sie anhand der Scanergebnisse potenzielle Sicherheitslücken oder unbefugte Zugangspunkte identifizieren.

Vergleich verschiedener Scanarten

Führen wir noch einige andere Arten von Scans durch, um zu sehen, wie sich ihre Ausgaben unterscheiden. Zunächst führen wir einen umfassenden Scan durch. Dieser Scan umfasst alle gängigen Optionen und gibt uns einen detaillierten Überblick über das Ziel.

nmap -A -p 8080 localhost > /home/labex/project/comprehensive_scan.txt

In diesem Befehl ist die -A-Option sehr wichtig. Sie aktiviert aggressive Scanoptionen. Diese Optionen umfassen die Erkennung des Betriebssystems des Ziels, die Ermittlung der Version der laufenden Dienste, das Scannen nach verfügbaren Skripten und die Durchführung eines Traceroutes. Mit dieser Option können wir viele nützliche Informationen über das Ziel sammeln.

Schauen wir uns nun die Ergebnisse dieses umfassenden Scans an.

cat /home/labex/project/comprehensive_scan.txt

Die Ausgabe wird recht detailliert sein. Sie wird Informationen über den auf Port 8080 laufenden Dienst, alle möglichen Skripts, die gegen den Dienst ausgeführt werden könnten, und andere relevante Details enthalten. Diese detaillierten Informationen helfen uns, die Sicherheitslage des Ziels besser zu verstehen.

Verständnis der Portzustände

Nmap meldet mehrere mögliche Zustände für Ports. Jeder Zustand sagt uns etwas anderes über den Status des Ports.

  • open: Dies bedeutet, dass eine Anwendung auf diesem Port aktiv TCP-Verbindungen oder UDP-Pakete akzeptiert. Es ist wie eine Tür, die offen steht und auf Besucher wartet.
  • closed: Der Port ist erreichbar, aber es läuft keine Anwendung, die auf ihn hört. Es ist wie eine Tür, die nicht abgeschlossen ist, aber niemand drinnen ist, um zu antworten.
  • filtered: Nmap kann nicht feststellen, ob der Port geöffnet ist, da die Paketfilterung verhindert, dass seine Abfragen den Port erreichen. Es ist wie ein Sicherheitswächter, der Nmaps Blick auf die Tür blockiert.
  • unfiltered: Der Port ist erreichbar, aber Nmap kann nicht feststellen, ob er geöffnet oder geschlossen ist. Es ist wie das Betrachten einer Tür und das Nicht-Wissen, ob jemand drinnen ist.
  • open|filtered: Nmap kann nicht feststellen, ob der Port geöffnet oder gefiltert ist. Es ist ein unsicherer Zustand, in dem wir nicht wissen, ob die Tür offen oder blockiert ist.
  • closed|filtered: Nmap kann nicht feststellen, ob der Port geschlossen oder gefiltert ist. Ähnlich wie im vorherigen Zustand wissen wir nicht, ob die Tür abgeschlossen oder blockiert ist.

Schauen wir uns an, wie diese Zustände in unseren Scanergebnissen erscheinen, indem wir einen Bereich von Ports scannen.

nmap -p 8080-8085 localhost > /home/labex/project/port_states.txt

Nachdem der Scan abgeschlossen ist, können wir die Ergebnisse anzeigen.

cat /home/labex/project/port_states.txt

Sie sollten sehen, dass Port 8080 als geöffnet gemeldet wird, während die anderen Ports im Bereich wahrscheinlich als geschlossen gemeldet werden. Dies gibt uns eine Vorstellung davon, welche Ports aktiv genutzt werden und welche nicht.

Praktische Analyse der Ergebnisse

Jetzt erstellen wir einen zusammengefassten Bericht, indem wir die wichtigsten Informationen aus unseren Scanergebnissen extrahieren. Wir verwenden den grep-Befehl, um nach offenen Ports zu filtern. Offene Ports sind für die Sicherheitsbewertung sehr wichtig, da sie potenzielle Einstiegspunkte für Angreifer sind.

grep "open" /home/labex/project/comprehensive_scan.txt > /home/labex/project/open_ports.txt

Nach dem Filtern können wir die Ergebnisse anzeigen.

cat /home/labex/project/open_ports.txt

Diese gefilterte Ausgabe erleichtert es uns, uns auf die offenen Ports zu konzentrieren. Anstatt uns das gesamte detaillierte Scanbericht anzusehen, können wir schnell sehen, welche Ports geöffnet sind und beginnen, ihre Sicherheitsrisiken zu bewerten.

Sicherheitsauswirkungen

Das Verständnis der Sicherheitsauswirkungen Ihrer Scanergebnisse ist von entscheidender Bedeutung. Hier sind einige wichtige Punkte, die Sie im Hinterkopf behalten sollten.

  1. Unnötige offene Ports: Jeder offene Port ist ein potenzieller Einstiegspunkt für Angreifer. Wenn ein Dienst nicht benötigt wird, sollte er deaktiviert werden. Wenn Sie beispielsweise einen Port für einen Dienst geöffnet haben, den Sie nicht mehr nutzen, könnte ein Angreifer diesen Port nutzen, um Zugang zu Ihrem System zu erhalten.
  2. Veraltete Dienste: Ältere Versionen von Diensten können bekannte Sicherheitslücken aufweisen, die Angreifer ausnutzen können. Es ist wichtig, Ihre Dienste auf dem neuesten Stand zu halten, um diese Risiken zu vermeiden.
  3. Falsch konfigurierte Dienste: Selbst aktuelle Dienste können anfällig sein, wenn sie falsch konfiguriert sind. Ein kleiner Fehler in der Konfiguration kann Ihr System für Angriffe exponieren.

In unserer Lab-Umgebung haben wir absichtlich Port 8080 für den HTTP-Server geöffnet. In einer echten Produktionsumgebung müssten Sie jedoch sorgfältig prüfen, ob dieser Dienst notwendig ist und ob er ordnungsgemäß gesichert ist.

Stoppen des HTTP-Servers

Bevor wir diesen Schritt beenden, räumen wir auf, indem wir den HTTP-Server stoppen, den wir zuvor gestartet haben. Zunächst müssen wir seine Prozess-ID finden.

ps aux | grep "python3 -m http.server"

Wenn Sie diesen Befehl ausführen, suchen Sie nach der Zeile, die unseren HTTP-Serverprozess anzeigt. Die zweite Spalte in der Ausgabe enthält die Prozess-ID (PID). Sobald Sie die PID gefunden haben, können Sie sie verwenden, um den Server zu stoppen.

kill <PID>

Ersetzen Sie <PID> durch die tatsächliche Prozess-ID aus der Ausgabe des vorherigen Befehls.

Alternativ können Sie den folgenden Befehl verwenden, um den Prozess in einem Schritt zu finden und zu beenden.

pkill -f "python3 -m http.server"

Nachdem der Server gestoppt wurde, müssen wir überprüfen, dass er nicht mehr läuft.

ss -tuln | grep 8080

Wenn es keine Ausgabe gibt, bedeutet dies, dass der Server erfolgreich gestoppt wurde.

Zusammenfassung

In diesem Lab haben Sie die Grundlagen des Netzwerkscannens mit Nmap gelernt, einem leistungsstarken und weit verbreiteten Tool in der Cybersicherheitsbranche. Zunächst haben Sie das Konzept von Ports und ihre Funktionen in der Computernetzkunst verstanden. Dann haben Sie einen lokalen HTTP-Server eingerichtet, um das Scannen eines realen Dienstes zu üben.

Sie haben verschiedene Nmap-Scans durchgeführt, von grundlegenden Portscans bis hin zur fortgeschrittenen Dienstversionserkennung. Sie haben gelernt, Scanergebnisse zu interpretieren, Portzustände und ihre Sicherheitsauswirkungen zu verstehen. Sie haben auch das Filtern von Ergebnissen für Sicherheitsbewertungen geübt. Diese Fähigkeiten sind für Netzwerkadministratoren und Sicherheitsexperten von entscheidender Bedeutung, um offene Ports zu identifizieren, Sicherheitslücken zu entdecken, fundierte Sicherheitsentscheidungen zu treffen und Netzwerkkonfigurationen zu dokumentieren. Indem Sie diese Techniken beherrschen, haben Sie einen wichtigen Schritt in Richtung Kompetenz in der Netzwerksicherheitsbewertung und -verwaltung gemacht. Holen Sie sich immer die entsprechende Genehmigung, bevor Sie Systeme in realen Szenarien scannen, da unbefugtes Scannen illegal sein kann.