Nmap Grundlegende Befehlssyntax 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 grundlegende Befehlssyntax von Nmap kennenlernen, einem leistungsstarken Tool zur Netzwerkermittlung und Sicherheitsüberprüfung. Nmap wird von Systemadministratoren und Sicherheitsexperten weit verbreitet eingesetzt und hilft bei der Netzwerküberprüfung, beim Erkennen offener Ports und beim Identifizieren potenzieller Sicherheitslücken.

Unser Szenario spielt im Jahr 2145 am Luna Gateway Spaceport, dem größten und wichtigsten Weltraumhafen des Mondes. Als Leiter des Cybersicherheitsteams ist es Ihre Aufgabe, die Netzwerkinfrastruktur des Weltraumhafens vor Bedrohungen zu schützen. Angesichts jüngster Berichte über vermehrte verdächtige Aktivitäten vermuten Sie, dass Hacker versuchen, in die Systeme einzudringen. Am Ende dieses Labs werden Sie praktische Erfahrungen in der Verwendung von Nmap für die wesentliche Netzwerkrecherche sammeln, eine entscheidende Fähigkeit für die Sicherung jedes Netzwerks, auch eines futuristischen Weltraumhafens.

Nmap verstehen und die Installation überprüfen

Nmap, was für Network Mapper steht, ist ein Open - Source - Tool. Im Bereich der Netzwerksicherheit spielt es eine entscheidende Rolle bei der Entdeckung von Hosts und Diensten in einem Computernetzwerk. Stellen Sie sich Nmap als einen Detektiv vor, der herausfinden kann, was in einem Netzwerk passiert. In unserem fiktiven Szenario des Luna Gateway Spaceport ist Nmap äußerst wertvoll für den Schutz der Sicherheit seiner komplexen Netzwerkinfrastruktur.

Bevor wir mit der Verwendung von Nmap beginnen, müssen wir sicherstellen, dass es auf unserem System installiert ist. Hier ist, wie Sie die Installation überprüfen können:

  1. Zunächst müssen Sie ein Terminalfenster öffnen. In der LabEx - Umgebung ist das Terminal normalerweise bereits geöffnet und auf das Verzeichnis /home/labex/project eingestellt. Das Terminal ist wie ein Steuerzentrum, in dem Sie Befehle eingeben können, um mit dem System zu interagieren.

  2. Jetzt führen wir einen Befehl aus, um die installierte Version von Nmap zu überprüfen. Geben Sie den folgenden Befehl in das Terminal ein und drücken Sie die Eingabetaste:

    nmap --version

    Dieser Befehl fordert das System auf, Informationen über die installierte Version von Nmap anzuzeigen. Die Option --version ist eine gängige Methode in vielen Programmen, um versionsbezogene Details zu erhalten.

  3. Nach dem Ausführen des Befehls nehmen Sie sich einen Moment Zeit, um die Ausgabe zu betrachten. Sie werden Details wie die spezifische Version von Nmap, wie es kompiliert wurde und andere relevante Informationen sehen. Dies hilft Ihnen, zu bestätigen, dass Nmap korrekt installiert ist, und gibt Ihnen auch eine Vorstellung davon, welche Funktionen möglicherweise basierend auf der Version verfügbar sind.

Einrichten eines Testdienstes

Bevor Sie mit der Übung von Nmap beginnen, benötigen Sie ein Ziel zum Scannen. Stellen Sie sich Nmap als ein Detektivtool in der Welt der Cybersicherheit vor, und Sie brauchen einen Verdächtigen (das Ziel), den Sie untersuchen können. In diesem Fall werden wir einen einfachen Netzwerkdienst auf Ihrem lokalen Rechner mit einem Tool namens netcat (nc) einrichten. Netcat ist ein vielseitiges Netzwerktool, das Daten über Netzwerkverbindungen lesen und schreiben kann.

  1. Zunächst überprüfen wir, ob netcat auf Ihrem System installiert ist. Sie können dies tun, indem Sie den folgenden Befehl in Ihrem Terminal ausführen:

    nc -h

    Dieser Befehl fordert netcat auf, seine Hilfsinformationen anzuzeigen. Wenn netcat installiert ist, sehen Sie eine Liste der verfügbaren Optionen und deren Verwendung. Wenn Sie einen Fehler erhalten, bedeutet dies, dass netcat nicht installiert ist, und Sie müssen es installieren, bevor Sie fortfahren können.

  2. Öffnen Sie jetzt ein neues Terminalfenster. Dies ist wichtig, da wir das ursprüngliche Terminal später für andere Befehle verwenden werden und den netcat - Dienst in einem separaten Fenster laufen lassen müssen. Sie können ein neues Terminalfenster öffnen, indem Sie mit der rechten Maustaste im Terminalbereich klicken und "Neues Terminal" auswählen oder die Tastenkombination (normalerweise Strg+Umschalt+T) verwenden.

  3. In diesem neuen Terminalfenster starten wir einen einfachen Netzwerkdienst, der offen bleibt. Führen Sie den folgenden Befehl aus:

    while true; do nc -n -lvp 7777; done

    Dieser Befehl erstellt eine Endlosschleife. Jedes Mal, wenn eine Verbindung zum netcat - Dienst geschlossen wird, startet die Schleife netcat neu, um sicherzustellen, dass der Dienst immer für uns zum Scannen verfügbar ist. Sie sollten eine Ausgabe sehen, die anzeigt, dass netcat auf Port 7777 lauscht.

    • -n: Dieser Schalter sagt netcat, direkt IP - Adressen zu verwenden, anstatt versuchen, Hostnamen aufzulösen. Dies beschleunigt den Prozess und vermeidet potenzielle DNS - Probleme.
    • -l: Dieser Schalter sagt netcat, in den Lauschmodus zu wechseln. Es wartet auf eingehende Verbindungen anstatt diese zu initiieren.
    • -v: Dieser Schalter aktiviert die ausführliche Ausgabe. Netcat gibt detailliertere Informationen über seine Aktionen aus, was für das Debugging und das Verständnis des Geschehens hilfreich ist.
    • -p 7777: Dieser Schalter gibt die Portnummer an, auf der netcat lauschen soll. In diesem Fall haben wir Port 7777 gewählt.
  4. Halten Sie dieses Terminalfenster geöffnet. Wir werden es verwenden, um eingehende Verbindungen zu beobachten, wenn wir in den nächsten Schritten mit Nmap scannen. Der laufende netcat - Dienst in diesem Fenster wird als unser Ziel für Nmap - Scans fungieren und uns ermöglichen, zu sehen, wie Nmap mit einem realen Netzwerkdienst interagiert.

Durchführen eines grundlegenden Nmap-Scans

Nachdem wir erfolgreich einen Dienst eingerichtet haben, ist es an der Zeit, Nmap zu verwenden, um ihn zu entdecken. Nmap ist ein leistungsstarkes Netzwerk-Scanning-Tool, das uns dabei helfen kann, offene Ports und Dienste auf einem Zielrechner zu finden. In diesem Schritt führen wir einen grundlegenden Scan des lokalen Rechners (localhost) durch, um den von uns gerade eingerichteten Dienst zu finden.

  1. Kehren Sie zunächst in Ihr ursprüngliches Terminalfenster zurück. Stellen Sie sicher, dass es nicht dasjenige ist, in dem netcat läuft. Wir müssen dieses Terminal verwenden, um unsere Nmap-Befehle auszuführen.

  2. Führen Sie als Nächstes den folgenden Nmap-Befehl aus:

    nmap -v -p 7777 localhost

    Zerlegen wir diesen Befehl, um zu verstehen, was jeder Teil tut:

    • nmap: Dies ist der Basisbefehl, um Nmap auszuführen. Er teilt dem System mit, dass wir das Nmap-Tool für das Netzwerk-Scanning verwenden möchten.
    • -v: Diese Option aktiviert die ausführliche Ausgabe. Wenn wir -v verwenden, gibt Nmap uns detailliertere Informationen über den Scan, wie z.B. den Fortschritt und zusätzliche Details über das Ziel.
    • -p 7777: Diese Option teilt Nmap mit, nur Port 7777 zu scannen. Ports sind wie Türen auf einem Computer, und verschiedene Dienste verwenden verschiedene Ports. Indem wir -p 7777 angeben, bitten wir Nmap, zu prüfen, ob Port 7777 auf dem Zielrechner geöffnet ist.
    • localhost: Dies ist das Ziel, das wir scannen möchten. In diesem Fall bezieht sich localhost auf Ihren eigenen Rechner. Es ist eine Möglichkeit, das Netzwerk-Scanning in Ihrer lokalen Umgebung zu testen.
  3. Beobachten Sie die Ausgabe nach dem Ausführen des Befehls. Sie sollten etwas Ähnliches wie Folgendes sehen:

    Starting Nmap ( http://nmap.org )
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.000040s latency).
    PORT     STATE SERVICE
    7777/tcp open  cbt

    Diese Ausgabe liefert wichtige Informationen. Sie sagt uns, dass Nmap den Scan gestartet hat und das Ziel (localhost) aktiv ist. Die Zeile 7777/tcp open cbt zeigt an, dass Port 7777 auf dem lokalen Rechner geöffnet ist und der auf diesem Port laufende Dienst als cbt identifiziert wird.

  4. Um einen Nachweis dieses Scans für die zukünftige Referenz zu führen, speichern wir die Ausgabe in einer Datei. Führen Sie den Befehl erneut mit Ausgabeumleitung aus:

    nmap -v -p 7777 localhost > /home/labex/project/nmap_scan_output.txt

    Dieser Befehl führt denselben Scan wie zuvor durch, aber das >-Symbol leitet die Ausgabe in eine Datei namens nmap_scan_output.txt im Verzeichnis /home/labex/project um. Auf diese Weise können wir die Scanergebnisse später einfach zugreifen.

  5. Sie können den Inhalt dieser Datei mit dem cat-Befehl anzeigen. Führen Sie den folgenden Befehl aus:

    cat /home/labex/project/nmap_scan_output.txt

    Der cat-Befehl wird verwendet, um den Inhalt einer Datei im Terminal anzuzeigen. Indem Sie diesen Befehl ausführen, können Sie die gespeicherte Scanausgabe sehen.

  6. Überprüfen Sie schließlich das netcat-Terminal. Sie sollten bemerken, dass Nmap versucht hat, eine Verbindung zum Dienst herzustellen. Aufgrund der Schleife, die wir in netcat eingerichtet haben, wird die Verbindung geschlossen und erneut geöffnet, um sicherzustellen, dass der Dienst für weitere Scans verfügbar bleibt. Dies ist wichtig, da es uns ermöglicht, weiterhin mit Nmap das Netzwerk zu testen und zu erkunden.

Analyse der Nmap-Ausgabe

Nachdem wir erfolgreich einen grundlegenden Scan mit Nmap durchgeführt haben, ist es an der Zeit, uns die Ausgabe von Nmap genauer anzusehen. Das Verständnis dieser Ausgabe ist von entscheidender Bedeutung, da sie wertvolle Informationen über das Zielsystem liefert, wie z.B. offene Ports und laufende Dienste.

  1. Zunächst müssen wir die Nmap-Scan-Ausgabedatei öffnen. Diese Datei enthält alle Details des von uns gerade durchgeführten Scans. Um sie zu öffnen, verwenden wir den Texteditor nano. nano ist ein einfacher und benutzerfreundlicher Texteditor, der es uns ermöglicht, Textdateien einfach zu lesen und zu bearbeiten. Führen Sie den folgenden Befehl in Ihrem Terminal aus:

    nano /home/labex/project/nmap_scan_output.txt

    Dieser Befehl wird die angegebene Datei im nano-Texteditor öffnen.

  2. Sobald die Datei geöffnet ist, untersuchen Sie ihren Inhalt. Sie werden feststellen, dass die Datei in mehrere Abschnitte unterteilt ist, die jeweils verschiedene Arten von Informationen liefern:

    • Nmap-Scan-Bericht: Dieser Abschnitt zeigt das Ziel des Scans. In unserem Fall ist das Ziel localhost, was auf den lokalen Rechner verweist, auf dem wir derzeit arbeiten.
    • Host-Status: Dieser Teil gibt an, ob der Host (das Zielsystem) aktiv ist. Es werden auch Informationen über die Latenz des Hosts bereitgestellt, d.h. die Zeit, die ein Signal braucht, um von unserem Rechner zum Ziel und zurück zu gelangen.
    • Port-Tabelle: Diese Tabelle zeigt den Zustand der gescannten Ports. Sie sagt uns, ob ein Port geöffnet, geschlossen oder gefiltert ist. Darüber hinaus zeigt sie den Dienst, den Nmap vermutet, auf diesem Port läuft.
  3. Sie werden möglicherweise bemerken, dass Nmap den Dienst auf Port 7777 als "cbt" identifiziert. Es ist jedoch wichtig zu beachten, dass dies nur Nmaps beste Schätzung auf der Grundlage gängiger Portzuweisungen ist. Bei nicht-standardmäßigen Ports wie 7777 kann diese Identifizierung nicht immer genau sein.

  4. Wenn Sie mit der Untersuchung der Datei fertig sind, können Sie den nano-Texteditor verlassen, indem Sie Strg+X drücken.

  5. Jetzt versuchen wir einen etwas umfassenderen Scan. Wir verwenden einen neuen Befehl, der zusätzliche Optionen enthält, um mehr Informationen über das Ziel zu sammeln. Führen Sie den folgenden Befehl in Ihrem Terminal aus:

    nmap -v -p 7777 -sV localhost > /home/labex/project/nmap_service_scan.txt

    Hier ist, was jeder Teil des Befehls bedeutet:

    • -v: Diese Option aktiviert den ausführlichen Modus, was bedeutet, dass Nmap detailliertere Informationen über den Scanprozess liefert.
    • -p 7777: Dies gibt an, dass wir nur Port 7777 scannen möchten.
    • -sV: Dieser Schalter sagt Nmap, offene Ports zu untersuchen, um den Dienst und seine Version auf diesen Ports zu bestimmen.
    • localhost: Dies ist das Ziel unseres Scans, der lokale Rechner.
    • > /home/labex/project/nmap_service_scan.txt: Dies leitet die Ausgabe des Scans in die angegebene Datei um.
  6. Nach dem Ausführen des Scans möchten wir den Inhalt dieser neuen Datei anzeigen. Dazu verwenden wir den cat-Befehl, der verwendet wird, um den Inhalt einer Datei im Terminal anzuzeigen. Führen Sie den folgenden Befehl aus:

    cat /home/labex/project/nmap_service_scan.txt

    Sie sollten zusätzliche Informationen über Port 7777 in der Ausgabe sehen. Selbst wenn Nmap den genau laufenden Dienst auf dem Port nicht bestimmen kann, wird es dennoch eine detailliertere Ausgabe im Vergleich zum grundlegenden Scan liefern.

  7. Wenn Sie die Ausgabe durchsehen, suchen Sie nach Zeilen wie:

    PORT     STATE SERVICE VERSION
    7777/tcp open  cbt?

    Diese Zeile zeigt an, dass Nmap einen offenen Port 7777 entdeckt hat. Das Fragezeichen nach "cbt" deutet jedoch darauf hin, dass Nmap sich bei der Dienstklassifizierung unsicher ist. Es bedeutet, dass Nmap den auf diesem Port laufenden Dienst nicht definitiv identifizieren konnte.

Durchführen eines netzwerkweiten Scans

In einem realen Szenario am Luna Gateway Spaceport müssen Sie mehrere Hosts im Netzwerk scannen. Dies ist wichtig, da es Ihnen hilft, die an das Netzwerk angeschlossenen Geräte und ihre offenen Ports zu verstehen, was für die Netzwerksicherheit von entscheidender Bedeutung ist. Lassen Sie uns dies simulieren, indem wir einen Bereich von IP-Adressen scannen.

  1. Zunächst finden wir heraus, welche IP-Adresse unser Gerät hat. Ihre IP-Adresse ist wie die "Hausadresse" Ihres Netzwerks, die Ihr Gerät im Netzwerk eindeutig identifiziert. Um sie zu finden, führen wir den folgenden Befehl aus:

    ip addr show | grep inet

    Der Teil ip addr show des Befehls listet alle Netzwerkschnittstellen und ihre zugehörigen IP-Adressen auf Ihrem Gerät auf. Das | ist eine Pipe, die die Ausgabe des Befehls ip addr show an den Befehl grep inet übergibt. Der Befehl grep inet filtert dann die Ausgabe, um nur die Zeilen anzuzeigen, die das Wort "inet" enthalten, also die Zeilen mit IP-Adressen.

    Beispielausgabe:

    inet 127.0.0.1/8 scope host lo
    inet 172.18.0.3/16 brd 172.18.255.255 scope global eth1

    127.0.0.1/8 ist die Loopback-Adresse, die für unseren Zweck nicht nützlich ist. Wir können sie also ignorieren. 172.18.0.3/16 ist die IP-Adresse der Netzwerkschnittstelle, die für unseren Zweck nützlich ist. Wir können diese IP-Adresse in den folgenden Schritten verwenden.

  2. Jetzt scannen wir einen Bereich von IP-Adressen um unsere eigene herum. Das Scannen eines Bereichs von IP-Adressen hilft Ihnen, andere Geräte im gleichen Netzwerk zu entdecken. Wenn Ihre IP-Adresse 172.18.0.3 ist, können Sie beispielsweise 172.18.0.1 - 10 scannen. Ersetzen Sie den IP-Bereich im folgenden Befehl durch einen, der Ihre IP-Adresse enthält:

    sudo nmap -v -p 7777 172.18.0.1-10 > /home/labex/project/network_scan.txt

    Der Befehl sudo wird verwendet, um den folgenden Befehl mit administrativen Rechten auszuführen, was für das Netzwerkscannen oft erforderlich ist. nmap ist ein leistungsstarkes Netzwerkscanning-Tool. Die Option -v steht für "verbose" (ausführlich), was bedeutet, dass es detailliertere Informationen über den Scan liefert. Die Option -p 7777 gibt an, dass wir Port 7777 auf den Ziel-IP-Adressen scannen möchten. 172.18.0.1 - 10 ist der Bereich von IP-Adressen, den wir scannen möchten. Das >-Symbol leitet die Ausgabe des nmap-Befehls in die Datei /home/labex/project/network_scan.txt um.

    Dieser Befehl scannt die ersten 10 IP-Adressen im Netzwerk 172.18.0.0 auf Port 7777.

  3. Sehen Sie sich die Ergebnisse des Scans an:

    cat /home/labex/project/network_scan.txt

    Der Befehl cat wird verwendet, um den Inhalt einer Datei anzuzeigen. In diesem Fall zeigt er Ihnen die Ergebnisse des Netzwerkscans, die wir in der Datei network_scan.txt gespeichert haben. Sie sollten eine Liste von IP-Adressen sehen, mit Informationen über Port 7777 für jede Adresse.

  4. In einem realen Szenario würde dieser Art von Scan Ihnen helfen, alle Geräte im Netzwerk mit einem bestimmten offenen Port zu identifizieren, was für die Sicherung des Netzwerks am Luna Gateway Spaceport von entscheidender Bedeutung sein könnte. Indem Sie wissen, welche Geräte einen bestimmten Port geöffnet haben, können Sie feststellen, ob es auf dem Netzwerk potenzielle Sicherheitsrisiken oder unbefugte Zugangspunkte gibt.

Zusammenfassung

In diesem Lab haben Sie die grundlegende Befehlssyntax von Nmap im Rahmen der Sicherung der Netzwerkinfrastruktur des Luna Gateway Spaceport gelernt. Zunächst haben Sie die Installation von Nmap überprüft und einen Testdienst mit netcat eingerichtet. Dann haben Sie grundlegende Scans auf dem localhost durchgeführt, gelernt, die Ausgabe von Nmap zu interpretieren und sie für eine weitere Analyse gespeichert.

Sie haben auch zu komplexeren Techniken vorgearbeitet, wie z.B. der Erkennung der Dienstversion, die Details über Dienste auf offenen Ports aufdeckt. Schließlich haben Sie einen netzwerkweiten Scan simuliert, der zeigt, wie Nmap mehrere Hosts untersuchen kann. Diese Fähigkeiten sind grundlegend für die Netzwerkrecherche und die Sicherheitsüberprüfung und von entscheidender Bedeutung für die Identifizierung von Risiken in den Operationen des Spaceports.

Denken Sie daran, Nmap verantwortungsvoll zu nutzen und nur auf autorisierten Netzwerken. Unbefugtes Scannen kann als Angriff angesehen werden und kann rechtliche Konsequenzen haben. Während Sie weiterhin lernen, sollten Sie überlegen, diese grundlegenden Nmap - Techniken zu erweitern und sie mit anderen Tools zu kombinieren, um eine umfassende Sicherheitsstrategie in komplexen Umgebungen wie dem Luna Gateway Spaceport zu entwickeln.