Die Erkennung von Diensten und Softwareversionen auf dem Zielgerät ist deshalb so wichtig, weil einige Dienste dieselben Ports verwenden. Um Dienste zu unterscheiden, kann es daher kritisch werden, die Software zu erkennen, die hinter dem Port ausgeführt wird.
Der Hauptgrund, warum die meisten Systemadministratoren jedoch einen Versionsscan durchführen, besteht darin, Sicherheitslücken oder Schwachstellen zu erkennen, die zu veralteten oder bestimmten Softwareversionen gehören.
Ein normaler Nmap-Scan kann geöffnete Ports aufdecken, standardmäßig werden Ihnen keine Dienste dahinter angezeigt, Sie können einen geöffneten 80-Port sehen, aber Sie müssen möglicherweise wissen, ob Apache, Nginx oder IIS lauscht.
Durch Hinzufügen der Versionserkennung kann NSE (Nmap Scripting Engine) die identifizierte Software auch mit Schwachstellendatenbanken vergleichen (siehe „Verwendung von Vuls“).
So funktionieren Nmap-Dienste und Versionserkennung?
Um Dienste zu erkennen, verwendet Nmap die Datenbank namens nmap-Dienste inklusive möglicher Dienste pro Port, die Liste finden Sie unter https://svn.nmap.org/nmap/nmap-services, Wenn Sie eine benutzerdefinierte Portkonfiguration haben, können Sie die Datei unter bearbeiten /usr/share/nmap/nmap-services. Um die Diensterkennung zu aktivieren, das Flag -EIN wird eingesetzt.
Um Softwareversionen zu erkennen, hat Nmap eine weitere Datenbank namens nmap-service-probes einschließlich Sonden zum Abfragen und Abgleichen von Ausdrücken, um Antworten zu identifizieren.
Beide Datenbanken helfen Nmap zunächst dabei, den Dienst hinter dem Port wie ssh oder http zu erkennen. Zweitens versucht Nmap, die Software, die den Dienst bereitstellt (wie OpenSSH für ssh oder Nginx oder Apache für http) und die spezifische Versionsnummer zu finden.
Um die Genauigkeit der Versionserkennung zu erhöhen, integriert dieser spezielle Scan NSE (Nmap Scripting Engine), um Skripte für verdächtige Dienste zu starten, um Erkennungen zu bestätigen oder zu verwerfen.
Sie können die Intensität eines Scans jederzeit regulieren, wie unten erläutert wird, obwohl dies nur bei ungewöhnlichen Diensten auf Zielen nützlich ist.
Erste Schritte mit Nmap Services und Versionserkennung:
Um Nmap auf Debian und basierenden Linux-Distributionen zu installieren, führen Sie Folgendes aus:
# apt install nmap -yFühren Sie vor dem Start einen regulären Nmap-Scan durch, indem Sie Folgendes ausführen:
# nmap linuxhint.com
Sie können sehen, dass offene und gefilterte Ports aufgelistet sind. Lassen Sie uns jetzt einen Versionsscan durchführen, indem Sie Folgendes ausführen:
# nmap -sV linuxhint.com
Sie können in der Ausgabe oben sehen, dass Nmap OpenSSH 6 erkannt hat.6.1p1 hinter Port 22, Postfix hinter Port 25 und Nginx hinter Port 80 und 443. In einigen Fällen kann Nmap gefilterte Ports nicht unterscheiden, in solchen Fällen wird Nmap sie als gefiltert markieren, aber wenn Sie dazu aufgefordert werden, werden die Sondierungen gegen diese Ports fortgesetzt.
Es ist möglich, den Intensitätsgrad zu bestimmen, den Nmap verwendet, um Softwareversionen zu erkennen. Standardmäßig ist die Stufe 7 und der mögliche Bereich liegt zwischen 0 und 9. Diese Funktion zeigt nur Ergebnisse, wenn ungewöhnliche Dienste auf dem Ziel ausgeführt werden. Es gibt keine Unterschiede bei Servern mit weit verbreiteten Diensten. Das folgende Beispiel zeigt einen Versionsscan mit minimaler Intensität:
# nmap -sV --version-intensity 0 linuxhint.com
Um den aggressivsten Versionserkennungsscan auszuführen, ersetzen Sie die 0 durch 9:
# nmap -sV --version-intensity 9 linuxhint.com
Die Stufe 9 kann auch ausgeführt werden als:
# nmap -sV --version-all nic.ar
Für die Erkennung einer Version mit niedriger Intensität (2) können Sie Folgendes verwenden:
# nmap -sV --version-light nic.ar
Sie können Nmap anweisen, den gesamten Prozess anzuzeigen, indem Sie die Option -version-trace hinzufügen:
# nmap -sV --version-trace 192.168.43.1
Jetzt verwenden wir die Flagge -EIN die zusätzlich zu OS, Traceroute und NSE auch eine Versionserkennung ermöglicht:
# nmap -A 192.168.0.1
Wie Sie nach dem Scan sehen können, erkennt NSE Post Scan als gestartet mögliche Schwachstellen für die exponierte Bind-Version.
Der Gerätetyp und das Betriebssystem wurden erfolgreich als Telefon und Android erkannt und ein Traceroute wurde ebenfalls ausgeführt (das Android-Handy arbeitet als Hotspot).
Während NSE zur Erkennung von Diensten integriert ist, um eine bessere Genauigkeit zu ermöglichen, kann ein spezifischer OS-Erkennungsscan mit dem Flag -O wie im folgenden Beispiel gestartet werden:
# nmap -O 192.168.43.1
Wie Sie sehen, war das Ergebnis ohne NSE ziemlich ähnlich, das standardmäßig in Versions-Probes integriert ist.
Wie Sie sehen können, können Sie mit Nmap und wenigen Befehlen relevante Informationen über die auf Zielen ausgeführte Software erfahren. Wenn das Flag -A aktiviert ist, wird Nmap die Ergebnisse testen und versuchen, Sicherheitslücken für die angegebenen Dienstversionen zu finden.
Ich hoffe, Sie fanden dieses Tutorial zum Nmap-Versionsscan nützlich, es gibt viele zusätzliche hochwertige Inhalte auf Nmap unter https://linuxhint.com/?s=nmap.
Folgen Sie LinuxHint für weitere Tipps und Updates zu Linux und Netzwerken.