Network Mapper, abgekürzt als Nmap, ist ein Open-Source-Tool zum Scannen von Netzwerken, das entfernte Hosts scannt und nach einer Fülle von Informationen wie offenen Ports, Betriebssystemversionen und Versionen von Diensten sucht, die an den offenen Ports lauschen. Abhängig von den verwendeten Argumenten deckt Nmap auch zugrunde liegende Systemschwachstellen auf, die mit veralteten Schwachstellen auf Basis von CVSS (Common Vulnerability Scanning System) zusammenhängen. Aus diesem Grund ist Nmap ein wertvolles Aufklärungstool für Penetrationstests und das Aufdecken von Schlupflöchern, die von Hackern ausgenutzt werden können. Tatsächlich ist es in Kali und Parrot OS vorinstalliert, die Betriebssysteme für Penetrationstests und digitale Forensik sind.
In diesem Artikel heben wir einige der nützlichen Nmap-Befehle hervor, die Ihnen helfen, nützliche Informationen über entfernte Hosts zu sammeln.
Grundlegende Nmap-Syntax
Der grundlegendste Nmap-Befehl beinhaltet das Scannen eines einzelnen Hosts und erfordert nur die IP-Adresse oder den Hostnamen des entfernten Ziels als Argument.
$ nmap hostname
Oder
$ nmap remote-host-ip
Lassen Sie uns nun in einige Nmap-Anwendungsfälle eintauchen. In dieser Anleitung scannen wir Remote-Hosts mit Kali Linux.
Einen einzelnen Remote-Host scannen
Das Scannen eines einzelnen Hosts ist ziemlich einfach. Sie müssen lediglich die IP-Adresse oder den Domänennamen des Remote-Hosts als Argument übergeben. Zum Beispiel
$ nmap 192.168.2.103
Der Nmap-Scanbericht enthält Details wie die offenen Ports, den Status des Ports und die Dienste, die die Ports überwachen.
Mehrere Remote-Hosts scannen
In einem Szenario, in dem Sie mehrere Remote-Hosts haben, übergeben Sie deren IP-Adressen einfach wie gezeigt in einer einzigen Zeile.
$ nmap 192.168.2.103 192.168.2.1
Wenn Sie aufeinanderfolgende Remote-Host-IP-Adressen scannen möchten, fügen Sie die Adresse einfach wie folgt hinzu:
$ nmap 192.168.2.1,2,3,4
Der obige Befehl scannt die Remote-Hosts 192.168.2.1, 192.168.2.2, 192.168.2.3, und192.168.2.4
Scannen Sie eine Reihe von Remote-Hosts
Wenn Sie Remote-Hosts in einem Bereich von IP-Adressen haben, können Sie den Bereich durch einen Bindestrich getrennt angeben.
$ nmap 192.168.2.100-105
Dadurch werden alle Remote-Hosts von 192.168.2.100 gescannt bis 192.168.2.105 Bereich.
Subnetz scannen
Sie können ein ganzes Subnetz scannen, indem Sie die CIDR-Notation verwenden. Der folgende Befehl scannt beispielsweise alle Remote-Hosts in 192.168.2.0 Subnetz.
$ nmap 192.168.2.0/24
Port-Scannen mit Nmap
Mit -p können Sie Nmap anweisen, offene Ports auf einem Zielhost explizit zu scannen Flag gefolgt von der Portnummer. Im folgenden Beispiel scannen wir nach Port 80 auf dem Remote-Host.
$ nmap -p 80 192.168.2.100
Um mehrere Ports anzugeben, können Sie sie wie unten gezeigt mit Kommas auflisten.
$ nmap -p 80,135,139 192.168.2.100
Um alle offenen Ports auf einem Ziel zu scannen, verwenden Sie –open Flagge. Hier scannen wir Metasploitable Linux, eine absichtlich verwundbare virtuelle Instanz für Penetrationstests.
$ nmap --open 192.168.2.107
Nach aktiven Remote-Hosts suchen
Wenn Sie nur wissen möchten, welche Remote-Hosts in Ihrem Subnetz aktiv sind, übergeben Sie das -sn Flagge wie abgebildet. Die Ausgabe wird nichts Besonderes sein, nur eine kurze Zusammenfassung der aktiven Hosts.
$ nmap -sn 192.168.2.0/24
OS-Fingerprinting
Mit dem Flag -O können Sie sogar das Betriebssystem des Hosts bis zu einem gewissen Grad erkennen. Dies gibt Ihnen jedoch nicht die genaue Version des Betriebssystems des Ziels. Im folgenden Beispiel scannen wir einen Host, der unter Windows 10 ausgeführt wird, aber die Vermutungen des Betriebssystems deuten darauf hin, dass der Remote-Host wahrscheinlich Windows XP SP2 oder Windows Server 2008 / 2008 R2 ist.
# nmap -O 192.168.2.103
Diensterkennung
Mit -sV können Sie auf die Details der Dienste eingehen, die an zugeordneten Ports lauschen Flagge. Zu den gängigen Diensten gehören SSH (Port 22), HTTP (Port 80) und DNS (Port 53). Die Diensterkennung ist eine der kritischsten Scan-Aufgaben. Es hilft dabei, auf veraltete Dienstversionen hinzuweisen, die das System anfällig für Exploits und Angriffe machen können.
$ nmap -sV 192.168.2.107
Führen Sie einen Stealth-Scan mit Nmap durch
Ein Stealth-Scan, auch als SYN-Scan abgekürzt, ist eine unauffällige Art des Scans, der schnell mehrere Ports innerhalb kürzester Zeit scannt. Ein SYN-Paket wird an das entfernte Ziel gesendet und wenn die Antwort empfangen wird, kann Nmap melden, ob der Port offen, gefiltert oder geschlossen ist.
$ nmap -sS 192.168.2.107
Führen Sie einen detaillierten Scan durch
Das -A Flag führt eine gründliche Inspektion der Ports des entfernten Ziels durch und gibt genauere Details über die Version der laufenden Dienste und weist auch auf Schwachstellen des Dienstes hin.
$ nmap -A 192.168.2.107
Firewall-Identifikation durchführen
Das Nmap kann auch eine Firewall-Identifikation durchführen, um zu prüfen, ob die Ports gefiltert sind oder nicht. Das -sA Die Option prüft, ob die Firewall aktiviert ist und muss mit dem Flag -p und der Portnummer kombiniert werden. „Ungefiltert“ bedeutet, dass sich der Port nicht hinter einer Firewall befindet, während „gefiltert“ bedeutet, dass er auf einer aktivierten Firewall geöffnet ist.
$ nmap -sA 192.168.2.107 -p 21
TCP- oder UDP-Protokolle scannen
Wenn Sie nur TCP-Ports scannen möchten, verwenden Sie das -sT Flagge wie gezeigt.
$ nmap -sT 192.168.2.107
Wenn Sie nur UDP-Protokolle scannen möchten, verwenden Sie -sT Option.
# nmap -sU 192.168.2.107
Verwenden von Nmap-Skripten zum Scannen von Sicherheitslücken
Nmap Scripting Engine, abgekürzt als NSE, stellt Nmap-Skripte bereit, die die Funktionalitäten von Nmap erweitern. Nmap-Skripte werden hauptsächlich zum Untersuchen von Schwachstellen und Malware-Erkennung verwendet. Diese Skripte sind auf Kali Linux vorinstalliert und befinden sich im Verzeichnis /usr/share/nmap/scripts Weg. Sie haben eine eindeutige .nse-Dateierweiterung.
Um zum Beispiel zu prüfen, ob ein entfernter Host mit SSH brutal erzwungen werden kann, verwenden Sie das folgende Nmap-Skript.
$ nmap --script=ssh-brute.nse 192.168.2.107
Nmap-Scan-Ergebnisse speichern
Wenn Sie es eilig haben und die Ergebnisse eines Nmap-Scans zur späteren Überprüfung speichern möchten, können Sie das Umleitungsgrößer-als-Zeichen> wie gezeigt verwenden.
$ nmap -sT 192.168.2.103 > myscans.txt
Hosts aus einer Textdatei scannen
Alternativ können Sie Ihre Remote-Hosts scannen, die in einer Textdatei definiert sind. Um die Datei zu lesen, verwenden Sie das –iL Option.
$ nmap -A iL hosts.txt
Schlussfolgerung
Wir haben 15 Nmap-Befehle aufgelistet, die Sie verwenden können, um mit dem Scannen Ihrer Remote-Hosts zu beginnen. Es gibt Hunderte von Nmap-Befehlen und Nmap-Skripten, die zum Scannen von Hosts und zum Suchen nach Schwachstellen verwendet werden. Wir hoffen, dass Sie jetzt die Grundlagen von Nmap kennen und Befehle ausführen, um Informationen über entfernte Ziele anzuzeigen. Wenn Sie erwägen, die Vermögenswerte einer Organisation zu scannen, stellen Sie sicher, dass Sie die Erlaubnis des Managements einholen, damit Sie nicht in Schwierigkeiten geraten.