In der heutigen digitalen Ära, in der Computer-Netzwerke und das Internet einen integralen Bestandteil unseres täglichen Lebens darstellen, ist die Sicherheit dieser Systeme von größter Bedeutung. Angreifer nutzen oft Schwachstellen in Netzwerken aus, um Zugriff auf vertrauliche Daten zu erlangen oder schädliche Angriffe durchzuführen. Aus diesem Grund ist es unerlässlich, dass Netzwerkadministratoren und Sicherheitsexperten die erforderlichen Tools und Techniken beherrschen, um potenzielle Sicherheitslücken zu erkennen und zu beheben.

Nmap ist wohl eines der wichtigsten Tools im Bereich Netzwerkanalyse und Penentration-Testing. Nmap steht für „Network Mapper“ und ist ein sehr vielschichtiges Open-Source-Werkzeug, mit dem sich Netzwerke schnell scannen und analysieren lassen.

Netzwerkadministratoren verwenden Nmap, um festzustellen, welche Geräte auf ihren Systemen ausgeführt werden, um verfügbare Hosts und darauf laufende Dienst sowie Betriebssysteme zu ermitteln, offene Ports zu finden und Sicherheitsrisiken zu erkennen um ggf. Sicherungsmaßnahmen abzuleiten.

Installation:

In einigen Linux-Distributionen wie Kali Linux und Parrot OS, ist Nmap bereits standardmäßig vorinstalliert. In anderen gängigen Linux-Distributionen wie Ubuntu, Fedora, CentOS und Arch Linux muss Nmap nachträglich installiert werden. Die Installation erfolgt über den jeweiligen Paketmanager des Systems. Auf Debian-basierten Systemen klappt die Installation mit folgendem Befehl:

sudo apt-get install nmap

Für Fedora/CentOS erfolgt die Installation mit ’sudo yum install nmap‘ oder ‚sudo dnf install nmap‘ und ’sudo pacman -s nmap‘ auf Arch Linux. Dieser Vorgang ist in der Regel schnell und unkompliziert. Nach der Installation ist Nmap sofort für umfassende Netzwerkuntersuchungen einsatzbereit.

Syntax:

nmap <Scan Type> <Optionen> <Target/IP-Adresse>

sudo nmap -A -T4 scanme.nmap.org

Die Option -A aktiviert eine Reihe erweiterter Funktionen zur Netzwerkerkennung wie OS-Erkennung, Versionserkennung, Script-Scanning und Tracerout. Beachten Sie, dass für die meisten Funktionen von Nmap Superuser-Rechte benötigt werden, daher ist die Verwendung von sudo zu empfehlen.

In der Grafik ist ein typisches Scan-Resultat abgebildet. Port 22 und Port 80 sind offen und es laufen Standarddienste (SSH und HTTP), die für diese beiden Ports in der Regel genutzt werden.

Im folgenden Abschnitt habe ich einige wichtige Scan-Typen und ihre Funktion aufgelistet. Die Liste gibt nur einen ersten groben Überblick.

sV steht für Service-Versionserkennung. Diese Option ermöglicht es Nmap die Version der Dienste zu ermitteln, die auf offenen Ports laufen. Der Scan versucht, zusätzliche Informationen über die au den Zielsystemen laufenden Dienste zu sammeln, indem Aktiviert die Versionserkennung, die feststellt, welche Versionen auf welchem Port laufen.

-sC: Führt einen Skript-Scan mit dem Standard-Skriptsatz durch. Dies ist gleichbedeutend mit –script=default. Einige der Skripte in dieser Kategorie gelten als offensiv und sollten nicht ohne Erlaubnis auf einem Zielnetzwerk ausgeführt werden!

–script=vuln: Mit dieser Option führt man alle Skripte in der Kategorie ‚vuln‘ (Verwundbarkeiten) gegen das Ziel aus. Weitere Skript-Kategorien sind ‚discovery‘, ‚auth‘, ‚discovery‘ z. B.: nmap –script=vuln 192.168.1.1

–script=http-vuln-cve2014-8877: Dieser Befehl führt das spezifische Skript ‚http-vuln-cve2014-8877‚ gegen das angegebene Ziel aus.

-sL (List-Scan): Der List-Scan listet jeden Host im angegebenen Netzwerk auf, ohne Pakete an die Ziel-Hosts zu senden.

-sn: (Skip Port Scan / No Port Scan): Deaktiviert die Porterkennung und führt nur eine Hosterkennung durch. Das bedeutet, dass Nmap nur prüft, ob die Hosts in einem IP-Adressbereich aktiv sind, ohne offene Ports zu scannen. Diese Option eignet sich gut um eine Liste aktive Clients in einem Netzwerkbereich zu erhalten. Beispiel: nmap -sn 127.0.0.1/24

-sS (TCP-SYN-Scan): Der SYN-Scan ist die Standardeinstellung der Scan-Methode. Er kann schnell durchgeführt werden und scannt hunderte von Ports pro Sekunde, wenn das Netzwerk schnell ist und nicht von einer Firewall kontrolliert wird.

-sT (TCP-Connect-Scan): TCP-Scan ist der standardmäßig eingestellt TCP-Scan falls der SYN-Scan nicht möglich ist.

-sU (UDP-Scan): Scannt Ports auf laufende UDP-Dienste wie DNS, SNMP und DHCP. UDP-Scans sind im Allgemeinen langsamer und schwieriger als TCP-Scans.

Optionen in Nmap

-p- : Mit dieser Option sucht man nach allen TCP-Ports (0 – 65535). Die Suche kann auch auf bestimmte Ports eingeschränkt werden wie z. B. Port 1 – 20000.

sudo nmap -p1-20000 -sV 10.10.10.2

–min-rate : Hier wird die Mindestanzahl von Paketen angegeben, die Nmap pro Sekunde senden soll; je höher die Zahl, desto schneller wird der Scan.

Beispiel: nmap -p- –min-rate 5000 -sV [ip-address]

-T0 bis -T5: Diese Option bezieht sich auf die Timing-Vorlage, die Nmap verwendet um die Geschwindigkeit und das Timing von Netzwerkanfragen zu steuern. Das Tool bietet verschiedene Timing-vorlagen (von -T0 bis -T5), die bestimmen, wie aggressiv der Scan durchgeführt wird. -T4 steht für eine schnellere Timing-Vorlage. Aggressivere Timing-Einstellungen wie -T4 oder -T5 können aber auch eher von Sicherheitssystemen erkannt werden. Wenn man unauffällig bleiben möchte, sollte eine langsamere Einstellung verwendet werden.

Es ist wichtig zu beachten, dass Nmap eine Vielzahl von Optionen und Parametern bietet, um den Scanvorgang zu erweitern und anzupassen. Um die vollständige Liste der verfügbaren Optionen und ihre jeweiligen Funktionen zu sehen, kann man die Nmap-Dokumentation oder die Hilfefunktion von Nmap nutzen: nmap –help