LINUXMAKER, OpenSource, Tutorials

OS- und Service-Identification mit Nmap

Bei der OS Identification und Service Identification soll herausgefunden werden, welches Betriebssystem im Einsatz ist und welche Software für die angebotenen Dienste verwendet wird. Denn dabei ist man generell auf der Suche nach Anwendungen und Betriebssystemen, die bekannte Sicherheitslücken aufweisen.

Obwohl Nmap hauptsächlich ein Port-Scanner ist, eignet es sich sehr gut für die OS- und Service-Identification. Dazu enthält Nmap eine riesige Datenbank mit Heuristiken für die Identifikation von Betriebssystemen und Anwendungen.
Manchmal bringen die Service-Scans von Nmap auch Informationen über das Ziel zum Vorschein, die über den Service und das Betriebssystem hinausgehen. So laufen manche Betriebssysteme nur auf einer bestimmten Hardware, weshalb es sich dabei sehr einfach auf den Gerätetyp schließen lässt.

Die Versionserkennung von Nmap stellt Verbindungen zu vielen verschiedenen Diensten her, die oft Einträge in Log-Dateien hinterlassen und somit von Intrusion-Detection-Systemen detektiert werden können.
Auch die Betriebssystemerkennung verwendet Testpakete und Paketfolgen, die durch ein IDS leicht zu erkennen sind.
Um unerkannt zu bleiben, sollte die Service- und Betriebssystemerkennung von Nmap unterlassen werden. Für einen allgemeinen Netzwerk-Scan oder Pentest sind diese Funktionen sinnvoll, aber für einen erfolgreichen Angriff nicht zwangsläufig notwendig. Wenn es sich nicht vermeiden lässt, dann ermittelt man ein einzelnes Zielsystem und schränkt anschließend den Scan auf wenige Ports ein.

OS-Scan (OS-Detection)

nmap -O 192.168.1.1

Dieses Kommando versucht die besonderen Eigenarten der Implementierungen des Betriebssystem auf dem Zielsystem zu identifizieren. Hierbei wird unter anderem auch ein Port-Scan durchgeführt.
Die Ausgabe enthält, eine Liste offener Ports, das vermutete Betriebssystem und seine Version, wenn möglich der Gerätetyp. Der OS-Scan auf ein Zielsystem kann lange dauern.

Service-Scan / Versions-Scan

nmap -sV 192.168.1.1

Der Service-Scan ist im Prinzip ein Port-Scan, der mit zusätzlichen Tests die Anwendungen hinter den offenen Ports identifiziert. Der Scan wendet dabei verschiedene Anwendungsprotokolle auf den Ports an, die als "open" oder "open|filtered" gelten. Das hat die Auswirkung, dass der Scan sehr lange dauern kann.
Mit dem Service-Scan kann man herausfinden, welche Software hinter welchem Port arbeitet. Das funktioniert nur mit einem TCP-Full-Connect-Scan. Dabei findet ein vollständiger TCP-Verbindungsaufbau statt, um anschließend die Software mit verschiedenen Anwendungsprotokollen anzusprechen.
Der Service-Scan kann ganz schön lange dauern. Das ist unter anderem von der Anzahl offener Ports abhängig.

RPC-Scan

nmap -sR 192.168.1.1

Der RPC-Scan ist ein Port-Scan, der zusätzlich RPC-Pakete sendet, wenn Nmap einen RPC-Dienst auf einem Port erkannt hat. So bekommt man eventuell weitere Informationen über die laufenden Dienste.
Der RPC-Scan ist im Service-Scan bereits enthalten. Das heißt, den RPC-Scan wendet man nur an, wenn man auch nur RPC-Dienste scannen will.

OS und Service Scan

Der OS- und Service-Scan kann auch miteinander kombiniert werden:

nmap -O -sV 192.168.1.1

Nmap kennt dafür eine Kurzform:

nmap -A 192.168.1.1

Mit der Option "-A" geht Nmap bei der OS- und Service-Identification sehr aggressiv vor. Die Ausgabe ist dafür sehr ausführlich und enthält neben dem Ergebnis der OS- und Service-Identification auch ein Traceroute.