Nmap Anleitung: Netzwerke scannen und Schwachstellen erkennen

Nmap (Network Mapper) ist ein Open-Source-Tool zur Netzwerkerkundung und Sicherheitsüberprüfung. Es hilft Administratoren und Entwicklern dabei, Hosts zu identifizieren, laufende Dienste zu erkennen und potenzielle Schwachstellen innerhalb eines Netzwerks aufzudecken. Nmap zeigt an, welche Ports aktiv sind, welche Dienste darauf lauschen und welches Betriebssystem auf dem Zielsystem ausgeführt wird.

In dieser Anleitung werden die wichtigsten Aufgaben mit Nmap vorgestellt – darunter das Scannen von Hosts auf offene Ports, das Ermitteln der auf diesen Ports laufenden Dienste sowie die Nutzung der Nmap Scripting Engine (NSE) zur Schwachstellenanalyse. Außerdem erfahren Sie, wie Sie die Scan-Ergebnisse interpretieren und grundlegende Sicherheitsmaßnahmen umsetzen.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass:

  • Sie Zugriff auf ein Linux-basiertes System haben.
  • Ihr Benutzerkonto über sudo-Rechte verfügt, aber kein Root-Konto ist.

Der Befehl nmap

In diesem Abschnitt wird die Syntax des Befehls nmap erläutert und seine Hauptbestandteile erklärt.

Befehls-Syntax

nmap [SCAN TYPES...] [OPTIONS] TARGET

Erklärung:

  • [SCAN TYPES…]: Bestimmt, wie Nmap den Zielhost untersucht und offene Ports erkennt.
  • [OPTIONS]: Zusätzliche Parameter und Flags, die das Scanverhalten und die Ausgabe steuern.
  • TARGET: Gibt das Zielsystem oder Netzwerk an – IP-Adresse, Hostname, IP-Bereich oder Subnetz.

Häufige Scan-Typen

Nachfolgend sind die gängigsten Scan-Typen aufgeführt. Einige erfordern erhöhte Rechte.

Option Beschreibung
-sS TCP SYN Scan (Standard, benötigt Root-Rechte)
-sT TCP Connect Scan
-sU UDP Scan
-sn Nur Host-Erkennung, kein Port-Scan
-sV Erkennung der Dienstversion
-O Erkennung des Betriebssystems
-A Aggressiver Scan, aktiviert -sV, -O und -sC

Häufige Befehlsoptionen

Option Flag Beschreibung
Portspezifikation -p Bestimmt, welche Ports gescannt werden, z. B. -p 22,80,443.
Schneller Scan -F Scant nur die 100 häufigsten Ports.
Detaillierte Ausgabe -v Zeigt detaillierte Informationen während des Scans an.

Durchführen eines Basis-Portscans

Mit Nmap lassen sich offene TCP-Ports identifizieren, die potenzielle Einstiegspunkte darstellen könnten. In diesem Beispiel wird localhost als Ziel verwendet. Ersetzen Sie es durch eine IP-Adresse oder einen Hostnamen, den Sie scannen dürfen.

Standardmäßig überprüft Nmap die 1.000 häufigsten Ports. Führen Sie den folgenden Befehl aus, um einen Basis-Scan zu starten:

Beispielausgabe

Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-10-03 21:49 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000011s latency).
Other addresses for localhost (not scanned): ::1
Not shown: 997 closed tcp ports (reset)
PORT     STATE SERVICE
22/tcp   open  ssh
3001/tcp open  nessus
5432/tcp open  postgresql

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

Ergebnisse interpretieren

  • Not shown: 997 closed tcp ports – Diese Ports sind geschlossen oder gefiltert.
  • PORT – Zeigt die Portnummer und das Protokoll an.
  • STATE – Gibt an, ob der Port offen, geschlossen oder gefiltert ist.
  • SERVICE – Zeigt den erkannten Dienst, der auf dem Port läuft.

In diesem Beispiel sind die offenen Ports 22 (SSH), 3001 (Nessus) und 5432 (PostgreSQL).

Dienste und Betriebssysteme erkennen

Mit Nmap lassen sich auch die Versionen der auf offenen Ports laufenden Dienste feststellen – hilfreich zur Erkennung veralteter oder unsicherer Software.

Führen Sie folgenden Befehl aus, um die Versionserkennung zu starten:

Beispielausgabe

Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-10-03 21:56 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000011s latency).
Other addresses for localhost (not scanned): ::1
Not shown: 997 closed tcp ports (reset)
PORT     STATE SERVICE    VERSION
22/tcp   open  ssh        OpenSSH 9.6p1 Ubuntu 3ubuntu13.13 (Ubuntu Linux; protocol 2.0)
3001/tcp open  nessus?
5432/tcp open  postgresql PostgreSQL DB 9.6.0 or later

Die Ausgabe zeigt erkannte Versionen wie OpenSSH 9.6p1 und PostgreSQL 9.6.0 oder neuer. Das Fragezeichen bei Nessus bedeutet, dass die Erkennung unsicher ist und manuell überprüft werden sollte.

Schwachstellenscans mit der Nmap Scripting Engine (NSE)

Die Nmap Scripting Engine (NSE) erweitert Nmap um automatisierte Aufgaben wie Schwachstellen-Scans. Die Kategorie vuln enthält Skripte, die bekannte Sicherheitslücken prüfen. Im folgenden Beispiel wird ein Test mit dem FTP-Dienst vsftpd durchgeführt, um eine absichtliche Schwachstelle zu erkennen.

Installation von vsftpd

Auf Ubuntu- oder Debian-Systemen:

$ sudo apt install -y vsftpd

Auf Rocky Linux oder RHEL-Systemen:

$ sudo dnf install -y vsftpd

Schwachstelle erzeugen (Anonymer Login)

Um eine Sicherheitslücke zu simulieren, aktivieren Sie den anonymen Zugriff in der vsftpd-Konfiguration.

Datei bearbeiten:

$ sudo nano /etc/vsftpd.conf

Suchen Sie die Zeile anonymous_enable=NO und ändern Sie den Wert auf YES. Speichern Sie die Datei und starten Sie den Dienst neu:

$ sudo systemctl restart vsftpd

Schwachstellenscan ausführen

Führen Sie das Skript ftp-anon aus, um zu prüfen, ob der FTP-Server anonyme Logins erlaubt:

$ sudo nmap -p 21 --script ftp-anon localhost

Beispielausgabe

Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-08-22 11:04 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00010s latency).
Other addresses for localhost (not scanned): ::1

PORT   STATE SERVICE
21/tcp open  ftp
|_ftp-anon: Anonymous FTP login allowed (FTP code 230)

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

Der Scan bestätigt die Schwachstelle: anonymer FTP-Zugang ist erlaubt (FTP code 230).

Behebung der Schwachstelle

Deaktivieren Sie den anonymen Login, um die Sicherheitslücke zu schließen.

Bearbeiten Sie erneut die Konfigurationsdatei:

$ sudo nano /etc/vsftpd.conf

Ändern Sie anonymous_enable=YES zurück auf NO und starten Sie den Dienst neu:

$ sudo systemctl restart vsftpd

Scannen Sie erneut, um sicherzustellen, dass die Schwachstelle behoben wurde:

$ sudo nmap -p 21 --script ftp-anon localhost

Ausgabe

Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-08-22 11:19 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00010s latency).
Other addresses for localhost (not scanned): ::1

PORT   STATE SERVICE
21/tcp open  ftp

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

Fazit

Diese Anleitung hat gezeigt, wie Nmap eingesetzt wird, um Netzwerke zu scannen und Schwachstellen zu erkennen. Sie haben verschiedene Scan-Arten durchgeführt, Dienste und Versionen analysiert, den anonymen FTP-Zugang getestet und die Konfiguration abgesichert. Für weiterführende Informationen empfiehlt sich die offizielle Nmap-Dokumentation.

Quelle: vultr.com

Jetzt 200€ Guthaben sichern

Registrieren Sie sich jetzt in unserer ccloud³ und erhalten Sie 200€ Startguthaben für Ihr Projekt.

Das könnte Sie auch interessieren: