GNU/Linux >> LINUX-Kenntnisse >  >> Linux

50 grundlegende Nmap-Befehle für Systemadministratoren

Nmap oder Network Mapper ist zweifellos das beste Aufklärungstool, das von modernen Penetrationstestern verwendet wird. Diese Open-Source-Anwendung hat seit ihrer Einführung einen langen Weg zurückgelegt und sich als bahnbrechend für die Netzwerksicherheit erwiesen. Nmap wird häufig verwendet, um kritische Informationen eines einzelnen Netzwerks oder einer Reihe von Netzwerken zu ermitteln. Es gibt eine endlose Liste robuster Nmap-Befehle, die es Sicherheitsforschern ermöglichen, Schwachstellen in einem Netzwerk zu erkennen. Böswillige Benutzer nutzen Nmap auch stark, um einen Einstiegspunkt in nicht autorisierte Netzwerke zu ermitteln. Darüber hinaus macht eine große Bibliothek vorgefertigter Skripte Nmap leistungsfähiger als je zuvor.

Nmap-Befehle für Systemadministratoren

Sie können Probleme in externen Netzwerken leicht finden, indem Sie einfach einige einfache Nmap-Scans durchführen. Es verfügt über eine hervorragende Dokumentation, sodass Sie sich nicht alle verschiedenen Nmap-Befehle merken müssen. Sie können leicht Informationen aus dem Handbuch finden, wenn Sie wissen, nach welcher Funktion Sie suchen. Darüber hinaus hilft ein vorgefertigter Satz robuster NSE-Skripts bei der Automatisierung allgemeiner Aufgaben.

Grundlegende Nmap-Befehle für Anfänger

Da Nmap eine riesige Kombination von Befehlen bietet, ist es wichtig, zuerst die grundlegenden Befehle zu beherrschen. Im folgenden Abschnitt zeigen wir, wie Sie einfache Netzwerkscans mit Nmap durchführen.

1. Einen einzelnen Host scannen

Ein Host ist jede Maschine, die mit einem bestimmten Netzwerk verbunden ist. Mit Nmap können Administratoren Hosts einfach anhand ihrer IP-Adresse oder ihres Hostnamens scannen. Der folgende Befehl scannt die 1000 gemeinsamen Ports und listet alle offenen Ports, ihren Status und Dienst auf.

$ nmap 192.168.1.1

Wenn Sie möchten, können Sie die IP durch den Hostnamen ersetzen, wie unten gezeigt.

$ nmap hostname

2. Mehrere Hosts scannen

- -

Das gleichzeitige Scannen mehrerer Hosts ist mit Nmap ebenfalls sehr einfach. Sie können dies tun, indem Sie einfach die IP oder die Hostnamen nacheinander eingeben. Das folgende Beispiel demonstriert dies für Sie.

$ nmap 192.168.1.1 192.168.1.3 192.168.1.5
$ nmap hostname1 hostname2 hostname3

Nmap bietet dafür auch eine praktische Kurzform.

$ nmap 192.168.1.1,3,5

3. Bereich von IP-Adressen scannen

Sie können auch mehrere IP-Adressen gleichzeitig scannen. Der folgende Befehl zeigt dies in Aktion.

$ nmap 192.168.1.1-15

Dieser Befehl scannt die ersten fünfzehn Hosts des Subnetzwerks. Viele Leute verwenden für diesen Zweck auch die Wildcard. Wenn Sie Platzhalter zu Ihrer Suche hinzufügen, wird jeder verfügbare Host überprüft.

$ nmap 192.168.1.*

Verwenden Sie den folgenden Befehl, um ein ganzes Subnetz zu scannen.

$ nmap 192.168.1.1/16

4. Hosts aus Datei lesen und scannen

Nmap kann Hostadressen aus Dateien lesen und sie dann nach Portinformationen durchsuchen. Erstellen Sie zuerst eine Datei, die einige Hosts enthält, wie gezeigt.

$ echo -e "192.168.1.1-10 \nlocalhost" >> /tmp/hosts
$ cat /tmp/hosts

Jetzt sollte hosts zwei Zeilen enthalten, die aus localhost und dem angegebenen IP-Bereich bestehen. Verwenden Sie den folgenden Befehl, um dies mit Nmap zu lesen.

$ nmap -iL /tmp/hosts

5. Hosts vom Nmap-Scan ausschließen

Mit der Option –exclude können Benutzer bestimmte Hosts aus einem bestimmten IP-Bereich ausschließen. Sie können die Option –excludefile verwenden, um Hosts aus einer Datei auszuschließen. Die folgenden Befehle demonstrieren dies für Sie.

$ nmap 192.168.1.1/24 --exclude 192.168.1.1,3,5
$ nmap -iL /tmp/hosts --excludefile /tmp/exclude

Hier enthält die Datei /tmp/exclude die Hosts, an denen der Benutzer nicht interessiert ist. Wir zeigen diese Datei nicht, um unseren Leitfaden so knapp wie möglich zu halten.

6. Scan-Ausführlichkeit erhöhen

Die Standardsuche liefert recht begrenzte Informationen. Nmap bietet die Option -v, um Ihrer Suche zusätzliche Ausführlichkeit zu verleihen. Wenn es verwendet wird, zwingt dieses Flag Nmap, zusätzliche Informationen zu Ihrer Suche auszugeben.

$ nmap -v 192.168.1.1

Durch einfaches Hinzufügen dieses Flags werden die Ausgabeinformationen erheblich verbessert. Außerdem hilft es Anfängern, sich vorzustellen, wie Nmap unter der Haube funktioniert.

7. Betriebssysteminformationen erkennen

Nmap ist für viele eine geeignete Wahl, wenn es um die Remote-Betriebssystemerkennung geht. Das Flag -A weist Nmap an, Betriebssysteminformationen über die Hosts, die Sie testen, zu finden und anzuzeigen.

$ nmap -A 192.168.1.1
$ nmap -A -v 192.168.1.1

Sie können also das Flag -v hinzufügen, um zusätzliche Informationen zu Ihrem Suchergebnis zu erhalten. Es ist eine großartige Möglichkeit, Nmap-Befehle für Anfänger zu beherrschen. Der folgende Befehl zeigt Ihnen, wie Sie Betriebssysteminformationen für Hosts erkennen, die sich in einer Datei befinden.

$ nmap -v -A -iL /tmp/hosts

8. Firewall-Informationen von Hosts erhalten

Jeder konkurrierende Systemadministrator hält Netzwerke hinter Firewalls. Dies kann potenziellen Nmap-Suchen irrelevante Informationen zuführen. Mit dem nächsten Befehl können Sie jedoch leicht herausfinden, ob ein Host durch eine Firewall geschützt ist.

$ nmap -sA 192.168.1.1
$ nmap -v -sA 192.168.1.1

Wenn Sie ein Nmap-Anfänger sind, empfehlen wir Ihnen, das Verbose-Flag v so oft wie möglich zu verwenden. Es wird Ihnen helfen, die Funktionsweise von Nmap im Detail zu verstehen.

9. Firewall-geschützte Hosts scannen

Hosts, die durch externe Firewalls geschützt sind, neigen dazu, unnötige Informationen an entfernte Scanner wie Nmap weiterzugeben. Wenn Sie festgestellt haben, dass Ihr interessanter Host auf diese Weise geschützt werden soll, verwenden Sie den folgenden Befehl.

$ nmap -PN hostname
$ nmap -PN 192.168.1.1

Die obige IP-Adresse repräsentiert den WLAN-Router in meinem Netzwerk. Sie können nach beliebigen Hosts suchen, indem Sie entweder die IP oder den Hostnamen verwenden.

10. IPv6-Hosts scannen

Obwohl IPv6-Adressen noch nicht Mainstream sind, sind sie vorhanden und werden in naher Zukunft zur Standarddarstellung von Remote-Hosts werden. Nmap bietet bereits Unterstützung für IPv6-Scanning an. Der folgende Befehl zeigt Ihnen, wie das geht.

$ nmap -6 hostname
$ nmap --6 2001:0db8:85a3:0000:0000:8a2e:0370:7334

Die hexadezimale Darstellung bezeichnet den Host im zweiten Beispiel. Sie können zusätzliche Flags hinzufügen, um die Qualität Ihrer Nmap-Suchergebnisse zu verbessern.

Alltägliche Nmap-Befehle für Netzwerkadministratoren

Nmap bietet eine unendliche Anzahl von Befehlen und Skripten, die für Netzwerkadministratoren, ethische Hacker und Penetrationstester nützlich sind. Im folgenden Abschnitt diskutieren wir einige allgemeine, aber wichtige Befehle.

11. Hosts nach bestimmten Ports scannen

Nmap erlaubt Administratoren, Hosts nur auf bestimmte Ports zu überprüfen. Die folgenden Befehle demonstrieren dies anhand notwendiger Beispiele.

$ nmap -p 21,22,80,443 localhost
$ nmap -p 21,22,80,443 192.168.1.1

Sie können auch einen Bereich von Ports angeben, wie unten gezeigt.

$ nmap -p 1-65535 localhost

Dieser Befehl durchsucht Ihr localhost-Netzwerk nach allen gängigen Ports.

12. Zusätzliche Port-Scanning-Methoden

Nmap kann alle Arten von Ports erkennen und untersuchen. Die nächsten Beispiele zeigen, wie Sie nach UDP-Ports scannen, Platzhalter verwenden usw. Verwenden Sie zum Scannen von UDP-Ports den folgenden Befehl.

$ nmap -p U:53, 67, 111 192.168.1.1

Um sowohl TCP- als auch UDP-Ports zu scannen, verwenden Sie die folgende Syntax.

$ nmap -p -T:20-25,80,443 U:53, 67, 111 192.168.1.1

Der nächste Scan nach Ports mit einem Platzhalter. Es scannt nach allen verfügbaren Portkonfigurationen für den angegebenen Host.

$ nmap -p "*" 192.168.1.1

Der folgende Nmap-Befehl scannt nur nach den 10 häufigsten Ports.

$ nmap --top-ports 10 192.168.1.1

13. Hosts ohne Port-Scanning auflisten

Da das Port-Scannen eines Hosts aufdringlich ist, scannen viele Administratoren ihre Hosts nicht direkt nach Ports. Stattdessen verwenden sie Nmap, um einen einfachen Ping zu senden, um eine Liste verfügbarer Hosts in einem Netzwerk zu erhalten. Böswillige Angreifer nutzen solche Methoden auch, um unsichtbar zu bleiben.

$ sudo nmap -sn 192.168.1.0/24

Sie benötigen sudo-Berechtigungen, um diesen Befehl optimal nutzen zu können. Andernfalls kann Nmap die TCP-ACK-Anforderung nicht senden und verpasst möglicherweise potenzielle Hosts.

14. Führen Sie einen schnellen Scan der Hosts durch

Wenn Sie Nmap zum Scannen zufälliger Hosts und Ports verwenden, dauert es einige Zeit. Stattdessen könnten Sie den schnellen Modus verwenden, in dem Nmap nur nach den gängigsten Ports sucht und die Scanzeit um einige Faktoren verlängert.

$ nmap -F 192.168.1.0/24
$ nmap -F localhost

Das -F Flag versetzt Nmap in diesen schnellen Modus.

15. Nur offene Ports anzeigen

Nmap-Port-Scans listen alle offenen und gefilterten Ports für einen Host auf. Sie können Ihre Ausgabe auf die Hosts beschränken, die offene Ports haben. Allerdings gibt dieser Befehl auch eventuell offene Ports aus, die vielleicht von externen Anwendungen gefiltert werden.

$ nmap --open 192.168.1.1
$ nmap --open localhost

16. Siehe Warum sich ein Port in einem bestimmten Zustand befindet

Mit Nmap können Benutzer untersuchen, warum sich ein bestimmter Port in einem bestimmten Zustand befindet. Sie müssen die Option –reason verwenden, um solche Ergebnisse zu erhalten. Der nächste Befehl demonstriert dies in Aktion.

$ nmap --reason localhost
$ nmap --reason 192.168.1.1

Die obigen Befehle zeigen die Gründe für den aktuellen Status eines Ports. Diese Informationen helfen sehr beim Debuggen und ermöglichen es Experten, ihre Zielports besser zu visualisieren.

17. Netzwerkschnittstellen und -routen anzeigen

Das Verständnis von Netzwerkkonfigurationen ist sowohl für Sicherheitsanalysten als auch für böswillige Benutzer von entscheidender Bedeutung. Beide wollen wissen, wie ein potentieller Hoster mit dem World Wide Web verbunden ist. Sie können Nmap verwenden, um die Schnittstellen und Routen eines ausgewählten Hosts einfach zu skizzieren. Der nächste Befehl zeigt dies in Aktion.

$ nmap --iflist

Der obige Befehl zeigt die Routen und Schnittstellen mit Informationen wie Gerätename, IP, Gateway usw. an.

18. Timing-Vorlage festlegen

Eine der nützlichsten Funktionen von Nmap sind seine robusten Timing-Parameter. Sie können die Zeit, die jeder Nmap-Scan benötigt, einfach mit der Option -T steuern. Die nächsten Befehle zeigen dies in Aktion.

$ nmap --top-ports 10 -T4 192.168.1.1

Die Ausführung dieses Befehls dauert im Vergleich zur Standard-Syntax erheblich weniger Zeit. Sie können den Wert von -T von 0 auf 5 ändern, wobei 5 den aggressivsten Scan und 0 den höflichsten bezeichnet. Aggressive Timing-Parameter können jedoch dazu führen, dass Nmap die untersuchten Hosts zum Absturz bringt. Der standardmäßige Nmap-Scan verwendet -T3.

19. Betriebssystemerkennung aktivieren

Obwohl wir Ihnen gezeigt haben, wie Sie mit der Option -A betriebssystemspezifische Informationen erhalten, gibt es eine andere Möglichkeit, dies zu tun. Das Flag -O aktiviert die Betriebssystemerkennung für einen Host oder eine Reihe von Hosts.

$ nmap -v -O localhost
$ nmap -O 192.168.1.1/24

Diese Nmap-Befehle erkennen einige Betriebssysteme möglicherweise nicht, insbesondere wenn sie durch Firewalls geschützt sind. Das nächste Beispiel zeigt Ihnen, wie Sie die aggressive Betriebssystemerkennung verwenden können, um dies zu überwinden.

$ nmap -O --osscan-guess 192.168.1.1/24

20. Dienst- und Versionsinformationen ermitteln

Die folgenden Befehle zeigen, wie Sie mit Nmap Service- und Versionsinformationen ermitteln können. Böswillige Benutzer verwenden dies normalerweise, um zu überprüfen, ob ein Host einen anfälligen Dienst ausführt oder nicht.

$ nmap -sV 192.168.1.1/24

Das Hinzufügen von -sV aktiviert die Erkennung der Nmap-Version. Es bietet viele ähnliche Informationen, die Sie zuvor mit der Option -A erhalten haben. Da dieser Befehl alle verfügbaren Hosts nach dem Subnetz 192.168.1.1/24 scannt, kann es länger dauern. Das nächste Beispiel beschleunigt diesen Vorgang mit der zuvor erwähnten Option -T.

$ nmap -T5 -sV 192.168.1.1/24

21. Hosts mit TCP SYN scannen

Oft werden Sie feststellen, dass die Firewalls des entfernten Systems die Standard-ICMP-Pings blockieren, die von Ihren üblichen Nmap-Port-Scans gesendet werden. Sie können den TCP-SYN-Scan verwenden, um aus dieser Situation herauszukommen.

$ sudo nmap -PS20-25,80,110,443 192.168.1.1/24

Der obige Befehl ermöglicht es Nmap, festzustellen, ob ein Host aktiv ist, und seine Ports zu scannen, ohne die Standard-TCP-Kommunikation abzuschließen.

22. Hosts mit TCP ACK scannen

Die TCP-ACK-Methode funktioniert fast wie der obige Befehl. Sie funktionieren jedoch sehr gut, um die Existenz selbst der am besten geschützten Remote-Hosts zu finden. Da TCP-ACK-Pakete Bestätigungsdaten über bestehende TCP-Verbindungen senden, müssen die entfernten Hosts ihnen ihren Standort mitteilen.

$ sudo nmap -PA20-25,80,110,443 192.168.1.1/24

Beide der beiden oben genannten Befehle ermöglichen es Benutzern, Ports anzugeben, wie sie es mit -p tun. Allerdings erlaubt weder -PS noch -PA ein Leerzeichen nach ihnen. Seien Sie sich dessen also bewusst, sonst werden Ihre Suchen keine gültigen Informationen liefern.

23. Betriebssystem-Fingerabdrücke abrufen

OS Fingerprinting bezieht sich auf das Sammeln passiver Informationen von entfernten Hosts während der Netzwerkkommunikation. Nmap ermöglicht es Systemadministratoren, dies zu tun, wie unten leicht gezeigt wird. Dies ist nützlich, um das Vorhandensein Ihres Scans vor der Firewall des Remote-Systems zu verbergen, aber dennoch relevante Betriebssysteminformationen zu erhalten.

$ nmap -sT 192.168.1.1/24

Das obige Verbindungsschema ist in Nmap als TCP-Verbindungsscan bekannt.

24. Scannen mit IP-Protokollen

Manchmal stoßen Sie möglicherweise auf Hosts, die die von Ihnen gesendeten IP-Protokolle nicht zulassen. Sie können dieses Problem umgehen, indem Sie mit dem folgenden Befehl bestimmen, welche IP-Protokolle der Host zulässt.

$ nmap -v -sO 192.168.1.1

Sobald Sie die unterstützten Protokolle erhalten haben, können Sie den entsprechenden Nmap-Befehl verwenden, um diesen Host zu scannen.

25. Auf Schwachstellen in Firewall/IDS scannen

Es kommt sehr häufig vor, dass Tester auf Firewalls oder Intrusion Detection-Systeme stoßen, die die Scan-Versuche von Nmap ablehnen. Dank robuster Nmap-Befehle können Benutzer dieses Problem umgehen, indem sie ihnen Firewall-Informationen geben. Die folgenden Befehle werden dies für Sie demonstrieren.

$ nmap -sN 192.168.1.1
$ nmap -sF 192.168.1.1
$ nmap -sX 192.168.1.1

Der erste Befehl sendet ein Null-TCP-Flag, der zweite setzt das FIN-Bit und der letzte setzt die FIN-, PSH- und URG-Bits. Sie täuschen nicht zustandsbehaftete Firewalls, indem sie Informationen über den Zustand eines Ports preisgeben.

Nmap-Befehle für ethische Hacker

Ethische Hacker sind Fachleute, die nach potenziellen Fehlern suchen, einschließlich Netzwerkfehlern in IT-Infrastrukturen. Sie verwenden erweiterte Kombinationen von Nmap-Optionen, um die Dinge schnell zu umgehen. Der nächste Abschnitt demonstriert einige solcher Befehle.

26. Remote-Hosts mit SCTP scannen

Der SCTP-Scan ist eine stille, aber nützliche Scan-Technik, die von Testern aufgrund ihrer Effektivität bevorzugt wird. Nur hochkonfigurierte IDS-Systeme können solche Scans erkennen, sodass sie in realen Szenarien sehr gut abschneiden.

$ sudo nmap -sZ --top-ports 20 -T4 192.168.1.1/24

Der obige Befehl scannt nach den 20 häufigsten Ports für das angegebene Subnetz. Sie können den Timing-Parameter weglassen, wenn Sie diskreter vorgehen möchten und kein Problem damit haben, noch ein paar Minuten zu warten.

27. Remote-Hosts mit Idle Scan scannen

Auch als Zombie-Host-Scan bekannt, erstellt diese Art von Scan buchstäblich einen Zombie-Host im Netzwerk und scannt andere Hosts von diesem Host aus.

$ sudo nmap -sI 192.168.1.103 192.168.1.101

Im obigen Befehl ist 192.168.1.103 der Zombie-Host und 192.168.1.101 der Ziel-Remote-Computer.

28. Remote-Hosts mit ARP-Pings scannen

Dies ist derzeit der beste Nmap-Befehl, um entfernte Hosts zu erkennen. Da keine Firewalls ARP-Anfragen blockieren können, ist dies eine nützliche Technik für erfahrene Netzwerktester.

$ sudo nmap -PR 192.168.1.1

Sie müssen jedoch Zugriff auf das lokale Netzwerk haben, wenn Sie diesen Befehl verwenden möchten. Aber für professionelle Penetrationstester sollte das kein Problem sein.

29. Route zum Remote-Host bestimmen

Wenn Sie ein erfahrener Systemadministrator sind, haben Sie wahrscheinlich bereits mit Traceroute gearbeitet. Es ist ein überzeugendes UNIX-Tool, das Routen zu Zielmaschinen in einem Netzwerk abbildet. Der folgende Befehl zeigt, wie Sie Traceroute von Nmap aus verwenden können.

$ sudo nmap --traceroute 192.168.1.1

Dieser Befehl gibt die HOP-Entfernungen und die Zeiten zum Erreichen des Ziels aus.

30. Reverse-DNS-Auflösung für alle Hosts deaktivieren

Standardmäßig führt Nmap eine Reverse-DNS-Auflösung nur für Hosts durch, die online erkannt werden. Sie verringern jedoch die Leistung von Nmap um einen erheblichen Faktor. Ethische Hacker schalten dies normalerweise für alle Hosts aus, da sie DNS-Informationen legal von ihren Clients erhalten könnten.

$ nmap -n 192.168.1.1

Dadurch wird Ihre Suchgeschwindigkeit erheblich erhöht. Normalerweise verwende ich dies anstelle von -T, um meine Suchgeschwindigkeit beizubehalten und gleichzeitig die Anonymität zu wahren.

31. Versionsinformationen abrufen

Zuvor haben wir Versionsinformationen für das Betriebssystem und andere Dienste erhalten. Das Problem ist, dass Nmap meistens die mit einem Port verbundenen Standarddienste anzeigt. Dies kann zu Problemen für Tester führen, da Hosts für einige Ports andere Dienste anstelle des Standarddienstes verwenden können.

$ nmap -V 192.168.1.1

Dieser Befehl zeigt viele relevante Informationen wie Plattform, Kompilierungstools usw. an.

32. Versionserkennung steuern

Wir haben Ihnen gezeigt, wie Sie Versionsinformationen von Remotediensten mithilfe des Standard-Flags -sV erkennen. Der folgende Befehl zeigt, wie Sie die Versionserkennung mit ähnlichen Nmap-Befehlen steuern können.

$ nmap -sV --version-intensity 5 192.168.1.1

Dies führt eine sehr aggressive Versionserkennung durch und alarmiert wahrscheinlich den entfernten Host. Sie können den Wert der Option –version-intensity verringern, um die Anonymität zu erhöhen. Dies schränkt jedoch die Versionserkennung ein. Der nächste Befehl führt ein Light-Banner-Grabbing des angegebenen Hosts durch.

$ nmap -sV --version-intensity 1 192.168.1.1

33. Hosts mit IP-Fragmenten scannen

Nmap ermöglicht es Systemadministratoren, entfernte Hosts mithilfe fragmentierter IP-Pakete zu scannen. Es zerlegt die IP-Pakete im Wesentlichen in kleine Teile und macht sie über externe IDS/Firewalls schwer zu erkennen.

$ sudo nmap -f 192.168.1.1

Benutzer können auch personalisierte Offsets mit der Option –mtu festlegen, wie unten gezeigt.

$ sudo nmap --mtu 16 192.168.1.1

34. Verwenden Sie Decoy-IP-Adressen

Da die meisten kommerziellen Systeme durch hochkonfigurierte Firewalls geschützt sind, erkennen sie Remote-Port-Scans oft sehr schnell. Dies ist sowohl für Sicherheitsprüfer als auch für aufdringliche Systembrecher problematisch. Nmap erlaubt Benutzern, zu diesem Zweck Köder-IPs zu verwenden, um ihre Identität zu verschleiern.

$ nmap --top-ports 10 -D10.1.1.2, 10.1.1.4, 10.1.1.6 192.168.1.1

Nehmen wir an, Ihre IP ist die zweite (10.1.1.4) und Sie scannen 192.168.1.1. Jetzt weiß der Remote-Host von dem Scan, kann aber nicht sicher sein, woher er stammt.

Nutzung der Nmap Scripting Engine (NSE)

Die Nmap Scripting Engine (NSE) ist eine robuste Funktion, die es Benutzern ermöglicht, eine große Anzahl robuster Skripte für eine effektive Aufklärung zu verwenden. Der folgende Abschnitt zeigt einige gängige Nmap-Befehle, die NSE-Skripte nutzen.

35. Verwenden Sie sichere Standardskripte

NSE ist mit einer großen Anzahl sicherer Skripts vorinstalliert, die ihre Aufgaben außergewöhnlich gut erledigen. Der nächste Befehl verwendet das standardmäßige sichere Skript zur Versionserkennung.

$ nmap -sV -sC 192.168.1.1

Normalerweise liefert das Scannen mit NSE-Skripten anstelle von Standardoptionen genauere Informationen. Der obige Befehl führt das standardmäßige Versionserkennungsskript für Nmap aus.

36. Verwenden Sie spezifische NSE-Skripts

Sie können alle verfügbaren NSE-Skripte in Ihrem System mit dem Befehl $ locate *.nse finden. Diese Skripte werden mit Lua geschrieben und ermöglichen es Benutzern, personalisierte Skripte nach Ihren Wünschen zu erstellen. Der nächste Befehl verwendet ein spezielles NSE-Skript namens whois-ip .

$ nmap --script=whois-ip.nse scanme.nmap.org

Sie können den Hostnamen einfach durch Ihre Ziel-IP ersetzen, um relevante Whois-Informationen zu erhalten. Beachten Sie, dass die Erweiterung .nse nicht obligatorisch ist.

37. Nach gemeinsamen Dateien/Verzeichnissen suchen

Die http-enum.nse Das NSE-Skript sendet über 2000 Abfragen für gemeinsame Dateien und Verzeichnisse. Sie können dieses Skript verwenden, um wichtige Informationen darüber zu erhalten, ob einige bekannte Dienste auf einem entfernten Server existieren oder nicht.

$ nmap -n --script=http-enum.nse 192.168.1.1

Dieser Befehl versucht, mit dem besagten Skript wichtige Dienstinformationen abzurufen.

38. HTTP-Seitentitel abrufen

Sie können den Nmap-http-title verwenden Skript zum Abrufen der Titel von entfernten Webseiten. Dies kann äußerst hilfreich sein, um den Inhalt von Remote-Servern abzuleiten. Sehen Sie sich den folgenden Befehl an, um dies in Aktion zu sehen.

$ nmap --script=http-title 192.168.1.1

Dieser Befehl ruft den HTTP-Titel ab und zeigt ihn an.

39. Verwenden Sie mehrere Skriptkategorien

NSE-Skripte werden standardmäßig nach ihrer Verwendung kategorisiert, z. B. Brute, Discovery, Exploit und Vuln. Sie können Nmap anweisen, alle Skripte zu verwenden, die zu bestimmten Kategorien gehören, wie unten gezeigt.

$ nmap --script discovery,brute 192.168.1.1

Der obige Befehl verwendet alle NSE-Skripte, die zu den Kategorien Discovery und Brute gehören. Es wird also versuchen, verfügbare Hosts zu entdecken und sie brutal zu erzwingen.

40. Verwenden Sie Platzhalter für die Skriptauswahl

In Nmap können Sie das Platzhalterzeichen „*“ verwenden, um alle Skripte auszuwählen, die bestimmten Kriterien entsprechen. Der folgende Befehl verwendet alle Skripte, die mit ssh beginnen.

$ nmap --script "ssh*" 192.168.1.1

Sie können diesen Arten von Nmap-Befehlen für mehr Flexibilität zusätzliche Optionen hinzufügen.

41. Boolesche Ausdrücke für die Skriptauswahl verwenden

Nmap ermöglicht es Benutzern, ihre NSE-Skripte mit booleschen Ausdrücken wie and, or, not auszuwählen. Die folgenden Befehle zeigen einige Beispiele dafür.

$ nmap --script "not vuln" 192.168.1.1
$ nmap --script "default or broadcast" 192.168.1.1
$ nmap --script /path/to/scripts 192.168.1.1

Das erste Beispiel lädt alle NSE-Skripte außer vuln. Der zweite Befehl lädt Skripte entweder aus den Standard- oder Broadcast-Kategorien. Das letzte Beispiel lädt Skripte aus einem Verzeichnis. Sie können personalisierte NSE-Skripte schreiben und auf diese Weise laden.

42. Holen Sie sich die Skriptdokumentation

Da Nmap eine Fülle von Standard- und benutzerdefinierten Skripten bietet, ist es schwierig, sich an die Details zu erinnern. Glücklicherweise bietet Nmap eine hervorragende Dokumentation für seine NSE-Skripte. Die folgenden Befehle zeigen Ihnen, wie Sie sie aufrufen können, um detaillierte Informationen zu erhalten.

$ nmap --script-help "ssh-*"
$ nmap --script-help "ssh-*" and "discovery"

Das erste Beispiel zeigt Hilfe für alle Skripte, die mit ssh- beginnen, und das zweite zeigt Discovery-Skripte neben den ssh-ones.

Verschiedene Nmap-Befehle

Da Nmap-Befehle es Benutzern ermöglichen, eine Fülle von Optionen zu kombinieren, können Sie ganz einfach eine unendliche Anzahl von Befehlen erstellen. Wir skizzieren einige häufig verwendete Befehle im folgenden Abschnitt.

43. Heartbleed-Schwachstelle untersuchen

Die Schwachstelle SSL Heartbleed ist eine bekannte Angriffsfläche für böswillige Angreifer. Ob ein Host diese Schwachstelle enthält, prüft der nächste Befehl mit dem NSE-Skript heartbleed.

$ nmap -sV -p 443 --script=ssl-heartbleed 192.168.1.1

Die Ausgabe dieses Befehls kann Netzwerkadministratoren helfen, nach veralteten SSL-Diensten zu suchen und sie zu patchen, bevor ein Eindringversuch unternommen wird.

44. IP-Informationen abrufen

Das Ausgraben von IP-Informationen ist eine der ersten Aufgaben, die entfernte Angreifer ausführen, wenn sie ein Ziel überprüfen. Einige wesentliche IP-Informationen umfassen Whois-Daten, Geolokalisierung usw. Der nächste Befehl veranschaulicht die Verwendung von Nmap bei einer solchen passiven Aufklärung.

$ nmap --script=whois*,ip-geolocation-maxmind,asn-query 192.168.1.1

Dieser Befehl ermittelt Informationen über den Whois-Eintrag, die Geolokalisierung und Asn-Abfragen des Remote-Hosts mithilfe vorgefertigter NSE-Skripts.

45. Nmap-Ausgaben speichern

Obwohl das Standardausgabeformat von Nmap großartig ist, möchten Sie Ihre Scanausgabe oft für die spätere Verwendung speichern. Es ist sehr einfach, wie Sie an den folgenden Beispielen sehen können.

$ nmap -oN scan-report -n 192.168.1.1
$ nmap -n 192.168.1.1 > scan-report

Das erste Beispiel scannt den entfernten Host und speichert die Ausgabe in einer Datei namens scan-report im aktuellen Verzeichnis. Sie können dies auch mit dem Unix-Umleitungsoperator tun, wie das zweite Beispiel zeigt.

46. Zusätzliche Ausgabeformate

Es gibt mehrere Nmap-Befehle, mit denen Benutzer ihre Ausgabe bequemer formatieren können. Die folgenden Beispiele zeigen einige wichtige für Sie.

$ nmap -oX scan-report.xml -n 192.168.1.1
$ nmap -oG scan-report -n 192.168.1.1
$ nmap -oA scan-report -n 192.168.1.1

Die erste speichert Scan-Ergebnisse als XML-Datei. Das zweite Beispiel speichert das Ergebnis in einem Format, auf das grep leicht zugreifen kann. Das letzte Beispiel weist Nmap an, Ergebnisse in allen Formaten zu speichern.

47. Scannen Sie DDoS Reflective UDP-Dienste

Häufig nutzen Angreifer UDP-basierte DDoS-Angriffe, um entfernte Ziele auszuschalten. Der folgende Nmap-Befehl scannt ein Zielnetzwerk nach solchen DDoS-Reflexionsdiensten und gibt Tipps, wie man sie vollständig blockiert,

$ nmap –sU –A –PN –n –pU:19,53,161 –script=snmp-sysdescr,dns-recursion,ntp-monlist 192.168.1.1

Obwohl es scheinbar komplex ist, ist es nichts anderes als ein Befehl mit mehreren Optionen und Skripten.

48. Senden Sie Nmap-Scan-Ergebnisse an Nikto

Nikto ist ein überzeugender Schwachstellen-Scanner, der verwendet wird, um gefährliche Dateien, falsch konfigurierte CGIs, Legacy-Server und so weiter zu erkennen. Der folgende Befehl übermittelt Nmap-Scan-Ergebnisse an Nikto.

$ nmap --top-ports 10 192.168.1.1/24 -oG - | /path/of/nikto.pl -h -

Jetzt verwendet Nikto Ihr Nmap-Ergebnis, um seinen eigenen Scan durchzuführen.

49. Banner mit NSE-Skript abrufen

Banner Grabbing ist eine weit verbreitete Technik zum Sammeln von Informationen, die Serviceinformationen offener Ports in entfernten Hosts offenlegt. Der folgende Befehl erfasst die Banner eines Netzwerks mithilfe des NSE-Bannerskripts.

$ nmap --script=banner 192.168.1.1/24

50. Konsultieren Sie die Nmap-Dokumentation

Da Nmap im Laufe der Zeit stark gewachsen ist, ist es für Anfänger ziemlich schwierig, sich alle seine Funktionen zu merken. Glücklicherweise bietet die Nmap-Dokumentation hervorragende Informationen, um Benutzern bei diesem Problem zu helfen.

$ nmap --help
$ man nmap

Der erste Befehl stellt Ihnen alle verfügbaren Optionen für Nmap zur Verfügung. Sie können das Handbuch konsultieren, wenn Sie nach detaillierten Informationen suchen, indem Sie das letzte verwenden.

Abschlussgedanken

Nmap-Befehle sind viel mächtiger als viele Leute denken. Erfahrene Benutzer können anfällige Webserver und zugehörige Informationen mit nur wenigen Befehlen leicht erkennen. Hacker verlassen sich auf solche Informationen, um ihre Exploits zu entwickeln und Remote-Hosts zu kompromittieren. Daher ist es für Netzwerkadministratoren unerlässlich, diese Dinge zu kennen und solche Probleme für ihre Infrastrukturen zu beheben.

Eine weitere wichtige Sache, die Sie bei der Verwendung solcher Scan-Techniken beachten sollten, ist die Legalität. Die meisten Leute werden es einfach nicht mögen, wenn Sie ihr Netzwerk ausspionieren. Holen Sie sich daher immer autorisierte Privilegien, bevor Sie solche Aufgaben ausführen. Sie können sie jedoch in persönlichen virtuellen Maschinen oder containerisierten Plattformen üben.


Linux
  1. 20 wichtige Linux-Befehle für jeden Benutzer

  2. 3 wichtige Linux-Spickzettel für mehr Produktivität

  3. Spickzettel für allgemeine Linux-Befehle

  4. 8 Linux-Befehle für effektives Prozessmanagement

  5. Befehle nach Systeminaktivität planen?

15 am häufigsten verwendete Nmap-Befehle zum Scannen von Remote-Hosts

8 grundlegende Linux-Dateinavigationsbefehle für neue Benutzer

25 Muss Nginx-Befehle für Entwickler und Administratoren kennen

40 nützliche Git-Befehle für Linux-Administratoren und -Entwickler

SystemD - Wofür wird SystemD verwendet?

Nmap-Befehle - 17 grundlegende Befehle für Linux-Netzwerke