Wie bediene ich Nmap 3.xx Teil 2
Einleitung
Ich möche mich am Anfang für das große Interesse an dem ersten Teil (Jan 2003) dieser Anleitung
bedanken. Ich bin auch darüber froh das ich meine Zeitvorhersage (Juni 2003) einhalten konnte! Da Nmap aber auf der Windows-Seite noch nicht ausgereift ist, habe ich hierfür die Windows-Alternative Superscan genommen. Das Windows Nmap kommt möglicherweiße im Teil 3 dieser Anleitung, unter der Vorraussetzung das die Kompatibilität besser wird. Einen großen Teil der Testphase hat der Parameter –T (Geschwindigkeit) verschlungen. Doch der Anfang wird diesmal viel praxisnaher und auch für Anfänger interessant sein. Ich wünsche euch viel Spass und hoffe das ich euch mit dem folgenden Text einiges näher bringen kann.
Mehr als eine IP
Oft macht es Sinn mehr als eine IP zu scannen. Aber jede IP einzeln scannnen ist sehr aufwändig. Nmap hat mächtige Funktionen um das Ziel besser angeben zu können.
nmap 192.168.1.1 scannt nur die einzeilne IP-Adresse. - Folgende gebräuchlichen Alternativen bestehen:
nmap 192.168.1.1,2,3,4,5,6,7,8,9,10 würde alle IPs von 1.1 bis 1.10 beinhalten. - Einfacher geht das aber so: nmap 192.168.1.1-10
Sollen gleich alle 254 Adressen drankommen, könnte man auch nmap 192.168.1.* wählen. Das * (Wildcard, auch
Asterix genannt) steht für alle Möglichkeiten von 0-255, wobei 0 und 255 meist uninteressant sind, da es sich dabei einmal um die NetzID und die Broadcastadresse in einem Class C Netz handelt.
Soll ein ganzes Subnetz gescannt werden, kommt der Parameter /MASK zum Einsatz:
nmap 192.168.1.1/16 kommt einem nmap 192.168.*.* gleich. Aber auch nmap *.*.1-3,5.1 wäre denkbar.
Die meisten Kombinationen lassen sich verbinden. Hier ein paar Beispiele zur Angabe von Ip-Adressen und Bereichen als Kurzform:
- 192.168.1.1
- 192.168.1,3,6,7,124.1
- 192.*.1.1
- 192.168.*.1-200,255
- *.*.1-10.1,2,3,4,5,6,7,8,9,10
- 192.168.1.1/16
Parameter -T (Geschwindigkeit)
Der Parameter -T gibt die Geschwindigkeit von Nmap an. Es gibt 6 Werte:
- Paranoid (langsamer/sicherer)
- Sneaky
- Polite
- Normal
- Aggressive
- Insane(schneller/unsicherer/Ungenauer)
Da es auf Dauer schlecht ist, Wörter einzugeben, können statt dessen auch Zahlen angegeben werden: Paranoid (1) bis Insane (5).
"Skipping host localhost (127.0.0.1) due to host timeout"
Bedeutet nicht mehr und auch nicht weniger, als das der HOST für die Geschwindigkeit zu langsam ist. Dies kommt oft bei Insane und größeren Scans vor! Die Drosselung der Geschwindigkeit führt in den meisten Fällen dennoch zu einem erfolgreichen Abschluss. Die Geschwindigkeit der einzelnen Optionen wird in folgender Tabelle verdeutlicht:
| Option |
Geschwindigkeit |
| Paranoid (-T 1) |
300 - 400 Sekunden pro Port |
| Sneaky (-T 2) |
15 Sekunden pro Port |
| Polite (-T 3) |
35 Ports werden in 15 Sekunden gescannt |
| Normal |
|
| Aggressive (-T 4) |
eine komplette IP mit 65.000 Ports in 100 Sekunden |
| Insane (-T 5) |
10-15 Sekunden für 10.000 Ports |
Nun taucht sicher die Frage auf, wofür diese Optionen überhaupt benötigt werden. Paranoid und Sneaky werden benutzt, um nicht bemerkt zu werden. Eine heutige gute Intrusion Detection System (IDS) (z.B. Snort, BlackIceDefender) oder ein Portlogger (z.B. scanlogD, tcplogD, portsentry) bekommen Standardscans von Nmap relativ schnell mit. Die Folge davon könnte eine IP-Sperre per Firewall sein. Polite kommt dann zum Einsatz, wenn Du das Netzwerk schonen möchtest. Insane wird gerne bei größeren Suchläufen verwendet wo keine Zuverlässigkeit verlangt wird. Paranoid, Sneaky und Polite scannen die Ports und IPS hintereinander - Normal, Aggressive und Insane dagegen untersuchen eine Viezahl von Ports oder IP Adressen zur gleichen Zeit.
Achtung: Die Werte können Aufgrund einer Netzauslastung schwanken! Eine hohe Auslastung bedeutet auch gleichzeitig eine längere Wartezeit, wenn nicht sogar Timeouts. Die Tests sind unter Idealbedienungen (Loopback) gemacht worden:
###TTY###
linux:~ # nmap 127.0.0.1 -T Paranoid -p 22
Starting nmap V. 3.00 ( www.insecure.org/nmap/ )
Interesting ports on localhost (127.0.0.1):
Port State Service
22/tcp open ssh
Nmap run completed -- 1 IP address (1 host up) scanned
in 300 seconds
###TTY###
###TTY###
linux:~ # nmap 127.0.0.1 -T Sneaky -p 22
Starting nmap V. 3.00 ( www.insecure.org/nmap/ )
Interesting ports on localhost (127.0.0.1):
Port State Service
22/tcp open ssh
Nmap run completed -- 1 IP address (1 host up) scanned
in 15 seconds
###TTY###
###TTY###
linux:~ # nmap 127.0.0.1 -T Sneaky -p 1-21
Starting nmap V. 3.00 ( www.insecure.org/nmap/ )
Interesting ports on localhost (127.0.0.1):
(The 20 ports scanned but not shown below are in
state: closed)
Port State Service
22/tcp open ssh
Nmap run completed -- 1 IP address (1 host up) scanned
in 303 seconds
###TTY###
###TTY###
linux:~ # nmap 127.0.0.1 -T Polite -p 1-37
Starting nmap V. 3.00 ( www.insecure.org/nmap/ )
Interesting ports on localhost (127.0.0.1):
(The 35 ports scanned but not shown below are in
state: closed)
Port State Service
22/tcp open ssh
25/tcp open smtp
Nmap run completed -- 1 IP address (1 host up) scanned
in 15 seconds
###TTY###
###TTY###
linux:~ # nmap 127.0.0.1 -T Aggressive –p 1-65535
Starting nmap V. 3.00 ( www.insecure.org/nmap/ )
Interesting ports on localhost (127.0.0.1):
(The 65530 ports scanned but not shown below are in
state: closed)
Port State Service
22/tcp open ssh
25/tcp open smtp
111/tcp open sunrpc
6000/tcp open X11
10000/tcp open snet-sensor-mgmt
Nmap run completed -- 1 IP address (1 host up) scanned
in 96 seconds
###TTY###
###TTY###
linux:~ # nmap 127.0.0.1-4 -T Aggressive -p 1-65535
Starting nmap V. 3.00 ( www.insecure.org/nmap/ )
Interesting ports on localhost (127.0.0.1):
(The 65530 ports scanned but not shown below are in
state: closed)
Port State Service
22/tcp open ssh
25/tcp open smtp
111/tcp open sunrpc
6000/tcp open X11
10000/tcp open snet-sensor-mgmt
Interesting ports on (127.0.0.2):
(The 65531 ports scanned but not shown below are in
state: closed)
Port State Service
22/tcp open ssh
111/tcp open sunrpc
6000/tcp open X11
10000/tcp open snet-sensor-mgmt
Interesting ports on (127.0.0.3):
(The 65531 ports scanned but not shown below are in
state: closed)
Port State Service
22/tcp open ssh
111/tcp open sunrpc
6000/tcp open X11
10000/tcp open snet-sensor-mgmt
Interesting ports on (127.0.0.4):
(The 65531 ports scanned but not shown below are in
state: closed)
Port State Service
22/tcp open ssh
111/tcp open sunrpc
6000/tcp open X11
10000/tcp open snet-sensor-mgmt
Nmap run completed -- 4 IP addresses (4 hosts up)
scanned in 382 seconds
###TTY###
###TTY###
linux:~ # nmap 127.0.0.1 -T 5 -p 1-10005
Starting nmap V. 3.00 ( www.insecure.org/nmap/ )
Interesting ports on localhost (127.0.0.1):
(The 10000 ports scanned but not shown below are in
state: closed)
Port State Service
22/tcp open ssh
25/tcp open smtp
111/tcp open sunrpc
6000/tcp open X11
10000/tcp open snet-sensor-mgmt
Nmap run completed -- 1 IP address (1 host up) scanned
in 12 seconds
###TTY###
Parameter –F (only /etc/services)
Dieser Parameter ermöglicht einen schneller Scan, da nur die eingetragenen Services aus /etc/services gescannt werden.
Timeouts
--max_parallelism
Mit Hilfe dieses Parameters lässt sich die maximal Anzahl von gleichzeitigen (parallelen) Scans definieren. Der Wert 1 würde bedeuten, dass nur ein Port zur gleichen Zeit gescannt wird - die Untersucheung erfolgt also der Reihe nach.
--min_parallelism
Fetslegen der minimalen Anzahl von gleichzeitigen (parallelen) Scans. Achtung: Eine zu hohe Zahl kann die Zuverlässigkeit stark einschränken.
--host_timeout
Mit dieser Option lässt sich der Zeitrahmen, bis die nächste IP gescannt und der Scan der aktuellen IP abgebrochen wird, einstellen.
--scan_delay
Minimale Wartezeit zwischen 2 Scans. Damit können IDS-Systeme gut durcheinander gebracht werden.
Log-Dateien
-oN
Loggt in einem für das menschliche Auge angenehmen Still in die angegebene Datei.
-oX
Erstellt eine Log-Datei im XML-Format.
-oG
Es wird grep-fähig geloggt. Die Informationen sind sehr sparsam, können dafür aber einfach per cat | grep ausgelesen werden. Somit kann man sehr schnell nach Ports/IPs/Protokollen/OS usw. aussortieren.
-oA
Loggt alle wichtigen Formate (normal, grepbar und XML). Nmap hängt den jeweiligen Kürzel für die Logart selbstständig an
-oS
Loggt in einer für Scriptkiddies lesbaren Form. Bei Interesse einfach mal ausprobieren. Über die Effizient lässt sich streiten, aber sicherlich wird auch das eine oder andere Scriptkiddie dies lesen?
--resume
Geloggte Scans die mit STRG-C abgebrochen wurden, können hiermit fortgesetzt werden
--append_output
Ergebnisse werden an die Datei angehängt und nicht überschrieben
Experten-Parameter
-S IP (IP-Spoofing)
Sinn und Zweck wäre, Nmap kann die eigene QuellIP nicht Auflösen. Aber Mark Ruef hat eine interessante Theorie aufgestellt:
„Eine andere Moeglichkeit dieser Option ist die Quelle des Scans zu spoofen, so dass das Zielsystem glaubt, dass jemand anderes die Zugriffe durch fuehrt. Stellen Sie sich vor, dass eine Firma ploetzlich von ihrem Konkurrenten einen Scan verzeichnet! Dies ist nicht der Hauptnutzen dieser Option. Ich denke lediglich, dass diese Theorie einen guten Grund bereitstellt, nicht sofort jeden als Scanner zu beschimpfen, nur weil es scheint, dass von ihm ein Scan gestartet wurde.“
-iR Zufälliger Scan
Dieser Parameter gibt Nmap den Befehl zufällig im Internet IPs zu suchen/scannen. Über Sinn und Nutzen lässt sich streiten.
-sO Protokollscan
Mit der Option -sO können die auf dem Zielhost verfügbaren IP-Protokoll herrausgefunden werden. Sollten alle 256 Protokolle geöffnet sein (open), dann ist höchstwahrscheinlich die Firewall des Zielsystemes daran schuld, da die FW darauf verzichtet auf die raw IP-Packete ICMP protocl unreachable Nachrichten zu senden.
-sA ACK-Scan
Dieser Parameter dient der Identifizierung einer Firewall. Es werden hier keine geöffneten Ports angezeit! Dagegen die von der Firewall gefilterten Ports. Dazu werden ACK-Pakete mit zufälliger Sequenznummer an den Zielport geschickt. Sollten keine Ports angezeigt werden, so ist die wahrscheinlichkeit hoch, das die Firewall keine Ports blockiert.
-sW Windows-Scan
Diese Option ähnelt sehr dem ACK-Scan. Der Unterschied besteht darin, daß hierbei geöffnete, gefilterte oder nicht gefilterte Ports entdeckt werden, die nicht durch einen ACK-Scan gefunden werden. Hieraus wurde ich selber noch nicht ganz schlau :(
-sR v
Bei diesem Scan werden viele Scantypen von Nmap zusammengefasst. Ziel ist es gefundene RPC-Ports nach Version und Programmnamen auszulesen. Zusätzlich kann rpcinfo -p zur Hilfe gezogen werden.
-sL ListScan
Generiert eine Liste aller IPs/Hostnamen, ohne sie zu pingen oder zu scannen. DNS kann mit -n unterdrückt werden. Zum testen kann nmap 127.0.0.1/16 -sL -n verwendet werden.
-PT TCP-PingScan
Es wird standardmässig auf Port 80(http) ein TCP-Ping geschickt. Nützlich, falls ICMP teils oder ganz gesperrt wurde. Ziel ist dabei die feststellung, ob der Host erreichbar ist. Danach folgt der Obligatorische Standardscan
--randomize_host
Nmap scannt in einer Gruppe von max. 2048 Zielen zufällig. Besonders in Hinblick auf ausgereifte Sicherheitssysteme sehr sinnvoll um nicht erkannt zu werden.
-r
Sagt Nmap das Gegenteil von „--randomize_host“, das keine Zufällige Wahl getroffen werden darf. Das beide Parameter inkompatibel zueinander sind, ist selbstverständlich.
-R
Der DNS-Name wird immer aufgelöst - wird auch bei TOTEN Hosts ausgeführt
-iL
Die Ziel-IP-Adressen werden aus der angegebenen Liste ausgelesen, danach werden die IPs der Kommandozeile ausgewertet
-f
SYN-, FIN-, Xmas- oder Null-Scan werden Fragmentiert. Viele IDS können dies nicht filtern. Vorsicht! Viele Netzwerkanwendungen kommen hiermit nicht klar. Ich habe es erfolgreich auf einem SuSE und Trustix-System getestet. Laut Marc Ruef soll es auch mit anderen Linuxen sowie Free/OpenBSD laufen.
-6
IPv6 Unterstützung. Für mehr Infos gehen sie bitte auf http://nmap6.sourceforge.net/
Abschluss
Ich möchte zum Schluß noch darauf hinweißen das auch diverse Optionen verbunden werden können. So ist auch ein nmap 195.1.*.1-20 –p 25 -P0 möglich Meine Vorgegebene Reihenfolge muss nicht eingehalten werden. Auch nmap -P0 –p 25,31-40 195.1.*.1-20 wäre ein gültiger Syntax.
Vorraussichtlich kommt bis Okt. 2003 der 3 und letzte Teil der Nmap-Serie.
Lob, Verbesserungen wie auch Kritik kann an "poiin2000 at yahoo.de" gesendet werden. Aufgrund eines hohen Mail-Verkehrs meinerseits kann eine Antwort 1-4 Wochen dauern. Jede Sinnvolle Mail wird von mir beantwortet.
|