DIgilife - stock.adobe.com

Ports mit Nmap scannen: Eine umfassende Anleitung

Nmap ist ein flexibles Open Source Tool für Portscans. Damit lassen sich Schwachstellen erkennen, Firewall-Regeln testen, Netzwerke inventarisieren und Verbindungsprobleme beheben.

Fragen Sie beliebige Sicherheits-, Netzwerk- oder Systemadministratoren nach den wichtigsten Tools in ihrem Werkzeugkasten, dann dürfte Nmap höchstwahrscheinlich auf deren Liste stehen. Nmap ist die Abkürzung für Network Mapper. Dieses vielseitige Utility eignet sich für eine Vielzahl von Aufgaben, etwa für Portscans und die Verwaltung von Sicherheitskonfigurationen bis hin zum Troubleshooting von Netzwerkverbindungen, der Dokumentation von Netzwerkumgebungen und dem Monitoring der System-Uptime.

Nmap bietet eine breite Palette an Funktionen, und seine zusätzlichen Scripting-Optionen machen es noch attraktiver. Das Tool sammelt Informationen, identifiziert Betriebssysteme, liefert Performance-Daten, zeigt Systemdetails wie MAC- und IP-Adressen an und vieles mehr. Da es sich bei Nmap um Open-Source-Software handelt, gibt es hinsichtlich Unterstützung und Funktionalität nahezu keine Einschränkungen.

Eine der wichtigsten Funktionen von Nmap, die man beherrschen sollte, ist Portscanning. Sehen wir uns zunächst gängige Ports und Anwendungsfälle für Portscanning an, bevor wir uns damit beschäftigen, wie sich mit Nmap verschiedene Arten von Portscans durchführen lassen.

So laden Sie Nmap herunter und installieren es

Laden Sie zunächst das entsprechende Installationsprogramm von der offiziellen Nmap-Website herunter.

  • Linux-Nutzer: Installieren Sie Nmap mit dem in der Beschreibung verlinkten Red Hat Package Manager.
  • Nmap ist in Kali Linux und Parrot OS standardmäßig vorinstalliert.
  • Mac-Nutzer: Greifen Sie über eine Disk-Image-Datei auf die Binärdateien zu. Sie können Nmap auch über den Homebrew-Paketmanager installieren, indem Sie $ brew install nmap eingeben.
  • Windows-Administratoren: Laden Sie den Installer herunter.

Sie können Nmap auch selbst kompilieren, wenn Sie bestimmte Anpassungen oder Einstellungen benötigen. Um eine grafische Version von Nmap zu verwenden, anstatt ausschließlich über die Befehlszeile zu arbeiten, laden Sie das Zenmap-Frontend herunter, und installieren Sie es.

Auf der Nmap-Website finden Sie umfangreiche Dokumentationen und ein Skript-Repository mit vielen nützlichen und komplexen Konfigurationen für jede Art von Scan.

Die Grundlagen von Nmap-Portscans

Ports sind Kommunikationsendpunkte, über die Daten fließen. Die Portnummern reichen von 0 bis 65.535:

  • Bei Port 0 handelt es sich um einen reservierten Port, der nicht für die Verwendung in TCP- oder UDP-Nachrichten vorgesehen ist.
  • Die Ports 1 bis 1023 sind sogenannte Well-Known Ports, die als Standard für Internetprotokolle genutzt werden und von der Internet Assigned Numbers Authority (IANA) festgelegt wurden.
  • Die Ports 1024 bis 49151 sind bei der IANA für bestimmte Anwendungen und Services registriert.
  • Die Ports 49152 bis 65535, die man als ephemere (temporäre), dynamische oder private Ports bezeichnet, kommen bei Bedarf für zeitlich begrenzte Verbindungen zum Einsatz.

Ein Portscan ist eine Methode zur Netzwerkerkennung, bei der eine Reihe von Sondierungsnachrichten, sogenannte Probes, an ein Gerät gesendet werden. Portscanner wie Nmap sind Anwendungen, die Portscans durchführen, um festzustellen, welche Ports offen oder geschlossen sind.

Anwendungsfälle für Nmap-Portscans

Eine der nützlichsten und am häufigsten verwendeten Funktionen von Nmap ist das Scannen nach bestimmten Portinformationen. Zu den gängigen Anwendungsfällen für Nmap-Portscans gehören:

  • Aufspüren und Beheben potenzieller Schwachstellen.
  • Das Testen von Firewall-Regeln.
  • Sicherheitsaudits.
  • Inventarisierung von Netzwerkgeräten.
  • Erkennen neuer Geräte in einem Netzwerk.
  • Troubleshooting von Konnektivitätsproblemen.
  • Erfassen der Netzwerktopologie.
  • Identifizieren von Netzwerkengpässen.
  • Durchführen von Penetrationstests.
  • Durchführen von Incident Response.
  • Schließen ungenutzter Ports, um zu gewährleisten, dass der Server nur Traffic für die von ihm angebotenen Services beachtet.
  • Scannen der Cloud-Infrastruktur, unter anderem VMs, Cloud-Dienste und virtuelle Netzwerke.

Denken Sie daran, dass auch Angreifer Portscans durchführen, um Netzwerke auszukundschaften. Mit einem Portscanner können sie erkennen, welche Dienste auf einem Gerät ausgeführt werden, und Schwachstellen identifizieren, die sich für einen Angriff ausnutzen lassen.

Die verschiedenen Portzustände

Nmap-Portscans geben für jeden überprüften Port einen der folgenden Zustände zurück:

Nmap-Scans mit drei offenen Ports auf einem Windows-Ziel.
Abbildung 1: Ausgabe eines Nmap-Scans mit drei offenen Ports auf einem Windows-Ziel.
  • Open (Offen): Gibt an, dass ein Dienst aktiv auf diesem Port lauscht, läuft und Verbindungen akzeptiert.
  • Closed (Geschlossen): Bedeutet, dass zwar Probes empfangen werden und der Port erreichbar ist, aber derzeit keine Dienste auf dem Port laufen.
  • Filtered (Gefiltert): Nmap hat keine Hinweise erhalten, dass die Probes empfangen wurden, und kann den Zustand des Ports nicht bestimmen. Dies ist häufig auf die Paketfilterung durch eine Firewall zurückzuführen.
  • Unfiltered (Ungefiltert): Gibt an, dass Probes empfangen wurden, Nmap den Zustand jedoch nicht ermitteln kann.
  • Open/Filtered (Offen/Gefiltert): Der Port ist offen oder gefiltert, aber Nmap kann den Zustand nicht bestimmen.
  • Closed/Filtered (Geschlossen/Gefiltert): Der Port ist geschlossen oder gefiltert, aber Nmap kann den Zustand nicht bestimmen.

Nmap-Portscans: Gängige Ports und Methoden

Die folgenden Ports und Dienste werden typischerweise bei Nmap-Scans verwendet:

  • TCP-Port 22: Secure Shell (SSH), kommt oft für sichere Verbindungen zu Remote-Linux-, -macOS- und -Netzwerkgeräten zum Einsatz.
  • TCP-Ports 80 und 443: HTTP und HTTPS, die für interne Webservices genutzt werden.
  • TCP-Port 123: Network Time Protocol (NTP), wird zur Synchronisierung von Zeitdiensten auf Netzwerkknoten verwendet.
  • TCP-Port 3389: Remote Desktop Protocol (RDP), wird üblicherweise für die sichere Remote-Verwaltung von Windows-Systemen verwendet.
  • TCP-Port 1433: Datenbank-Engine von Microsoft SQL Server, kommt normalerweise für MS-SQL-Datenbanken zum Einsatz.
  • TCP-Port 389: Lightweight Directory Access Protocol (LDAP), häufig in Umgebungen mit Microsoft Active Directory anzutreffen.
  • TCP-Port 445: Server Message Block (SMB), wird für modernes Windows-Filesharing genutzt.
  • UDP-Ports 135, 137 und 138 sowie TCP-Port 139: Ältere SMB-Filesharing-Protokolle von Windows.

In Netzwerken sind auf einigen Geräten weitere Ports für benutzerdefinierte oder Drittanbieter-Apps geöffnet. Lesen Sie daher Ihre Dokumentation sorgfältig durch. Testen Sie diese Ports im Netzwerk Ihres Unternehmens. Sie können auch scanme.nmap.org besuchen, einen vom Nmap Security Scanner Project zu Testzwecken eingerichteten Host.

Nachfolgend finden Sie einige häufige Arten und Methoden von Nmap-Portscans:

  • TCP-SYN-Scans: Diese Scans, auch TCP-half-open-Scans genannt, senden SYN-Pakete (Synchronization), beenden jedoch nie den TCP-Handshake.
  • UDP-Scans: Diese senden UDP-Pakete an Zielports und ermitteln den Portzustand.
  • TCP-Connect-Scans: Diese führen einen vollständigen TCP-Drei-Wege-Handshake mit Zielports durch, wodurch sie leichter zu erkennen, aber auch zuverlässiger sind.
  • SCTP-INIT-Scans: Ähnlich wie TCP-SYN-Scans, aber für das Stream Control Transmission Protocol (SCTP). Diese Scans senden INIT-Chunks (Initiation), um Dienste auf SCTP-fähigen Systemen zu erkennen, zum Beispiel VoIP- und Telekommunikationsnetzwerken.
  • Null-Scans: Diese senden TCP-Pakete ohne gesetzte Flags, die Firewall-Regeln umgehen und geschlossene Ports erkennen können, wenn diese mit RST-Paketen (Reset) antworten.
  • FIN-Scans: Diese übertragen Pakete, bei denen nur das FIN-Flag (Finish) gesetzt ist. FIN gibt an, dass die Verbindung beendet wurde. Danach antwortet ein geschlossener Port in der Regel mit einem RST, während offene und gefilterte Ports nicht antworten.
  • Xmas-Scans: Diese setzen die Flags FIN, PSH (Push) und URG (Urgent), wodurch das Paket so auffällig „wie ein Weihnachtsbaum aufleuchtet“, um Antworten von geschlossenen Ports zu provozieren.
  • TCP-ACK-Scans: Diese senden TCP-Pakete nur mit dem ACK-Signal (Acknowledgement), das dem Absender mitteilt, dass ein Paket empfangen wurde. Wird in erster Linie verwendet, um Firewall-Regeln und Einstellungen für die Paketfilterung zu ermitteln.
  • IP-Scans: Anstatt nach Ports zu suchen, bestimmen diese Scans, welche IP-Protokolle vom Zielsystem unterstützt werden.
  • FTP-Bounce-Scans: Diese nutzen einen FTP-Server, um nach Ports zu scannen. Die meisten modernen FTP-Server blockieren diese Schwachstelle.

Schrittweise Anleitung zur Durchführung von Nmap-Portscans

Wenn Sie sich mit der Bedienung von Nmap vertraut machen, werden Sie feststellen, dass das Tool über viele Optionen verfügt, mit denen sich die Art und Weise, wie Ziele gescannt werden, genau steuern lässt. Die wichtigste Option für Portscans ist -p, gefolgt von einer oder mehreren Portnummern. Öffnen Sie ein Terminal-Fenster, und nutzen Sie die folgenden Befehle, um verschiedene Arten von Scans durchzuführen.

So führen Sie einen Standardscan durch

Um einen Standardscan durchzuführen, verwenden Sie den folgenden Befehl mit einem bestimmten Ziel, etwa einer IP-Adresse oder einem Host-Namen:

nmap 192.168.1.10

Dadurch wird ein Scan der 1.000 gängigsten TCP-Ports durchgeführt – entweder ein TCP-SYN-Scan für privilegierte Benutzer oder ein TCP-Connect-Scan für nicht privilegierte Anwender. Die Scanergebnisse enthalten Zielinformationen, darunter IPv4- und IPv6-Adressen, Reverse-DNS-Namen, Ports und Portzustände.

So scannen Sie einen bestimmten, einzelnen Port

Geben Sie den folgenden Befehl ein, um einen einzelnen Port zu scannen, beispielsweise den älteren Windows-Filesharing-Port 135:

nmap -p 135 192.168.1.10

Falls eine Namensauflösung verfügbar ist, können Sie auch den Host-Namen des Ziels angeben. Das Ziel kann auch eine Web-URL sein.

Nmap-Scans speziell für TCP-Port 135.
Abbildung 2: Ausgabe des Nmap-Scans speziell für TCP-Port 135.

So scannen Sie alle Ports

Um alle Ports von eins bis 65535 zu scannen, verwenden Sie den Parameter -p-:

nmap -p- 135 192.168.1.10

Dadurch werden alle Ports gescannt und nicht nur die 1.000 wichtigsten Ports wie bei einem Standardscan.

So scannen Sie mehrere Ports manuell

Vielleicht möchten Sie mehrere Ports gleichzeitig scannen, insbesondere Ports, die miteinander in Zusammenhang stehen, beispielsweise Webdienste oder ältere SMB-Verbindungen.

nmap -p 80,443 192.168.1.10

nmap -p 137,138,139 192.168.1.10

Dieser Ansatz ermöglicht einen einfacheren und umfassenderen Scan, wenn Sie genau wissen, für welche Ports Sie Ergebnisse benötigen.

Nmap-Scan für mehrere Ports.
Abbildung 3: Ergebnisse eines Nmap-Scans für mehrere Ports.

So scannen Sie einen Portbereich

Sie können Nmap auch anweisen, einen Portbereich zu scannen, etwa von eins bis 100:

nmap -p 1-100 192.168.1.10

So scannen Sie mehrere Ports automatisch

Nmap-Scan für die Ports 1 bis 100.
Abbildung 4: Nmap-Scanausgabe für die Ports eins bis 100.

Nmap lässt sich einfach mit Automatisierungs- und Effizienzprozessen kombinieren. Es kann zum Beispiel die Ports scannen, die Sie am ehesten untersuchen müssen. Beginnen Sie mit der Option -F für einen Schnellscan der 100 am häufigsten verwendeten Ports.

nmap -F 192.168.1.10

Beachten Sie, dass der Standardscan von Nmap die 1.000 am häufigsten genutzten Ports überprüft, was die für umfangreiche Netzwerkscans erforderliche Zeit erheblich verlängert.

Nmap-Scan für die am häufigsten verwendeten Netzwerkports.
Abbildung 5: Ergebnisse eines Nmap-Scans für die am häufigsten verwendeten Netzwerkports.

So scannen Sie nach den wichtigsten Ports

Verwenden Sie die Option --top-ports, wenn Sie den Scan nach einer bestimmten Anzahl der wichtigsten Ports suchen lassen möchten. Geben Sie beispielsweise folgenden Befehl ein, um die 20 am häufigsten verwendeten Ports zu scannen:

nmap --top-ports 20 192.168.1.10
Nmap-Scan für die 20 am häufigsten genutzten Ports.
Abbildung 6: Nmap-Scanausgabe für die 20 am häufigsten genutzten Ports.

So schließen Sie Ports von einem Scan aus

Sie können Nmap-Scans skripten, was besonders nützlich ist, wenn Sie wiederholt nach bestimmten Ports suchen. Skripte eignen sich für besonders spezifische Befehle und Optionen. Mit dem Nmap-Flag --exclude-ports können Sie verhindern, dass bestimmte Ports gescannt werden. Sie können zum Beispiel ein Skript erstellen, um die 100 häufigsten Ports mit der Option -F zu scannen, aber auch, um Ports für Webdienste auszuschließen, die Ihnen bereits bekannt sind.

nmap -F --exclude-ports 80,443 192.168.1.10

Ausschlüsse sorgen für effizientere Scans. Die Beispiele in diesem Abschnitt beziehen sich auf ein einzelnes Gerät. Aber die durch Ausschlüsse mögliche Präzision kann auch für netzwerkweite Scans ganzer Subnetze von Vorteil sein.

Das Scannen ist ein wesentlicher Bestandteil von Audits

Ports mit Nmap zu scannen, ist für Netzwerkaudits, Servicemanagement und -härtung essenziell. Die Verbreitung von Infrastructure-as-Code-Automatisierung, orchestrierten Bereitstellungen sowie skalierbaren und virtualisierten Geräten bedeutet, dass Sie nicht immer genau wissen, was in Ihrer Umgebung vorhanden ist. Das Scannen ist eine hervorragende Möglichkeit, um sicherzustellen, dass Sie über alle Zugangspunkte informiert sind.

Regelmäßige Nmap-Scans tragen dazu bei, die Funktionalität und Sicherheit eines Netzwerks zu gewährleisten. Wenn Admins den Umgang mit Nmap erlernen, erwerben sie die erforderlichen Fähigkeiten und die nötige Sicherheit, um Netzwerke und Server zu härten. Zudem ist dies für die Netzwerkübersicht, das Troubleshooting und die Vorbereitung auf einen Audit unerlässlich.

Laden Sie Nmap am besten noch heute für Ihr bevorzugtes Betriebssystem herunter, und entdecken Sie, wie Sie damit die Sicherheit Ihres Unternehmens verbessern und Ihr Support-Team unterstützen können.

Hinweis der Redaktion: Nmap lässt sich sowohl für legale als auch illegale Zwecke nutzen. Es liegt in Ihrer Verantwortung, dafür zu sorgen, dass Sie das Tool legal einsetzen. Holen Sie vor der Durchführung von Portscans die entsprechenden Genehmigungen und Zustimmungen ein, und gehen Sie mit den gewonnenen Informationen ethisch um. Wenn Sie sich nicht sicher sind, ob Ihre Nutzung legal ist, fahren Sie erst dann fort, nachdem Sie sich davon überzeugt haben – beispielsweise indem Sie Ihre geplante Nutzung mit dem Rechtsberater Ihres Unternehmens besprechen und abklären.

Dieser Artikel ist im Original in englischer Sprache auf Search Security erschienen.

Erfahren Sie mehr über Netzwerksicherheit