Nmap
Network Mapper (nmap)
- ist ein freier Netzwerk-Scanner
Netzwerke scannen
Was ist Network Scanning?
- Netzwerke scannen und analysieren
- angeschlossene und aktiven Systeme erkennen
- Details zu Diensten, Konfigurationen und Versionen bestimmen
- Netzwerk-Inventarisierung
- Dienste-Aktualisierungen prüfen
- Überwachung von Betriebszeiten, Hosts oder Diensten
Syntax
nmap [Scan Type(n)] [Optionen] {Ziel}
Einfacher Portscan
nmap ohne Optionen
- Es geht darum herauszufinden, ob ein Port offen ist, welche Anwendung dahinter läuft und ob dort Sicherheitslücken und Schwachstellen zu vermuten sind.
- Ein einfacher Port-Scanner wird alle Ports pauschal in zwei oder drei Zustände einteilen:
- offen,
- geschlossen,
- gefiltert (offen/geschlossen).
Bedeutung der Ausgabe
- Der Zustand "Offen" bedeutet, dass eine Anwendung oder ein Dienst bereit ist TCP-Verbindungen oder UDP-Pakete auf diesem Port anzunehmen.
- Um Kommunikationsverbindungen betreiben zu können bedarf es offener Ports.
- Anzahl offener Ports begrenzen, um die Angriffsfläche so klein wie möglich zu halten.
- Offene Ports werden zusätzlich geschützt oder Verbindungsmöglichkeiten eingeschränkt.
- Der Zustand "Geschlossen" bedeutet, dass keine Anwendung und kein Dienst an diesem Port auf eingehende Datenpakete und Verbindungsversuche lauscht bzw. hört.
- Auf ihm sind keine Kommunikationsverbindungen möglich.
- Ein geschlossener Port ist nur so lange geschlossen, wie eine Anwendung auf diesen Port hört und Verbindungen und Pakete annimmt.
- Um offene, aber auch geschlossene Ports zu schützen, setzen Systemadministratoren einen Portfilter (Firewall) ein.
- So verhindert man z.B. die Verbindungsversuche durch Port-Scans.
- Ein Port-Scan soll nur den Zustand eines Ports ermitteln, aber keine echte Verbindung aufbauen.
- Weil er die dahinterliegende Anwendung nicht kennt, kann er nur Testpakete an einen Port schicken.
- Der Filter verhindert, dass diese Testpakete durchkommen.
- In der Regel werden diese Pakete verworfen.
- Dann kann für diesen Port weder der Status "offen" oder "geschlossen" gelten.
- Dafür gibt es den Zustand "gefiltert" oder "blockiert".
Ziele festlegen
- NMAP ist bei der Angabe des Scan-Ziels sehr flexibel.
- Das kann ein Domain-Name sein, eine IP-Adresse oder ein ganzes Subnetz.
Domain: www. XXX.XX IP-Adresse: 192.168.1.1 Subnetz: 192.168.1.1/24 Subnetz: 192.168.1.*
- Man sollte einen Port-Scan nicht auf ein ganzes Subnetz anwenden.
- Ein ganzes Subnetz zu scannen, kann sehr lange dauern, wenn die Hosts gefilterte Ports haben.
- Die Anzahl der Ports reicht von 1 bis 65.535.
- NMAP scannt standardmäßig nur etwa 1.000 der meistgenutzten Ports, die in der Datenbank "nmap-services" aufgelistet sind.
- Mit der Option "-F" (für engl. fast, dt. schnell) kann man den Port-Scan sogar auf die 100 meistgenutzten Ports beschränken.
- Interessante Ports scannen mit der Option "-p":
- Für den Port 22 verwendet man die Option "-p22".
- Für die Ports 22, 25 und 80 verwendet man die Option "-p22,25,80".
- Für die Ports von 1 bis 100 verwendet man die Option "-p-100".
- Für die Ports von 80 bis 88 verwendet man die Option "-p80-88".
- Für alle Ports über 60.000 verwendet man die Option "-p60000-".
- Alle Ports von 1 bis 65.535 scannen: Option "-p-".
Einzelne Rechner
Netzwerkbereiche
Dienste identifizieren
Zenmap
- Neben der textbasierten Variante gibt es noch die grafische Benutzeroberfläche NmapFE zur komfortablen Einstellung von Nmap.
- Wurde mittlerweile durch die Zenmap genannte GUI abgelöst.
Ausgabe steuern
Weitere Informationen
Funktionen
Target Enumeration
Ping-Scanning (Host-Discovery)
- Klassischer Ping-Scan (Network-Scan)
nmap -PE -sn -oG - 192.168.0.1/24
Der klassische Ping-Scan mit ICMP—Echo-Requests (-PE), aber ohne Port-Scan (-sn).
- Erweiterter Ping-Scan (Network-Scan)
nmap -sP -oG - 192.168.0.1/24
- Dieser TCP-Ping-Scan ist eigentlich kein Ping-Scan, sondern eher eine sinnvolle Erweiterung zu einem klassischen Ping.
- Der TCP-Ping-Scan kombiniert den klassischen Ping (ICMP-Echo) mit dem TCP-SYN-Scan.
- Damit funktioniert der TCP-Ping-Scan manchmal besser als ein klassischer Ping bzw. ein einfacher ICMP-Echo-Request.
Port-Scanning
Service- und Versionserkennung (Service Identification)
Betriebssystemerkennung (OS Identification)
Scan-Typen
Ping-Scan
1. ICMP-Echo-Ping (klassischer Ping)
nmap -PE 10.10.0.1 für Subnet nmap -PE 10.10.0.1/24 oder nmap -PE 10.10.0.*
2. TCP-Ping-Scan
nmap -sn 10.10.0.1
3. TCP-SYN-Ping
nmap -PS 10.10.0.1
4. TCP-ACK-Ping nmap -PA 10.10.0.1 5. UDP-Ping
nmap -PU 10.10.0.1
6. ICMP-Timestamp-Scan
nmap -PT 10.10.0.1
7. ICMP-Address-Scan
nmap -PM 10.10.0.1
TCP-Full-Connect-Scan
- Connect-Scan verwendet den gleichnamigen Systemaufruf zum Scannen von Rechnern, anstatt sich auf rohe Pakete zu verlassen, wie es die meisten anderen Methoden tun.
- Es wird normalerweise von unprivilegierten Unix-Benutzern und gegen IPv6-Ziele verwendet, da der SYN-Scan in diesen Fällen nicht funktioniert.
nmap -sT 10.10.0.1
TCP-SYN-Scan
- Dies ist bei weitem der populärste Scan-Typ, weil es die schnellste Art ist, Ports des populärsten Protokolls (TCP) zu scannen.
- Er ist stealthier als der Verbindungs-Scan, und er funktioniert gegen alle funktionierenden TCP-Stapel (im Gegensatz zu einigen Spezial-Scans wie dem FIN-Scan).
nmap -sS 10.10.0.1
3. TCP-FIN-Scan
nmap -sF 10.10.0.1
4. TCP-XMAS-Scan
nmap -sX 10.10.0.1
5. TCP-NULL-Scan
nmap -sN 10.10.0.1
UDP-Scan
UDP-Ports bieten viele Sicherheitslücken
nmap -sU 10.10.0.1
TCP-ACK-Scan
- Der ACK-Scan wird häufig zur Abbildung von Firewall-Regelsätzen verwendet.
- Insbesondere hilft er zu verstehen, ob Firewall-Regeln zustandsbehaftet sind oder nicht.
- Der Nachteil ist, dass er nicht zwischen offenen und geschlossenen Ports unterscheiden kann.
nmap -sA 10.10.0.1
TCP-Window-Scan
Der Window-Scan ist wie der ACK-Scan, außer dass er in der Lage ist, offene gegenüber geschlossenen Ports gegen bestimmte Rechner zu erkennen.
nmap -sW 10.10.0.1
TCP-Maimon-Scan
Dieser obskure Firewall-evading-Scan-Typ ähnelt einem FIN-Scan, enthält aber auch das ACK-Flag. Dadurch kann er durch mehr Paketfilter-Firewalls hindurchkommen, mit dem Nachteil, dass er gegen noch weniger Systeme funktioniert als der FIN-Scan.
nmap -sM 10.10.0.1
TCP-Idle-Scan
Der Leerlauf-Scan ist der heimlichste Scan-Typ von allen und kann manchmal vertrauenswürdige IP-Adressenbeziehungen ausnutzen. Leider ist er auch langsam und komplex.
nmap -sI 10.10.0.1
IP-Protokoll-Scan
- Protokoll-Scan bestimmt, welche IP-Protokolle (TCP, ICMP, IGMP usw.) vom Zielcomputer unterstützt werden.
- Technisch gesehen handelt es sich hierbei nicht um einen Port-Scan, da die IP-Protokollnummern und nicht die TCP- oder UDP-Portnummern durchlaufen werden.
- Dennoch verwendet er nach wie vor die Option -p zur Auswahl der gescannten Protokollnummern, meldet seine Ergebnisse mit dem normalen Port-Tabellenformat und verwendet sogar dasselbe zugrunde liegende Scan-Modul wie die echten Port-Scan-Methoden.
- Es ist also nahe genug an einem Port-Scan, dass es hierher gehört.
nmap -sO 10.10.0.1
Ohne angaben werden die 1000 wichtigsten Ports gescannt. -F steht für die 100 wichtigsten Ports -p steht für Port selektiv ( -p25 oder -p25-100 oder -p25,80,100 oder alle Ports über -p6000-) -p- um alle Ports zu scannen.
OS & Service Identication mit NMAP
1. OS-Scan (OS-Detection)
nmap -O 10.10.0.1
2. Service-Scan / Versions-Scan
nmap -sV 10.10.0.1
3. RPC-Scan
nmap -sR 10.10.0.1
4. Kombinierter OS- & Service-Scan
nmap -O -sV 10.10.0.1
Anwendungsbeispiele
1. Klassischer Ping-Scan
nmap -PE -sn -oG – 10.10.0.1/24
2. Erweiterter Ping-Scan
nmap -sP -oG – 10.10.0.1/24
3. SYN-TOP100-Port-Scan
nmap -sS -F 10.10.0.1
4. SYN/Version-All-Port-without-Ping-Scan
nmap -sV -Pn -p0- --reason --stats-every 60s 10.10.0.1
5. Aggressive-All-Host-All-Port-Scan
nmap -sV -Pn -p0- -T4 -A -oG - --reason --stats-every 60s 10.10.0.1/24
6. TCP-ACK-Scan
nmap -sA -F 10.10.0.1
7. TCP-FIN-Scan
nmap -sF -F 10.10.0.1
8. UDP-Port-Scan
nmap -sU -F 10.10.0.1
9. UDP-All-Port-Scan
nmap -sU -p0- --reason --stats-every 60s --max-rtt-timeout 100ms --max-retrie 1 10.10.0.1
10. List-Scan
nmap -sL 10.10.0.1/24