Netzwerkscannen mit Nmap

CybersecurityCybersecurityBeginner
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 Welt der Netzwerksicherheit erkunden, indem Sie lernen, wie Sie Nmap verwenden, ein leistungsstarkes und vielseitiges Netzwerk-Scanning-Tool. Nmap (Network Mapper) ist ein Open-Source-Programm, das von Systemadministratoren und Sicherheitsexperten verwendet wird, um Hosts, Dienste und Sicherheitslücken in einem Netzwerk zu entdecken. Es ist wie eine Taschenlampe in einem dunklen Raum, die Ihnen hilft, zu sehen, was da ist und was sich möglicherweise versteckt.

In diesem praktischen Lab werden Sie lernen:

  1. Wie Sie Nmap installieren und verwenden
  2. Verschiedene Arten von Netzwerkscans
  3. Wie Sie Nmap-Ergebnisse interpretieren
  4. Die Wichtigkeit der Netzwerksicherheit in der realen Welt

Denken Sie daran, dass die hier erlernten Fähigkeiten leistungsstark sind und nur ethisch und auf Netzwerken verwendet werden sollten, die Sie besitzen oder für die Sie ausdrückliche Erlaubnis zur Prüfung haben. Los geht's!

Installation von Nmap

Bevor wir mit der Erkundung von Netzwerken beginnen können, müssen wir uns mit dem richtigen Werkzeug ausstatten. In diesem Schritt werden wir Nmap auf Ihrem System installieren.

  1. Zunächst öffnen wir das Terminal. In der realen Welt werden viele Netzwerkoperationen über eine Befehlszeilenschnittstelle durchgeführt, daher ist es gut, sich damit vertraut zu machen. Suchen Sie auf Ihrem Desktop das Xfce Terminal und öffnen Sie es.
Xfce Terminal-Fenster geöffnet

Hinweis: Kostenlose Benutzer können nicht mit dem Internet verbinden. Daher ist Nmap bereits im Lab-Environment vorinstalliert. Sie können direkt zum Punkt 4 in der Liste springen (prüfen, ob Nmap installiert ist). Upgrade auf einen Pro-Benutzer, um die Installation von Nmap selbst zu üben.

Nur für Pro-Benutzer
  1. Sobald das Terminal geöffnet ist, müssen wir die Paketlisten aktualisieren. Dadurch wird sichergestellt, dass wir die neuesten Informationen über verfügbare Software haben. Geben Sie den folgenden Befehl ein und drücken Sie Enter:
sudo apt-get update

sudo wird verwendet, um Befehle mit administrativen Rechten auszuführen.

  1. Jetzt, da unsere Paketlisten auf dem neuesten Stand sind, installieren wir Nmap. Geben Sie den folgenden Befehl ein:
sudo apt-get install nmap -y

Das -y-Flag beantwortet automatisch alle Abfragen mit "ja", wodurch die Installation reibungsloser verläuft.

  1. Nach Abschluss der Installation ist es eine gute Praxis, zu überprüfen, ob Nmap korrekt installiert wurde. Wir können dies tun, indem wir seine Version überprüfen. Geben Sie ein:
nmap --version

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

Nmap version 7.80 ( https://nmap.org )
Platform: x86_64-pc-linux-gnu
Compiled with: liblua-5.3.6 openssl-3.0.2 nmap-libssh2-1.8.2 libz-1.2.11 libpcre-8.39 libpcap-1.10.1 nmap-libdnet-1.12 ipv6
Compiled without:
Available nsock engines: epoll poll select

Machen Sie sich keine Sorgen, wenn die Versionsnummer oder einige Details unterschiedlich sind – Nmap wird regelmäßig aktualisiert.

Herzlichen Glückwunsch! Sie haben gerade ein leistungsstarkes Netzwerk-Scanning-Tool installiert. Nmap ist wie ein Schweizer Taschenmesser für die Netzwerkerkundung und die Sicherheitsüberprüfung. Es verfügt über viele Funktionen, von einfachen Ping-Scans bis hin zur erweiterten Schwachstellenerkennung. In diesem Lab werden wir uns auf seine Grundfunktionen konzentrieren, um Ihnen zu helfen, seine Fähigkeiten zu verstehen.

Wenn Sie sich für die anderen Möglichkeiten von Nmap interessieren, können Sie man nmap im Terminal eingeben. Dadurch wird die Handbuchseite für Nmap angezeigt, in der alle Optionen und Fähigkeiten detailliert beschrieben werden. Fühlen Sie sich frei, zu erkunden, aber machen Sie sich keine Sorgen, wenn Sie jetzt nicht alles verstehen – wir werden die wichtigsten Teile in diesem Lab behandeln.

Grundlagen zu IP-Adressen

Bevor wir mit der Netzwerküberprüfung beginnen, ist es wichtig, IP-Adressen zu verstehen. Stellen Sie sich eine IP-Adresse wie die Hausadresse Ihres Computers im Netzwerk vor. Genauso wie der Postdienst Ihre Hausadresse benötigt, um Post zu liefern, benötigen andere Geräte im Netzwerk Ihre IP-Adresse, um mit Ihrem Computer zu kommunizieren.

  1. Eine IP-Adresse ist ein eindeutiger Bezeichner für ein Gerät in einem Netzwerk. Sie sieht normalerweise wie eine Reihe von Zahlen aus, die durch Punkte getrennt sind, wie beispielsweise 192.168.1.1.
graph LR A[Internet] --- B[Router 192.168.1.1] B --- C[PC 192.168.1.10] B --- D[Laptop 192.168.1.11] B --- E[Smartphone 192.168.1.12] B --- F[Smart TV 192.168.1.13] style A fill:#f9f,stroke:#333,stroke-width:4px style B fill:#bbf,stroke:#333,stroke-width:2px style C fill:#dfd,stroke:#333,stroke-width:2px style D fill:#dfd,stroke:#333,stroke-width:2px style E fill:#dfd,stroke:#333,stroke-width:2px style F fill:#dfd,stroke:#333,stroke-width:2px
  1. Um Ihre eigene IP-Adresse zu finden, verwenden wir einen Befehl, der Informationen über die Netzwerkschnittstellen anzeigt. Geben Sie diesen Befehl ein:
ip addr show | grep inet

Lassen Sie uns diesen Befehl auseinandernehmen:

  • ip addr show zeigt Informationen über alle Netzwerkschnittstellen an.
  • | (Pipe) leitet die Ausgabe an den nächsten Befehl weiter.
  • grep inet filtert die Ausgabe, um nur Zeilen anzuzeigen, die "inet" enthalten, welche IP-Adressen umfassen.

Sie werden eine Ausgabe ähnlich der folgenden sehen:

inet 127.0.0.1/8 scope host lo
inet 172.19.0.3/16 brd 172.19.255.255 scope global eth1
  1. In dieser Ausgabe werden Sie mehrere IP-Adressen sehen. Hier ist, was sie bedeuten:

    • 127.0.0.1 ist die "localhost"-Adresse. Jeder Computer bezieht sich auf sich selbst als 127.0.0.1. Dies wird für lokale Verbindungen innerhalb Ihres eigenen Computers verwendet.
    • 172.19.0.3 ist die IP-Adresse Ihres Computers im Netzwerk. Dies ist die Adresse, die andere Geräte verwenden würden, um mit Ihrem Computer zu kommunizieren.
  2. Notieren Sie sich die IP-Adresse, die nicht 127.0.0.1 ist (in diesem Fall 172.19.0.3). Wir werden sie im nächsten Schritt verwenden.

Das /16 hinter der IP-Adresse wird Subnetzmaske genannt. Sie definiert die Größe des Netzwerks. In diesem Fall bedeutet /16, dass die ersten beiden Zahlen der IP-Adresse (172.19) das Netzwerk definieren und die letzten beiden für einzelne Geräte verwendet werden können.

Wenn Sie sich über die verschiedenen Arten von IP-Adressen fragen, ist es erwähnenswert, dass es zwei Hauptversionen des IP-Protokolls gibt: IPv4 (wie 172.19.0.3) und IPv6 (die mit Zeichen wie fe80:: beginnen würden). IPv6 wurde entwickelt, um das Problem des Ausfalls von IPv4-Adressen zu lösen, da immer mehr Geräte mit dem Internet verbunden werden. In diesem Lab werden wir uns auf IPv4-Adressen konzentrieren.

Durchführen eines grundlegenden Nmap-Scans

Jetzt, da wir IP-Adressen verstehen und Nmap installiert haben, können wir unseren ersten Netzwerkscan durchführen. Wir beginnen damit, unseren eigenen Computer zu scannen, um zu sehen, was uns Nmap darüber sagen kann.

  1. Wir verwenden die IP-Adresse, die Sie im vorherigen Schritt notiert haben. Führen Sie den folgenden Befehl aus und ersetzen Sie <YOUR_IP> durch die von Ihnen gefundene IP-Adresse:
nmap <YOUR_IP>

Beispielsweise würden Sie, wenn Ihre IP-Adresse 172.19.0.3 ist, folgenden Befehl ausführen:

nmap 172.19.0.3
  1. Nachdem Sie diesen Befehl ausgeführt haben, führt Nmap einen Scan durch und gibt die Ergebnisse aus. Hier ist ein Beispiel für das, was Sie sehen könnten:
Starting Nmap 7.80 ( https://nmap.org ) at 2024-09-24 10:00 CST
Nmap scan report for 336efdcfb776.external (172.19.0.3)
Host is up (0.00017s latency).
Not shown: 998 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
3001/tcp open  nessus

Nmap done: 1 IP address (1 host up) scanned in 0.19 seconds
  1. Lassen Sie uns diese Ausgabe auseinandernehmen, um zu verstehen, was uns Nmap mitteilt:

    • "Starting Nmap 7.80": Dies ist die Version von Nmap, die Sie verwenden.
    • "Host is up": Dies bestätigt, dass die IP-Adresse auf den Scan geantwortet hat.
    • "Not shown: 998 closed ports": Nmap hat 1000 gängige Ports gescannt, und 998 von ihnen waren geschlossen.
    • "PORT STATE SERVICE": Dies zeigt die offenen Ports an, die Nmap gefunden hat.
      • 22/tcp open ssh: Port 22 ist offen und wird typischerweise für SSH (Secure Shell), ein Protokoll für sicheren Remote-Zugriff, verwendet.
      • 3001/tcp open nessus: Port 3001 ist offen und ist mit dem Nessus-Schwachstellen-Scanner verbunden.
  2. Dieser grundlegende Scan gibt uns einen schnellen Überblick über die auf dem Computer laufenden Dienste. In einer realen Welt-Situation könnte diese Information verwendet werden, um:

    • Potenzielle Schwachstellen zu identifizieren (z. B. einen unnötig offenen Port)
    • Zu überprüfen, ob erforderliche Dienste laufen
    • Unerwartete Dienste zu entdecken, die auf einen Sicherheitsvorfall hinweisen könnten

Denken Sie daran, dass Sie in der realen Welt nur Scans auf Netzwerken und Geräten durchführen sollten, die Sie besitzen oder für die Sie ausdrückliche Erlaubnis zur Prüfung haben. Unbefugtes Scannen kann illegal und unethisch sein.

Durchführen eines Betriebssystem-Erkennungs-Scans

Nmap ist nicht nur darauf beschränkt, offene Ports zu finden. Es kann auch versuchen, das Betriebssystem des Zielcomputers zu bestimmen. Diese Funktion ist für Netzwerkadministratoren und Sicherheitsexperten unglaublich nützlich, da verschiedene Betriebssysteme unterschiedliche Sicherheitslücken haben und unterschiedliche Sicherheitsmaßnahmen erfordern.

  1. Um einen Betriebssystem-Erkennungs-Scan durchzuführen, verwenden wir die Option -O (beachten Sie, dass dies ein großes 'O' ist, nicht die Zahl Null). Dieser Scan erfordert Root-Rechte, daher verwenden wir sudo. Führen Sie diesen Befehl aus und ersetzen Sie <YOUR_IP> durch Ihre tatsächliche IP-Adresse:
sudo nmap -O <YOUR_IP>

Beispielsweise würden Sie, wenn Ihre IP-Adresse 172.19.0.3 ist, folgenden Befehl ausführen:

sudo nmap -O 172.19.0.3
  1. Die Ausgabe wird ähnlich der des grundlegenden Scans sein, aber mit zusätzlichen Informationen über das Betriebssystem. Hier ist ein Beispiel:
Starting Nmap 7.80 ( https://nmap.org ) at 2024-09-24 10:01 CST
Nmap scan report for 336efdcfb776.external (172.19.0.3)
Host is up (0.000035s latency).
Not shown: 998 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
3001/tcp open  nessus
Device type: general purpose
Running: Linux 2.6.X
OS CPE: cpe:/o:linux:linux_kernel:2.6.32
OS details: Linux 2.6.32
Network Distance: 0 hops

OS detection performed. Please report any incorrect results at https://nmap.org/submit/.
Nmap done: 1 IP address (1 host up) scanned in 1.76 seconds
  1. Lassen Sie uns die neuen Informationen auseinandernehmen:

    • "Device type: general purpose": Dies zeigt an, dass es sich um einen normalen Computer handelt, nicht um ein spezialisiertes Gerät wie einen Router oder Drucker.
    • "Running: Linux 2.6.X": Nmap hat festgestellt, dass es sich wahrscheinlich um ein Linux-System handelt, das mit Kernel-Version 2.6.X läuft.
    • "OS details: Linux 2.6.32": Dies ist eine genauere Vermutung zur Kernel-Version.
  2. In einer realen Welt-Situation könnte diese Information auf verschiedene Weise verwendet werden:

    • Von Angreifern, um bestimmte Sicherheitslücken des Betriebssystems anzugreifen.
    • Von Verteidigern, um sicherzustellen, dass die Systeme ordnungsgemäß gepatcht und gesichert sind.
    • Von Netzwerkadministratoren, um ein Inventar der Systeme zu führen und sicherzustellen, dass alle auf dem neuesten Stand sind.

Es ist erwähnenswert, dass die Betriebssystem-Erkennung nicht immer 100 % genau ist. Nmap macht seine beste Vermutung basierend auf der Reaktion des Systems auf verschiedene Abfragen, aber Firewalls und andere Sicherheitsmaßnahmen können manchmal die genaue Erkennung stören.

Scannen eines Netzwerkbereichs

In realen Netzwerkumgebungen müssen Sie oft mehrere IP-Adressen oder ganze Netzwerksegmente scannen. Dies ist nützlich, um alle Geräte in einem Netzwerk zu entdecken, was eine häufige Aufgabe für Netzwerkadministratoren und Sicherheitsexperten ist. Versuchen wir es mal, einen Netzwerkbereich zu scannen.

  1. Wir werden einen kleinen Bereich von IP-Adressen basierend auf der IP-Adresse scannen, die wir bisher verwendet haben. Scannen wir den Bereich 172.19.0.1 - 20:
nmap 172.19.0.1-20

Dieser Befehl teilt Nmap mit, alle IP-Adressen von 172.19.0.1 bis 172.19.0.20 zu scannen.

  1. Jetzt scannen wir ein ganzes Subnetz. Wir verwenden die CIDR-Notation, um das Netzwerk anzugeben. Führen Sie den folgenden Befehl aus und ersetzen Sie <YOUR_NETWORK> durch Ihre Netzwerkadresse:
nmap < YOUR_NETWORK > /24

Beispiel:

nmap 172.19.0.0/24

NMAP scannt alle 256 IP-Adressen im Netzwerkbereich 172.19.0.0/24 (wobei /24 eine 24-Bit-Subnetzmaske angibt) auf aktive Hosts und offene Ports.

  1. Um die Ausgabe dieses Scans in einer Datei für eine spätere Analyse zu speichern, können wir die Option -oN verwenden, gefolgt von einem Dateinamen. Führen Sie aus:
nmap 172.19.0.0/24 -oN network_scan.txt

Dies führt den Scan durch und speichert die Ergebnisse in einer Datei namens network_scan.txt im aktuellen Verzeichnis.

  1. Schauen wir uns den Inhalt der Datei an:
cat network_scan.txt

Die Ausgabe zeigt die Ergebnisse für jeden antwortenden Host im Bereich. Hier ist ein Beispiel für das, was Sie sehen könnten:

## Nmap 7.80 scan initiated Fri Sep 27 15:45:29 2024 as: nmap -oN network_scan.txt 172.19.0.0/24
Nmap scan report for iZrj9gvdh5xn02z8rmsn9mZ (172.19.0.1)
Host is up (0.00045s latency).
Not shown: 997 closed ports
PORT      STATE SERVICE
22/tcp    open  ssh
111/tcp   open  rpcbind
10010/tcp open  rxapi

Nmap scan report for node_openresty.external (172.19.0.2)
Host is up (0.00047s latency).
Not shown: 999 closed ports
PORT   STATE SERVICE
80/tcp open  http

Nmap scan report for 36cff415ddd9.external (172.19.0.3)
Host is up (0.00045s latency).
Not shown: 998 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
3001/tcp open  nessus

Nmap scan report for 041bf22f47a1.external (172.19.0.4)
Host is up (0.00050s latency).
Not shown: 998 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
3001/tcp open  nessus

Nmap scan report for 2299e8eff7e5.external (172.19.0.5)
Host is up (0.00048s latency).
Not shown: 998 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
3001/tcp open  nessus

## Nmap done at Fri Sep 27 15:45:32 2024 -- 256 IP addresses (5 hosts up) scanned in 3.25 seconds
  1. Lassen Sie uns diese Ausgabe interpretieren:

    • Nmap hat alle 256 IP-Adressen im Netzwerk 172.19.0.0/24 gescannt.
    • Es wurden 5 Hosts gefunden, die aktiv und antwortbereit waren.
    • Für jeden Host wurden die gefundenen offenen Ports und Dienste aufgelistet.
  2. In einer realen Welt-Situation ist dieser Art von Scan unschätzbar wertvoll für:

    • Netzwerkadministratoren: Um ein Inventar der aktiven Hosts und Dienste in ihrem Netzwerk zu führen.
    • Sicherheitsexperten: Um alle Geräte in einem Netzwerk zu identifizieren und sicherzustellen, dass alle erfasst und gesichert sind.
    • Angreifer: Um potenzielle Ziele in einem Netzwerk zu identifizieren, weshalb es von entscheidender Bedeutung ist, Netzwerke gegen unbefugtes Scannen zu sichern.

Denken Sie daran, dass diese Kenntnisse zwar mächtig sind, es aber von entscheidender Bedeutung ist, sie verantwortungsvoll zu nutzen. Holen Sie sich immer die entsprechende Genehmigung, bevor Sie ein Netzwerk scannen, das nicht Ihr eigenes ist.

Zusammenfassung

Herzlichen Glückwunsch! Sie haben soeben Ihre ersten Schritte in die Welt des Netzwerkscannens und der Netzwerksicherheit unternommen. In diesem Lab haben Sie praktische Erfahrungen mit Nmap gesammelt, einem der leistungsstärksten Tools im Werkzeugkasten eines Netzwerkprofis. Lassen Sie uns zusammenfassen, was Sie gelernt haben:

  1. Installation: Sie haben Nmap installiert, eine entscheidende Fähigkeit für die Einrichtung Ihres Cybersicherheit-Werkzeugkastens.
  2. Grundlegende Nutzung: Sie haben einen einfachen Scan durchgeführt und gelernt, wie Sie offene Ports und Dienste auf einem einzelnen Host identifizieren können.
  3. Betriebssystem-Erkennung: Sie haben die Betriebssystem-Erkennungsfunktion von Nmap genutzt und verstanden, wie diese Informationen sowohl für Angreifer als auch für Verteidiger von entscheidender Bedeutung sein können.
  4. Netzwerk-Exploration: Sie haben einen Bereich von IP-Adressen und ein ganzes Subnetz gescannt und so simuliert, wie Profis ein Netzwerk kartieren könnten.
  5. Ausgabe-Verwaltung: Sie haben gelernt, wie Sie Scanergebnisse in einer Datei für eine spätere Analyse speichern können, eine essentielle Fähigkeit für die Dokumentation von Netzwerkprüfungen.

Dieses Lab hat Ihnen eine Grundlage im Netzwerkscannen vermittelt, aber es gibt noch viel mehr zu lernen über Nmap und die Netzwerksicherheit. Um Ihre Reise fortzusetzen und Ihr Verständnis zu vertiefen, empfehlen wir Ihnen, den umfassenden Kurs "Quick Start with Nmap" auf https://labex.io/courses/quick-start-with-nmap zu besuchen.

Quick Start with Nmap

Dieser Kurs baut auf den heute erlernten Fähigkeiten auf und führt Sie in fortgeschrittenere Nmap-Techniken und Netzwerksicherheitskonzepte ein.

Denken Sie daran, dass das von Ihnen erworbene Wissen mächtig ist und verantwortungsvoll eingesetzt werden sollte. Stellen Sie immer sicher, dass Sie die entsprechende Genehmigung haben, bevor Sie ein Netzwerk scannen, und nutzen Sie Ihre Fähigkeiten, um Sicherheit und ethische Praktiken in der digitalen Welt zu fördern.

Bleiben Sie neugierig, lernen Sie weiter und viel Spaß beim Scannen!