So bestimmen Sie das Betriebssystem des Remote-Hosts
Bei der Durchführung von digitaler Aufklärung oder Penetrationstests ist es wichtig, einen Fingerabdruck eines Netzwerks zu erstellen, indem man versteht, welches Betriebssystem auf einem entfernten Host verwendet wird.
Nmap ist ein großartiges Werkzeug für diese Aufgabe. Obwohl Nmap normalerweise mit dem Bereich der Cybersicherheit und Penetrationstests in Verbindung gebracht wird, kann es auch für wohltätige Zwecke verwendet werden, z. B. wenn ein Systemadministrator eine Bestandsaufnahme der Betriebssysteme macht, auf denen alle Systeme in seinem Netzwerk ausgeführt werden.
Die Verwendung von nmap für diese Art von Aufgabe bedeutet nicht, dass Sie entfernte Betriebssysteme mit 100%iger Genauigkeit identifizieren können, aber nmap stattet Sie sicherlich mit einer soliden, fundierten Vermutung aus. In diesem Tutorial erfahren Sie, wie Sie das Betriebssystem eines Remote-Hosts mithilfe von Nmap auf einem Linux-System ermitteln können.
In diesem Tutorial lernen Sie:
- So installieren Sie Nmap auf den wichtigsten Linux-Distributionen
- So verwenden Sie Nmap, um einen einfachen Scan durchzuführen
- So verwenden Sie Nmap, um das Betriebssystem des Remote-Hosts zu bestimmen
So installieren Sie Nmap auf den wichtigsten Linux-Distributionen
Das Tool, das wir verwenden werden, um einen Remote-Host zu scannen, ist Nmap. Sie können den entsprechenden Befehl unten verwenden, um Nmap mit dem Paketmanager Ihres Systems zu installieren.
So installieren Sie Nmap unter Ubuntu, Debian und Linux Mint:
sudo apt install nmap
So installieren Sie Nmap auf Fedora, CentOS, AlmaLinux und Red Hat:
sudo dnf install nmap
So installieren Sie Nmap auf Arch Linux und Manjaro:
sudo pacman -S nmap
Führen Sie einen einfachen Netzwerkscan mit Nmap durch
Beim Versuch, das Betriebssystem des Remote-Hosts mit nmap zu bestimmen, stützt sich nmap auf verschiedene Aspekte wie offene und geschlossene Ports der Standardinstallation des Betriebssystems, Betriebssystem-Fingerabdrücke, die bereits von anderen Benutzern an die nmap-Datenbank übermittelt wurden, MAC-Adresse usw.
Wenn Sie nicht wissen, welche IP-Adressen in Ihrem LAN aktiv sind, können Sie zunächst versuchen, das gesamte Subnetz zu scannen. Hier scanne ich zum Beispiel mein lokales Subnetz 10.1.1.*:
sudo nmap -sP 10.1.1.*
Beispielhafte Ausgabe:
Nmap scan report for 10.1.1.1
Host is up (0.0026s latency).
MAC Address: C4:7D:4F:6F:3E:D2 (Cisco Systems)
Nmap scan report for 10.1.1.11
Host is up.
Nmap scan report for 10.1.1.13
Host is up (0.0020s latency).
MAC Address: 00:13:02:30:FF:EC (Intel Corporate)
Nmap scan report for 10.1.1.14
Host is up (0.0022s latency).
MAC Address: A8:26:D9:ED:29:8E (HTC)
Nmap scan report for 10.1.1.250
Host is up (0.0041s latency).
MAC Address: 00:23:EB:71:E0:F6 (Cisco Systems)
Nmap done: 256 IP addresses (5 hosts up) scanned in 35.37 seconds
In der obigen Ausgabe sehen wir alle derzeit aktiven IP-Adressen und wir können bereits einige Hinweise darauf sehen, wofür ein bestimmter Host verwendet werden kann.
Identifizieren des Betriebssystems auf dem Remote-Host
Damit nmap überhaupt eine Vermutung anstellen kann, muss nmap mindestens 1 offenen und 1 geschlossenen Port auf einem entfernten Host finden. Lassen Sie uns anhand der vorherigen Scan-Ergebnisse mehr über den Host 10.1.1.13 erfahren:
sudo nmap -O -sV 10.1.1.13
Beispielhafte Ausgabe:
Nmap scan report for 10.1.1.13
Host is up (0.0073s latency).
Not shown: 995 closed ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 5.5p1 Debian 6+squeeze2 (protocol 2.0)
53/tcp open domain ISC BIND 9.7.3
80/tcp open http Apache httpd 2.2.16 ((Debian))
111/tcp open rpcbind (rpcbind V2) 2 (rpc #100000)
3389/tcp open ms-wbt-server xrdp
MAC Address: 00:13:02:30:FF:EC (Intel Corporate)
Device type: general purpose
Running: Linux 2.6.X
OS CPE: cpe:/o:linux:kernel:2.6
OS details: Linux 2.6.32 - 2.6.35
Network Distance: 1 hop
Service Info: OS: Linux; CPE: cpe:/o:linux:kernel
OS and Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 20.57 seconds
Aus der obigen Ausgabe können wir feststellen, dass auf diesem speziellen Host eine Version des Linux-Betriebssystems ausgeführt wird. Basierend auf der ssh-Version handelt es sich höchstwahrscheinlich um Debian 6 ( Squeeze ) mit der Kernel-Version 2.6 und höchstwahrscheinlich liegt die Kernel-Version irgendwo zwischen 2.6.32 und 2.6.35.
Selbst in Fällen, in denen das Betriebssystem nicht zuverlässig bestimmt werden kann, sind offene Ports oft das Aufschlussreichste an einem Host-System. Nehmen Sie den Screenshot unten als Beispiel, auf dem leicht zu erkennen ist, dass auf dem Hostsystem Ubuntu ausgeführt wird, obwohl Nmap berichtet, dass es nicht sicher ist, was das Betriebssystem sein könnte.
Abschließende Gedanken
Die gleiche Technik kann auch für alle WAN-Remote-Hosts verwendet werden. Das Scannen nach der Betriebssystemversion auf einem Remote-Host kann für Sie als Administrator sehr praktisch sein. Auf der anderen Seite kann diese Technik auch von Hackern missbraucht werden. Sie können jeden Host mit ihrem Exploitation-Angriff auf der Grundlage ziemlich genauer Informationen über ein laufendes Betriebssystem und dessen Patch-Level ins Visier nehmen. Lassen Sie dies nur eine kurze Erinnerung für uns alle sein, alle unsere Systeme auf dem neuesten Stand zu halten.

