Nmap - Netzwerk/Port Scanner
Nmap ist ein open source Netzwerk Scanner zur Analyse von Netzwerken und zugleich eines der beliebtesten Tools im Rahmen der Analyse von Netzwerk Infrastrukturen.
Es wird hauptsächlich zur Hosterkennung, Betriebssystemerkennung und zum Scannen von offenen Ports verwendet. Häufig werden eigene Firewall Einstellungen unter die Lupe genommen, um unerwünschte Dienste, die im Hintergrund laufen zu identifizieren und zu beenden. Netzwerk Administratoren erhalten durch Nmap einen Überblick über das tatsächliche Geschehen im Netzwerk.
Die grundlegende Vorgehensweise von Nmap ist folgende: Nmap sendet Pakete an einen Host und analysiert anschließend die Antworten um die gewünschten Resultate zu erlangen. Zu Beginn ermittelt Nmap aus der Zieladresse, die tatsächlich zu scannenden Hosts. Die Zieladresse kann nämlich die IP-Adresse eines einzelnen Hosts sein oder die eines kompletten Subnetz. Handelt es sich um eine Subnetz-Adresse, so führt Nmap den Scan auf alle Hosts in diesem Subnetz aus.
Was sind Ports und Port-Zustände?
Ein Port ist der Teil einer Netzwerkadresse, über den Informationen übertragen werden. Mit Hilfe eines Ports können Datenpakete zu jedem Zeitpunkt einer bestimmten Anwendung zugeordnet werden. Die Port-Nummern liegen in einem Bereich von 1 bis 65535. Die ersten 1023 Ports sind für Internetdienste wie HTTP und SMTP reserviert. Ports zwischen 1024 und 49151 können von Anwendungen frei vergeben werden, die restlichen werden dynamisch zugeordnet. Nmap erkennt 6 verschiedene Port-Zustände:
offen (open): Offene Ports bedeuten immer ein gewisses Sicherheitsrisiko. Hacker können über offene Ports Zugriff auf das jeweilige Gerät erlangen. Netzwerk-Administratoren sollten offene Ports im Regelfall versuchen zu schließen. Ein offener Port ist also eine Adresse, über die ein Programm Pakete aus dem Internet entgegennimmt.
geschlossen (closed): Ein geschlossener Port ist erreichbar (er empfängt und antwortet auf Nmap-Testpakete), aber es gibt kein Programm, das ihn abhört. Er kann von Nutzen sein, um zu zeigen, dass ein Host online ist und eine IP-Adresse benutzt (Host-Erkennung oder Ping-Scanning), sowie als Teil der Betriebssystemerkennung. Weil geschlossene Ports erreichbar sind, sind sie es wert, gescannt zu werden, falls sie später einmal geöffnet werden sollten. Administratoren möchten solche Ports vielleicht mit einer Firewall blockieren, damit sie im Zustand gefiltert erscheinen, der als Nächstes beschrieben wird.
gefiltert (blocked): Gefilterte Ports sind weder offen noch geschlossen. Entweder weil eine Paketfilterung verhindert, dass seine Testpakete den Port erreichen oder weil der Port durch eine Firewall geschützt ist. Das bedeutet, dass ebenfalls keine Verbindung zur Anwendung aufgebaut wird.
ungefiltert (unblocked): Ungefilterte Ports sind zugänglich, es konnte allerdings nicht festgestellt werden ob der Port offen oder geschlossen ist. Durch erweiterte Scan Methoden wie dem FIN-Scan, Window-Scan oder SYN-Scan kann bestimmt werden ob ungefilterte Ports offen sind.
offen/gefiltert: Bei diesem Zustand kann nicht eindeutig festgestellt werden ob der Port offen oder gefiltert ist. Das kommt bei Scan-Methoden vor, in denen offene Ports keine Antwort geben. Das Fehlen einer Antwort könnte auch bedeuten, dass ein Paketfilter das Testpaket verworfen hat oder dass keine Antwort provoziert werden konnte. Deswegen weiß Nmap nicht sicher, ob der Port offen oder gefiltert ist. Ports werden von den UDP-, IP-Protokoll-, FIN-, NULL- und Xmas-Scans auf diese Weise klassifiziert.
geschlossen/gefiltert: Dieser Zustand wird benutzt, wenn Nmap nicht feststellen kann, ob ein Port geschlossen ist oder gefiltert wird. Er wird nur vom IP-ID-Idle-Scan benutzt.
Wichtige Befehle und Scans
nmap <Befehl> <Zusatzbefehl> <IP>
ping/nslookup <hostname> | Finde die IP-Adresse des gewünschten Hosts heraus |
nmap --help | Allgemeine Informationen über nmap |
nmap dev-supp.de | Grundlegender Nmap Scan einer IP-Adresse oder eines Hosts |
Zielspezifikationen
-iL <file> | Scannt Hosts und IP-Adressen aus einer Textdatei |
-iR <number> | Scannt eine beliebige Anzahl an Hosts |
Host Discovery
-sL | Einfacher List-Scan der alle IP-Adressen mit ihren Hostnamen auflistet. Es lässt sich allerdings nicht von allen IP-Adressen der Hostname ermitteln |
-sP | Der Ping-Scan kombiniert den klassischen Ping (ICMP-Echo) mit dem TCP-SYN-Scan. Somit verspricht der TCP-Ping-Scan mehr Erfolg, bzw. ein besseres Ergebnis als ein klassischer Ping |
-Pn | Alle Hosts werden behandelt als wären sie online. Der Port-Scan wird also bei jeder Adresse durchgeführt |
-n | Deaktivierung der DNS-Auflösung. Die IP-Adressen werden also nicht aufgelöst |
Scan Techniken
-sS | TCP-SYN-Scan - Der TCP-SYN-Scan ist eine der beliebtesten Scan Methoden. Hier ist eine klare und zuverlässige Unterscheidung zwischen den Zuständen: offen, geschlossen und gefiltert gegeben. Das Netzwerk darf allerdings nicht durch eine Firewall behindert werden. |
-sT | TCP-Connect-Scan - Ist der zuvor erläuterte TCP-SYN-Scan nicht möglich, weil zum Beispiel Benutzerrechte zum Versenden der Pakete fehlen, oder weil ein IPv6-Netzwerk untersucht werden soll, verwendet man den TCP-Connect-Scan. Anstatt rohe Pakete zu versenden, wie es bei den meisten anderen Scan-Techniken gehandhabt wird, wird eine Verbindung mit dem Zielrechner und hergestellt, indem der Systemaufruf connect benutzt wird. |
-sO | IP-Protokoll-Scan |
-sF | TCP-FIN-Scan |
-sA | TCP-ACK-Scan - Der TCP-ACK-Scan wird benutzt um Firewall Regeln zu erkennen und festzustellen ob die Regeln zustandsbehaftet sind. Wird ein System gescannt geben offene und geschlossene Ports RST Pakete zurück. Nmap nennt diese Ports dann ungefiltert was bedeutet, dass sie erreichbar für das ACK-Paket sind, allerdings nicht festgestellt werden kann ob sie offen oder geschlossen sind. |
-sU | UDP-Scan - Neben TCP gibt es auch noch verbindungslose UDP (User Datagram Protocol). Mit Hilfe dieses Scans können UDP-Pakete untersucht werden |
-sR | Der RPC-Scan sendet zusätzlich RPC Pakete, sofern Nmap einen RPC Dienst auf einem Port erkannt hat |
-sV | Mit dem Versions-Scan/Servive Scan wird die jeweilige Software hinter den offenen Ports identifiziert, also welche Anwendung hinter welchem Port läuft |
-O | OS-Detection gibt besondere Merkmale und Eigenarten des Betriebssystems an - unter Anderem Betriebssystem und Version und führt zusätzlich einen Port-Scan durch |
-A | Der "Aggressive mode" gibt eine ausführlichere Liste des Scans aus. Führt eine OS-Detection und Service Scan durch |
-D | Decoy (Attrappe) |
Scan Ausgaben
-oN <file> | Speichert die Scan-Ergebnisse in einer Datei ab. |
-oX <file> | Speichert die Scan-Ergebnisse als XML Format |
--reason | Zeigt den Grund an, warum sich ein Port in einem bestimmten Status befindet. |
Portspezifikationen und Reihenfolge
-p <Port Reichweite> | es werden lediglich Ports, die sich in der angegebenen Reichweite befinden gescannt. (-p0- deckt alle Ports ab) |
-F | Der Fast-Mode scannt weniger Ports als der normale Scan und ist somit schneller |
-r | Scannt Ports nacheinander und nicht zufällig |
--top-ports <number> | Untersucht die <number> beliebtesten Ports eines Hosts |
Aircrack-ngBegriffserklärung, Wichtige Befehle, WEP, WPA, WPA2 | keyboard_arrow_right |
Kali Linux - Virtual BoxErstellung der VM Virtual Box und Einbindung des Betriebssystems Kali Linux | keyboard_arrow_right |
Quellennachweise
„Grundlagen von Port-Scans“, https://nmap.org/man/de/man-port-scanning-basics.html
„Port-Scanning-Methoden“, https://nmap.org/man/de/man-port-scanning-techniques.html