Vielleicht ist der aufgefallen, dass Nmap bereits beim Portscan Angaben zum Dienst macht, der auf einem offenen Port läuft.
Nun schauen wir uns an, wie Nmap erkennt, welche Anwendungen oder Dienste hinter einem Port stehen.
Die Diensterkennung, auch als Service Detection bezeichnet, ist der Prozess, mit dem Netzwerkdienste identifiziert werden, die auf offenen Ports eines Systems oder Netzwerks laufen.
Es gibt verschiedene Techniken, um einen Dienst zu erkennen:
Nachschlagen in Liste von Portnummern Die Internet Assigned Numbers Authority (IANA) pflegt eine Liste von Portnummern, denen Dienste zugewiesen sind.
Dies erlaubt es, Standarddienste zu identifizieren, die auf den für sie bestimmten Ports laufen.
Beispiele sind Port 80 für HTTP und Port 22 für SSH.
Diensteerkennung durch Nachschlagen in Liste von Portnummern
Diese Methode ist jedoch nicht sehr zuverlässig, da Dienste grundsätzlich auf beliebig gewählten Ports laufen können.
Banner Grabbing Viele Dienste senden bei einer Verbindung automatisch eine Begrüßungsnachricht oder einen Banner, der Informationen über die Software und Version enthält.
Dies erlaubt, die Anwendung und gegebenenfalls auch die Version zu identifizieren.
Diensteerkennung durch Banner Grabbing
Senden spezifischer Anfragen An den Dienst auf einen bestimmten Port werden Anfragen gesendet, die spezifische Zeichenketten enthalten, und Antworten provozieren sollen, die abhängig vom Dienst und der Version ist, und mit den bekannten Antworten von Diensten und deren Versionen verglichen werden können.
Diensteerkennung durch spezifische Anfragen
Diensterkennung mit Nmap
Der LUPFER hat zwei offene TCP- und einen offenen UDP-Port.
Nmap hat auch bereits Angaben zu den Diensten gemacht, die auf diesen offenen Ports laufen.
Diese leitet Nmap aus einer Datei namens nmap-services ab, die auf der Liste der Portnummern der IANA beruht.
Lass uns als Erstes untersuchen, ob Nmap weitere Details zu den offenen TCP-Ports gewinnen kann.
Der Nmap-Befehl dafür lautet:
nmap -sV <ip> -p <ports>
Das Flag -sV startet die erweiterte Diensterkennung.
Nmap offenbart also weitere Details zu den Diensten auf den offenen TCP-Ports.
Für den Dienst ssh wertet Nmap dabei ein Banner aus, während es bei dem Dienst http HTTP-Anfragen versendet und die Antworten auswertet.
Wie sieht das nun bei dem offenen UDP-Port aus?
sudo nmap -sUV <ip> -p <port>
Das Flag -sVU kombiniert die Optionen -sV und -sU, sodass die Diensterkennung für UDP-Ports gestartet wird.
Zu dem UDP-Dienst hinter dem Port 161 liefert Nmap also keine weiteren Informationen.
Die Angabe, dass es sich um den Dienst snmp handele, basiert lediglich auf dem Eintrag in der Datei nmap-services.
Wenn du dir vor Augen führst, dass Nmap standardmäßig ein Skript namens snmp-info ausführt, um Details zum Dienst snmp zu ermitteln, das jedoch ergebnislos bleibt, dann wird klar, dass nicht sicher ist, ob auf dem UDP-Port 161 tatsächlich snmp läuft.
Den Dienst wirst du hier noch näher untersuchen.