Was ist Nmap und wie wird es verwendet? - Ein Tutorial für das größte Scan-Tool aller Zeiten

Nmap ist das bekannteste Scan-Tool, das von Penetrationstestern verwendet wird. In diesem Artikel werden einige Kernfunktionen von Nmap sowie einige nützliche Befehle beschrieben.

Was ist Nmap?

Nmap ist die Abkürzung für Network Mapper. Es ist ein Open-Source-Linux-Befehlszeilentool, mit dem IP-Adressen und Ports in einem Netzwerk gescannt und installierte Anwendungen erkannt werden.

Mit Nmap können Netzwerkadministratoren ermitteln, welche Geräte in ihrem Netzwerk ausgeführt werden, offene Ports und Dienste erkennen und Schwachstellen erkennen.

Gordon Lyon (Pseudonym Fyodor) hat Nmap als Tool geschrieben, um ein gesamtes Netzwerk einfach abzubilden und seine offenen Ports und Dienste zu finden.

Nmap ist sehr beliebt geworden und wird in Filmen wie The Matrix und der beliebten Serie Mr. Robot gezeigt.

Warum Nmap verwenden?

Es gibt eine Reihe von Gründen, warum Sicherheitsprofis Nmap anderen Scan-Tools vorziehen.

Erstens hilft Ihnen Nmap dabei, ein Netzwerk ohne ausgefeilte Befehle oder Konfigurationen schnell zuzuordnen. Es unterstützt auch einfache Befehle (zum Beispiel um zu überprüfen, ob ein Host aktiv ist) und komplexes Scripting über die Nmap-Scripting-Engine.

Weitere Funktionen von Nmap sind:

  • Möglichkeit, alle Geräte einschließlich Server, Router, Switches, Mobilgeräte usw. in einem oder mehreren Netzwerken schnell zu erkennen.
  • Hilft bei der Identifizierung von Diensten, die auf einem System ausgeführt werden, einschließlich Webservern, DNS-Servern und anderen gängigen Anwendungen. Nmap kann auch Anwendungsversionen mit angemessener Genauigkeit erkennen, um vorhandene Schwachstellen zu erkennen.
  • Nmap kann Informationen zum Betriebssystem finden, das auf Geräten ausgeführt wird. Es kann detaillierte Informationen wie Betriebssystemversionen bereitstellen, wodurch es einfacher wird, zusätzliche Ansätze während der Penetrationstests zu planen.
  • Während der Sicherheitsüberwachung und des Scannens von Sicherheitslücken können Sie Nmap verwenden, um Systeme mit vorhandenen Skripten der Nmap Scripting Engine anzugreifen.
  • Nmap verfügt über eine grafische Benutzeroberfläche namens Zenmap. Es hilft Ihnen bei der Entwicklung visueller Zuordnungen eines Netzwerks für eine bessere Benutzerfreundlichkeit und Berichterstellung.

Befehle

Schauen wir uns einige Nmap-Befehle an. Wenn Sie Nmap nicht installiert haben, können Sie es hier herunterladen.

Grundlegende Scans

Das Scannen der Liste der aktiven Geräte in einem Netzwerk ist der erste Schritt bei der Netzwerkzuordnung. Es gibt zwei Arten von Scans, die Sie dafür verwenden können:

  • Ping-Scan - Scannt die Liste der Geräte, die in einem bestimmten Subnetz ausgeführt werden.
> nmap -sp 192.168.1.1/24
  • Scannen eines einzelnen Hosts - Durchsucht einen einzelnen Host nach 1000 bekannten Ports. Diese Ports werden von gängigen Diensten wie SQL, SNTP, Apache und anderen verwendet.
> nmap scanme.nmap.org

Stealth-Scan

Das Stealth-Scannen wird durchgeführt, indem ein SYN-Paket gesendet und die Antwort analysiert wird. Wenn SYN / ACK empfangen wird, bedeutet dies, dass der Port geöffnet ist und Sie eine TCP-Verbindung herstellen können.

Ein Stealth-Scan schließt den 3-Wege-Handshake jedoch nie ab, was es dem Ziel erschwert, das Scansystem zu bestimmen.

> nmap -sS scanme.nmap.org

Mit dem Befehl '-sS' können Sie einen Stealth-Scan durchführen. Denken Sie daran, dass das Stealth-Scannen langsamer und nicht so aggressiv ist wie die anderen Scantypen. Daher müssen Sie möglicherweise eine Weile warten, um eine Antwort zu erhalten.

Versionsscan

Das Finden von Anwendungsversionen ist ein entscheidender Bestandteil bei Penetrationstests.

Dies erleichtert Ihnen das Leben, da Sie in der CVE-Datenbank (Common Vulnerabilities and Exploits) für eine bestimmte Version des Dienstes eine vorhandene Sicherheitsanfälligkeit finden können. Sie können es dann verwenden, um eine Maschine mit einem Exploitationstool wie Metasploit anzugreifen.

> nmap -sV scanme.nmap.org

Verwenden Sie den Befehl '-sV', um einen Versionsscan durchzuführen. Nmap wird eine Liste der Dienste mit seinen Versionen bereitstellen. Denken Sie daran, dass Versionsscans nicht immer 100% genau sind, aber Sie sind dem erfolgreichen Einstieg in ein System einen Schritt näher gekommen.

Betriebssystem-Scannen

Zusätzlich zu den Diensten und ihren Versionen kann Nmap mithilfe des TCP / IP-Fingerabdrucks Informationen zum zugrunde liegenden Betriebssystem bereitstellen. Nmap versucht auch, die Systemverfügbarkeit während eines Betriebssystem-Scans zu ermitteln.

> nmap -sV scanme.nmap.org

Sie können die zusätzlichen Flags wie osscan-limit verwenden, um die Suche auf einige erwartete Ziele zu beschränken. Nmap zeigt den Konfidenzprozentsatz für jede Betriebssystemschätzung an.

Auch hier ist die Betriebssystemerkennung nicht immer genau, trägt jedoch wesentlich dazu bei, dass ein Pen-Tester seinem Ziel näher kommt.

Aggressives Scannen

Nmap verfügt über einen aggressiven Modus, der Betriebssystemerkennung, Versionserkennung, Skript-Scannen und Traceroute ermöglicht. Sie können das Argument -A verwenden, um einen aggressiven Scan durchzuführen.

> nmap -A scanme.nmap.org

Aggressive Scans liefern weitaus bessere Informationen als normale Scans. Ein aggressiver Scan sendet jedoch auch mehr Sonden aus, und es ist wahrscheinlicher, dass er bei Sicherheitsüberprüfungen erkannt wird.

Mehrere Hosts scannen

Nmap kann mehrere Hosts gleichzeitig scannen. Diese Funktion ist sehr praktisch, wenn Sie eine große Netzwerkinfrastruktur verwalten.

Sie können mehrere Hosts durch zahlreiche Ansätze scannen:

  • Schreiben Sie alle IP-Adressen in eine einzige Zeile, um alle Hosts gleichzeitig zu scannen.
> nmap 192.164.1.1 192.164.0.2 192.164.0.2
  • Verwenden Sie das Sternchen (*), um alle Subnetze gleichzeitig zu scannen.
> nmap 192.164.1.*
  • Fügen Sie Kommas hinzu, um die Adressenden zu trennen, anstatt die gesamten Domänen einzugeben.
> nmap 192.164.0.1,2,3,4
  • Verwenden Sie einen Bindestrich, um einen Bereich von IP-Adressen anzugeben
> nmap 192.164.0.0–255

Port-Scannen

Das Scannen von Ports ist eine der grundlegendsten Funktionen von Nmap. Sie können auf verschiedene Arten nach Ports suchen.

  • Verwenden Sie den Parameter -p, um nach einem einzelnen Port zu suchen
> nmap -p 973 192.164.0.1
  • Wenn Sie den Porttyp angeben, können Sie nach Informationen zu einem bestimmten Verbindungstyp suchen, z. B. nach einer TCP-Verbindung.
> nmap -p T:7777, 973 192.164.0.1
  • Eine Reihe von Ports kann gescannt werden, indem sie durch einen Bindestrich getrennt werden.
> nmap -p 76–973 192.164.0.1
  • Sie können auch das Flag -top-ports verwenden, um die obersten n zu scannenden Ports anzugeben.
> nmap --top-ports 10 scanme.nmap.org

Scannen aus einer Datei

Wenn Sie eine große Liste von IP-Adressen scannen möchten, können Sie dies tun, indem Sie eine Datei mit der Liste der IP-Adressen importieren.

> nmap -iL /input_ips.txt

Mit dem obigen Befehl werden die Scanergebnisse aller angegebenen Domänen in der Datei "input_ips.txt" erstellt. Neben dem einfachen Scannen der IP-Adressen können Sie auch zusätzliche Optionen und Flags verwenden.

Ausführlichkeit und Exportieren von Scanergebnissen

Penetrationstests können Tage oder sogar Wochen dauern. Das Exportieren von Nmap-Ergebnissen kann hilfreich sein, um redundante Arbeiten zu vermeiden und die Erstellung von Abschlussberichten zu erleichtern. Schauen wir uns einige Möglichkeiten an, um Nmap-Scanergebnisse zu exportieren.

Ausführliche Ausgabe

> nmap -v scanme.nmap.org

Die ausführliche Ausgabe enthält zusätzliche Informationen zum durchgeführten Scan. Es ist nützlich, schrittweise Aktionen zu überwachen, die Nmap in einem Netzwerk ausführt, insbesondere wenn Sie als Außenseiter das Netzwerk eines Clients scannen.

Normale Ausgabe

Nmap-Scans können auch in eine Textdatei exportiert werden. Es unterscheidet sich geringfügig von der ursprünglichen Befehlszeilenausgabe, erfasst jedoch alle wichtigen Scanergebnisse.

> nmap -oN output.txt scanme.nmap.org

XML-Ausgabe

Nmap-Scans können auch nach XML exportiert werden. Es ist auch das bevorzugte Dateiformat der meisten Stifttest-Tools, sodass es beim Importieren von Scan-Ergebnissen leicht analysiert werden kann.

> nmap -oX output.xml scanme.nmap.org

Mehrere Formate

Mit dem Befehl -oA können Sie die Scanergebnisse auch in alle verfügbaren Formate gleichzeitig exportieren.

> nmap -oA output scanme.nmap.org

Der obige Befehl exportiert das Scan-Ergebnis in drei Dateien - output.xml, output. Nmap und output.gnmap.

Nmap-Hilfe

Nmap verfügt über einen integrierten Hilfebefehl, der alle Flags und Optionen auflistet, die Sie verwenden können. Angesichts der Anzahl der Befehlszeilenargumente, mit denen Nmap geliefert wird, ist dies häufig praktisch.

> nmap -h

Nmap Scripting Engine

Nmap Scripting Engine (NSE) ist ein unglaublich leistungsfähiges Tool, mit dem Sie Skripte schreiben und zahlreiche Netzwerkfunktionen automatisieren können.

Sie können viele über Nmap verteilte Skripte finden oder Ihr eigenes Skript schreiben, das Ihren Anforderungen entspricht. Sie können vorhandene Skripte sogar mit der Programmiersprache Lua ändern.

NSE verfügt auch über Angriffsskripte, mit denen das Netzwerk und verschiedene Netzwerkprotokolle angegriffen werden.

Eine eingehende Durchsicht der Scripting-Engine ist für diesen Artikel nicht möglich. Hier finden Sie weitere Informationen zur Nmap-Scripting-Engine.

Zenmap

Zenmap ist eine grafische Benutzeroberfläche für Nmap. Es ist eine kostenlose Open-Source-Software, mit der Sie Nmap in Betrieb nehmen können.

Mit Zenmap können Sie nicht nur visuelle Netzwerkzuordnungen bereitstellen, sondern auch Ihre Scans speichern und für die zukünftige Verwendung durchsuchen.

Zenmap ist ideal für Anfänger, die die Funktionen von Nmap testen möchten, ohne eine Befehlszeilenschnittstelle zu verwenden.

Fazit

Nmap ist dank seines Inventars an vielseitigen Befehlen eindeutig das „Schweizer Taschenmesser“ der Vernetzung.

Damit können Sie wichtige Informationen zu Ihrem Netzwerk, Ihren Hosts, Ports, Firewalls und Betriebssystemen schnell scannen und ermitteln.

Nmap verfügt über zahlreiche Einstellungen, Flags und Einstellungen, mit denen Systemadministratoren ein Netzwerk detailliert analysieren können.

Wenn Sie Nmap ausführlich lernen möchten, finden Sie hier eine großartige Ressource.

Liebte dieser Artikel? Treten Sie meinem Newsletter beiund bekomme jeden Montag eine Zusammenfassung meiner Artikel und Videos.