Verwenden von Nmap zum Scannen gängiger Netzwerkports

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 lernen Sie, wie Sie Nmap zur Scannen von gängigen Netzwerkports verwenden können. Portscannen ist eine entscheidende Technik in der Netzwerksicherheit, die hilft, offene Ports auf einem Zielsystem zu identifizieren. Diese offenen Ports können potenzielle Einstiegspunkte für Angreifer sein, daher ist es eine essentielle Fähigkeit für Netzwerkadministratoren und Sicherheitsexperten.

Durch das Beherrschen von Nmap, einem leistungsstarken Open - Source - Netzwerkscanning - Tool, können Sie aktive Dienste in einem Netzwerk entdecken, Sicherheitslücken bewerten und die Integrität Ihrer Systeme aufrechterhalten.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL nmap(("Nmap")) -.-> nmap/NmapGroup(["Nmap"]) nmap/NmapGroup -.-> nmap/installation("Installation and Setup") nmap/NmapGroup -.-> nmap/common_ports("Common Ports Scanning") nmap/NmapGroup -.-> nmap/save_output("Save Output to File") nmap/NmapGroup -.-> nmap/port_scanning("Port Scanning Methods") nmap/NmapGroup -.-> nmap/scan_types("Scan Types and Techniques") nmap/NmapGroup -.-> nmap/target_specification("Target Specification") nmap/NmapGroup -.-> nmap/service_detection("Service Detection") subgraph Lab Skills nmap/installation -.-> lab-415920{{"Verwenden von Nmap zum Scannen gängiger Netzwerkports"}} nmap/common_ports -.-> lab-415920{{"Verwenden von Nmap zum Scannen gängiger Netzwerkports"}} nmap/save_output -.-> lab-415920{{"Verwenden von Nmap zum Scannen gängiger Netzwerkports"}} nmap/port_scanning -.-> lab-415920{{"Verwenden von Nmap zum Scannen gängiger Netzwerkports"}} nmap/scan_types -.-> lab-415920{{"Verwenden von Nmap zum Scannen gängiger Netzwerkports"}} nmap/target_specification -.-> lab-415920{{"Verwenden von Nmap zum Scannen gängiger Netzwerkports"}} nmap/service_detection -.-> lab-415920{{"Verwenden von Nmap zum Scannen gängiger Netzwerkports"}} end

Netzwerkports verstehen und einen Webserver installieren

Bevor wir mit dem Scannen von Ports beginnen, ist es wichtig zu verstehen, was Netzwerkports sind und warum sie in der Cybersicherheit von Bedeutung sind. Netzwerkports spielen eine entscheidende Rolle bei der Ermöglichung der Kommunikation zwischen verschiedenen Anwendungen und Diensten in einem Computernetzwerk. Sie fungieren als Gateways, die es ermöglichen, dass Daten in ein System hinein und herausfließen. Daher ist es für jeden, der an der Netzwerksicherheit interessiert ist, ein wesentliches Konzept, das zu verstehen.

Was sind Netzwerkports?

Netzwerkports sind virtuelle Endpunkte für die Kommunikation in einem Computernetzwerk. Stellen Sie sich sie als Türen vor, durch die verschiedene Anwendungen und Dienste Daten senden und empfangen können. Sie ermöglichen es mehreren Anwendungen und Diensten, Netzwerkressourcen auf demselben System zu teilen, ohne sich gegenseitig zu stören. Ports werden durch Zahlen von 0 bis 65535 identifiziert, und verschiedene Bereiche dieser Zahlen sind für bestimmte Zwecke vorgesehen:

  • Ports 0 - 1023: Dies sind bekannte Ports, die für Standarddienste reserviert sind. Beispielsweise verwendet HTTP (für das Surfen im Internet) normalerweise Port 80, FTP (für Dateitransfer) Port 21 und SSH (für sicheren Remotezugriff) Port 22.
  • Ports 1024 - 49151: Dies sind registrierte Ports für bestimmte Anwendungen. Softwareentwickler können eine bestimmte Portnummer für ihre Anwendung registrieren.
  • Ports 49152 - 65535: Dies sind dynamische oder private Ports. Sie werden von Anwendungen verwendet, wenn sie eine temporäre Verbindung herstellen müssen.

Einrichten eines Webservers zum Scannen

Um das Portscannen zu üben, werden wir zunächst einen Webserver auf unserem lokalen Rechner einrichten. Ein Webserver ist ein Programm, das HTTP (Hypertext Transfer Protocol) verwendet, um Dateien, die Webseiten bilden, an Benutzer zu liefern. Wenn ein Benutzer eine Webadresse in seinem Browser eingibt, sendet der Browser eine Anfrage an den Webserver, und der Server antwortet, indem er die entsprechenden Webseiten sendet. Standardmäßig laufen Webserver auf Port 80.

  1. Öffnen Sie ein Terminalfenster in der LabEx VM - Umgebung. Das Terminal ist eine textbasierte Schnittstelle, die es Ihnen ermöglicht, mit dem Betriebssystem zu interagieren, indem Sie Befehle eingeben. Sie sollten sich im Standardverzeichnis /home/labex/project befinden. Um Ihr aktuelles Verzeichnis zu bestätigen, können Sie den folgenden Befehl verwenden:

    pwd

    Der Befehl pwd steht für "print working directory" (aktuelles Arbeitsverzeichnis ausgeben). Wenn Sie diesen Befehl ausführen, zeigt er Ihnen den Pfad des aktuellen Verzeichnisses an, in dem Sie sich befinden. Sie sollten eine Ausgabe wie diese sehen:

    /home/labex/project
  2. Installieren Sie den Apache2 - Webserver mit dem folgenden Befehl:

    sudo apt update && sudo apt install apache2 -y

    Der Befehl sudo wird verwendet, um Befehle mit administrativen Rechten auszuführen. apt update aktualisiert die Paketinformationen auf Ihrem System, um sicherzustellen, dass Sie die neuesten Informationen über verfügbare Softwarepakete haben. apt install apache2 -y installiert den Apache2 - Webserver. Die Option -y beantwortet automatisch mit "ja" auf alle Aufforderungen während des Installationsprozesses. Sie werden während der Installation eine Vielzahl von Ausgaben sehen, die die Schritte anzeigen, die das System zum Installieren der Software ausführt.

  3. Starten Sie den Apache2 - Dienst:

    sudo service apache2 start

    Nach der Installation des Apache2 - Webservers müssen Sie seinen Dienst starten. Der Befehl service wird verwendet, um Systemdienste zu verwalten. In diesem Fall starten wir den Apache2 - Dienst, damit er eingehende Anfragen annehmen kann.

  4. Überprüfen Sie, ob Apache2 ordnungsgemäß läuft:

    sudo service apache2 status

    Um sicherzustellen, dass der Apache2 - Dienst wie erwartet läuft, können Sie die Option status mit dem Befehl service verwenden. Dies zeigt Ihnen den aktuellen Zustand des Apache2 - Dienstes an. Sie sollten eine Ausgabe sehen, die angibt, dass Apache2 aktiv (läuft) ist, ähnlich wie:

    * apache2 is running
  5. Sie können auch überprüfen, ob der Webserver erreichbar ist, indem Sie einen neuen "Web Service" - Tab erstellen. Klicken Sie auf das + - Symbol in der oberen Registerkarte der virtuellen Umgebung, wählen Sie die Option "Web Service" aus und geben Sie Port 80 ein. Dies versucht, eine Verbindung mit dem auf Port 80 laufenden Webserver herzustellen. Wenn alles korrekt eingerichtet ist, sollte die Standard - Willkommensseite von Apache2 angezeigt werden.

Nachdem wir nun einen Webserver auf unserem System laufen haben, hat dieser Port 80 für die Kommunikation geöffnet. Im nächsten Schritt werden wir Nmap verwenden, um diesen offenen Port zu entdecken.

Einführung in Nmap und Durchführung eines Scans für gängige Ports

Nachdem wir nun erfolgreich einen Webserver eingerichtet haben, ist es an der Zeit, zu lernen, wie man Nmap verwendet, um herauszufinden, welche Ports auf unserem System geöffnet sind. Das Verständnis von offenen Ports ist in der Netzwerksicherheit von entscheidender Bedeutung, da offene Ports potenzielle Einstiegspunkte für Angreifer darstellen können. Mit Nmap können wir diese Ports identifizieren und entsprechende Sicherheitsmaßnahmen ergreifen.

Was ist Nmap?

Nmap (kurz für Network Mapper) ist ein bekanntes kostenloses und Open - Source - Tool für Netzwerkermittlung und Sicherheitsüberprüfung. Es hat eine Vielzahl von Anwendungen im Bereich der Netzwerksicherheit:

  • Entdeckung von Hosts und Diensten in einem Netzwerk: Nmap kann Ihnen helfen, herauszufinden, welche Geräte mit einem Netzwerk verbunden sind und welche Dienste sie anbieten. Beispielsweise kann es feststellen, ob es einen Dateiserver, einen Webserver oder einen Mailserver im Netzwerk gibt.
  • Erstellung eines Inventars der auf einem Netzwerk laufenden Systeme: Sie können Nmap verwenden, um eine Liste aller Systeme in einem Netzwerk zu erstellen, einschließlich ihrer IP - Adressen und der von ihnen ausgeführten Dienste. Dieses Inventar ist für Netzwerkadministratoren nützlich, um das Netzwerk zu verwalten und zu warten.
  • Prüfung, welche Ports auf Zielhosts geöffnet sind: Ports sind wie Türen zu einem Computer. Ein geöffneter Port bedeutet, dass ein Dienst auf eingehende Verbindungen wartet. Nmap kann einen Zielhost scannen, um herauszufinden, welche Ports geöffnet sind.
  • Identifizierung des Betriebssystems und der Dienstversionen von Netzwerkhosts: Die Kenntnis des Betriebssystems und der Dienstversionen, die auf einem Host laufen, kann Sicherheitsfachleuten helfen, zu bestimmen, ob es bekannte Sicherheitslücken gibt, die Angreifer ausnutzen könnten.

Scannen von gängigen Ports mit Nmap

Nmap bietet eine Vielzahl von Scanning - Optionen. Für Anfänger ist die Schnellscann - Option (-F) sehr nützlich. Standardmäßig scannt Nmap 1000 Ports, was viel Zeit in Anspruch nehmen kann. Die -F - Option reduziert die Anzahl der zu scannenden Ports auf die 100 gängigsten Ports, wodurch der Scan viel schneller wird.

Führen wir einen Schnellscan auf unserem lokalen Rechner durch, um den von uns gerade eingerichteten Webserver zu finden:

  1. Öffnen Sie Ihr Terminal. Im Terminal geben Sie einen Befehl ein, um mit dem Betriebssystem zu interagieren. Geben Sie den folgenden Befehl ein und drücken Sie Enter:

    nmap -F localhost

    Analysieren wir diesen Befehl:

    • nmap: Dies ist das Scanning - Tool, das wir verwenden. Es ist der Hauptbefehl, der das System anweist, einen Netzwerkscan zu starten.
    • -F: Diese Option aktiviert den Schnellscann - Modus. Sie beschränkt den Scan auf die 100 gängigsten Ports und spart Ihnen Zeit.
    • localhost: Dies ist das Ziel, das wir scannen. localhost bezieht sich auf Ihren lokalen Rechner, der die IP - Adresse 127.0.0.1 hat.
  2. Nachdem Sie den Befehl ausgeführt haben, sehen Sie eine Ausgabe ähnlich der folgenden:

    Starting Nmap 7.80 ( https://nmap.org ) at 2023-XX-XX XX:XX UTC
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.000097s latency).
    Not shown: 96 closed ports
    PORT   STATE SERVICE
    80/tcp open  http
    
    Nmap done: 1 IP address (1 host up) scanned in X.XX seconds

    Diese Ausgabe liefert wichtige Informationen:

    • Der Scan wurde auf Ihrem lokalen Rechner durchgeführt, der die IP - Adresse 127.0.0.1 hat.
    • Port 80 ist geöffnet und führt den HTTP - Dienst aus. Dies ist der von uns zuvor installierte Apache - Webserver, da Apache standardmäßig auf Port 80 lauscht.
    • Die anderen 96 gängigen Ports sind geschlossen. Sie werden in der Ausgabe nicht im Detail angezeigt.
  3. Wenn Sie detailliertere Informationen wie die Version des auf den offenen Ports laufenden Dienstes möchten, können Sie einen detaillierteren Scan durchführen. Verwenden Sie den folgenden Befehl:

    nmap -sV -F localhost

    Die -sV - Option in diesem Befehl versucht, die Version der auf den offenen Ports laufenden Dienste herauszufinden. Die Ausgabe wird detaillierter sein:

    Starting Nmap 7.80 ( https://nmap.org ) at 2023-XX-XX XX:XX UTC
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.000097s latency).
    Not shown: 96 closed ports
    PORT   STATE SERVICE VERSION
    80/tcp open  http    Apache httpd 2.4.X
    
    Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
    Nmap done: 1 IP address (1 host up) scanned in X.XX seconds

    Diese Ausgabe bestätigt, dass unser Apache - Webserver auf Port 80 läuft und gibt uns auch die Version des Apache - HTTP - Servers an.

Interpretation der Ergebnisse

Die Scanergebnisse zeigen, dass Port 80 geöffnet ist und den HTTP - Dienst ausführt. Dies entspricht unseren Erwartungen, da wir den Apache - Webserver installiert und gestartet haben, der standardmäßig auf Port 80 lauscht. In der Praxis ist es für Sicherheitsfachleute sehr wichtig zu wissen, welche Ports geöffnet sind:

  1. Identifizierung potenzieller Sicherheitslücken: Verschiedene Dienste, die auf offenen Ports laufen, können bekannte Sicherheitslücken haben. Indem Sicherheitsfachleute wissen, welche Ports geöffnet sind und welche Dienste auf ihnen laufen, können sie prüfen, ob es Sicherheitsrisiken gibt.
  2. Sicherung, dass nur notwendige Dienste laufen: Das Ausführen unnötiger Dienste auf offenen Ports kann die Angriffsfläche vergrößern. Durch die Identifizierung offener Ports können Sicherheitsfachleute sicherstellen, dass nur die tatsächlich benötigten Dienste laufen.
  3. Überprüfung, ob die Firewallkonfiguration wie erwartet funktioniert: Firewalls werden verwendet, um ein- und ausgehenden Netzwerkverkehr zu steuern. Durch das Scannen offener Ports können Sicherheitsfachleute prüfen, ob die Firewall die Ports blockiert, die blockiert werden sollten, und diejenigen zulässt, die geöffnet sein sollten.

Generieren von Nmap-Scanberichten und Verständnis der Sicherheitsauswirkungen

Im Bereich der Netzwerksicherheit ist die Dokumentation Ihrer Ergebnisse ein entscheidender Schritt. Nmap bietet integrierte Berichterstellungsfunktionen, die uns helfen können, Scanergebnisse effektiver aufzuzeichnen. In diesem Schritt werden wir lernen, wie man Nmap-Berichte generiert, die Ergebnisse analysiert und die Sicherheitsauswirkungen offener Ports diskutiert. Schließlich werden wir die für dieses Lab gestarteten Dienste ordnungsgemäß beenden, um die Sicherheit des Systems zu gewährleisten.

Verwenden von Nmap zum Generieren von Berichten

Nmap kann die Scanergebnisse direkt in verschiedenen Berichtsformaten ausgeben, darunter Klartext, XML, JSON und mehr. Dies ist effizienter und genauer als die manuelle Erstellung von Berichten. Nutzen wir die Ausgabeoptionen von Nmap, um einen Bericht zu generieren:

  1. Führen Sie einen Nmap-Scan mit Ausgabeoptionen aus:
nmap -F -sV localhost -oN /home/labex/project/nmap_report.txt

In diesem Befehl:

  • Die Option -F führt einen schnellen Scan durch (es werden nur die 100 häufigsten Ports gescannt).
  • -sV versucht, die Version der auf offenen Ports laufenden Dienste zu bestimmen.
  • -oN /home/labex/project/nmap_report.txt speichert die Ausgabe im Klartextformat in der angegebenen Datei.
  1. Zeigen Sie den generierten Bericht an:
cat /home/labex/project/nmap_report.txt

Sie sehen einen Bericht, der vollständige Scaninformationen enthält, darunter:

  • Scanzeit und -datum
  • Zielinformationen
  • Liste der offenen Ports
  • Dienste und Versionen, die auf jedem offenen Port laufen

Weitere Berichtsformatoptionen

Nmap unterstützt mehrere Ausgabeformate, die für verschiedene Zwecke geeignet sind:

  • -oX filename - Ausgabe im XML-Format, geeignet für die automatisierte Verarbeitung
  • -oG filename - Ausgabe im Grepable-Format, praktisch für die Suche mit grep
  • -oJ filename - Ausgabe im JSON-Format, geeignet für moderne Anwendungen
  • -oA filename - Ausgabe in allen Formaten (Normal, XML und Grepable) gleichzeitig

Beispielsweise um einen Bericht im XML-Format zu generieren:

nmap -F -sV localhost -oX /home/labex/project/nmap_report.xml

Verständnis der Sicherheitsauswirkungen der Scanergebnisse

Aus unserem Scanbericht können wir sehen, dass Port 80/tcp geöffnet ist und einen HTTP-Dienst (Apache-Webserver) ausführt. Dies hat mehrere wichtige Sicherheitsauswirkungen:

  1. Potentieller Angriffseingangspunkt: Offene Ports sind wie Türen in einem Gebäude. Jeder offene Port kann potenziell als Zugangsmöglichkeit für Angreifer zu Ihrem System dienen.

  2. Risiken durch Dienstschwachstellen: Dienste, die auf offenen Ports laufen, können Sicherheitslücken haben, die Angreifer ausnutzen könnten.

  3. Kommunikationskanal, der überwacht werden muss: Offene Ports werden für die Kommunikation verwendet, und Sie müssen die Aktivität auf diesen Ports überwachen, um ungewöhnliches Verhalten zu erkennen.

Um die Port-Sicherheit zu gewährleisten, sollten Sie die folgenden bewährten Verfahren befolgen:

  • Halten Sie nur die notwendigen Ports geöffnet: Unnötig offene Ports vergrößern die Angriffsfläche Ihres Systems.
  • Aktualisieren Sie regelmäßig die Dienste, die diese Ports nutzen: Updates enthalten oft Sicherheits-Patches, die Schwachstellen beheben.
  • Implementieren Sie Firewall-Regeln, um den Zugang einzuschränken: Firewalls können helfen, zu kontrollieren, wer über bestimmte Ports auf Ihr System zugreifen kann.
  • Überwachen Sie die Portaktivität auf ungewöhnliche Muster: Durch die Überwachung der Aktivität können Sie potenzielle Bedrohungen rechtzeitig erkennen und darauf reagieren.

Aufräumen im Lab

Nachdem wir unsere Scanübung abgeschlossen haben, ist es an der Zeit, den Apache-Webserver zu stoppen. Das Weiterlaufen von Diensten, wenn sie nicht benötigt werden, kann Sicherheitsrisiken darstellen, daher ist ein ordnungsgemäßes Aufräumen wichtig.

  1. Stoppen Sie den Apache-Dienst:
sudo service apache2 stop
  1. Vergewissern Sie sich, dass der Dienst gestoppt wurde:
sudo service apache2 status

Sie sollten eine Ausgabe sehen, die angibt, dass Apache2 nicht läuft, beispielsweise:

* apache2 is not running
  1. Bestätigen Sie, dass Port 80 geschlossen ist:
nmap -F localhost

Die Ausgabe sollte anzeigen, dass Port 80 geschlossen ist oder nicht in der Liste der offenen Ports aufgeführt wird. Dieser Aufräumprozess ist in realen Szenarien von entscheidender Bedeutung, um sicherzustellen, dass Dienste nicht weiterlaufen, wenn sie nicht benötigt werden, was Sicherheitsrisiken darstellen kann.

Zusammenfassung

In diesem Lab haben Sie die Grundlagen des Netzwerkportscannings mit Nmap gelernt, einem leistungsstarken Open - Source - Tool in der Netzwerksicherheit. Sie haben praktische Erfahrungen in Bezug auf das Verständnis von Netzwerkports, das Einrichten eines Webservers mit einem offenen Port, die Verwendung von Nmap für Scans von gängigen Ports, die Interpretation von Scanergebnissen, die Dokumentation von Ergebnissen in einem Sicherheitsbericht und das ordnungsgemäße Herunterfahren von Diensten gesammelt.

Diese Fähigkeiten sind der Grundstein für die Netzwerksicherheitsbewertung. Sie sind von entscheidender Bedeutung für IT - Sicherheitsfachleute, Netzwerkadministratoren und Systemmanagement - Experten. Das Beherrschen des Portscannings hilft, Netzwerksicherheitslücken zu identifizieren und Systeme vor unbefugtem Zugriff zu schützen.