ROOT ON FIRE Security, Monitoring, Networking, Linux

16Nov/090

Nmap 5.0 – Howto Teil 4: Dienst- und Versionserkennung

Die folgenden Beispiele werden mit der aktuellen Nmap Version 5.0 durchgeführt.
Wie man Nmap 5.0 auf einem aktuellen Debian System installiert, habe ich hier erklärt.
Das Nmap Security Scanner Projekt und Insecure.org erlauben ausdrücklich, dass
man den Host scanme.nmap.org mit Nmap zu Testzwecken scannen darf.
Ich habe für die unten gezeigten Beispiele ausschließlich scanme.nmap.org und meine eigenen Rechner benutzt!

Um die Angreifbarkeit eines Host zu bestimmen reicht es nicht aus zu wissen welche Ports offen oder gefiltert sind. Viel wichtiger ist welche Dienste in welcher Version auf den offenen Ports lauschen. Man kann sich nicht darauf verlassen, dass die Service und Programme immer die Standardports benutzen. Eine exakte Versionserkennung ist die beste Voraussetzung für eine Bestimmung der möglichen Exploits, für die ein Zielhost anfällig sein kann. Nmap versucht mit Testpaketen die Dienstprotokolle, Anwendungsnamen, Versionsnummern, Hostnamen, Gerätetypen und Betriebssysteme zu identifizieren.

-sV (Versionserkennung)
Nmap führt nach einem Port-Scan noch eine Versionserkennung durch.

r-o-f:~# nmap -PN -sV scanme.nmap.org

Starting Nmap 5.00 ( http://nmap.org ) at 2009-11-15 20:39 CET
Interesting ports on scanme.nmap.org (64.13.134.52):
Not shown: 994 filtered ports
PORT      STATE  SERVICE VERSION
25/tcp    closed smtp
53/tcp    open   domain
70/tcp    closed gopher
80/tcp    open   http    Apache httpd 2.2.3 ((CentOS))
113/tcp   closed auth
31337/tcp closed Elite

Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 30.57 seconds

--allports (alle Ports, ohne Ausnahmen)

Manche Netzwerk-Drucker drucken alles aus, was an TCP-Port 9100 ankommt. Deshalb schließt Nmap diesen Port bei der Versionerkennung standardmäßig aus. Mit --allports wird auch der TCP-Port 9100 genauer untersucht.

--version-intensity 0 - 9 (Intensität manuell definieren)

Nmap klassifiziert alle Testpakete zur Versionserkennung mit einem Seltenheitswert zwischen 0 und 9. Je höher die Zahl ist, desto wahrscheinlicher ist eine genaue Identifizierung und Versionserkunng des Dienstes.
Standardmäßig verwendet Nmap eine Intensität von 7. Ein Scan mit hoher Intensitätsstufe braucht deutlich mehr Zeit.
Bei den Standardports benutzt Nmap, falls vorhanden unabhängig vom Intensitätwert die entsprechenden Testpakete z.B. Port 55 offen -> DNS-Testpaket, Port 80 offen -> HTTP-Testpaket...

Beispiel mit Scan Intensität 0 -> Zeit: 39.88 Sekunden

r-o-f:~# nmap -PN -sV --version-intensity 0  scanme.nmap.org

Starting Nmap 5.00 ( http://nmap.org ) at 2009-11-15 22:50 CET
Interesting ports on scanme.nmap.org (64.13.134.52):
Not shown: 994 filtered ports
PORT      STATE  SERVICE VERSION
25/tcp    closed smtp
53/tcp    open   domain
70/tcp    closed gopher
80/tcp    open   http    Apache httpd 2.2.3 ((CentOS))
113/tcp   closed auth
31337/tcp closed Elite

Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 39.88 seconds

Beispiel mit Scan Intensität 9 -> Zeit: 314.49 Sekunden

r-o-f:~# nmap -PN -sV --version-intensity 9  scanme.nmap.org

Starting Nmap 5.00 ( http://nmap.org ) at 2009-11-15 22:51 CET
Interesting ports on scanme.nmap.org (64.13.134.52):
Not shown: 994 filtered ports
PORT      STATE  SERVICE VERSION
25/tcp    closed smtp
53/tcp    open   domain?
70/tcp    closed gopher
80/tcp    open   http    Apache httpd 2.2.3 ((CentOS))
113/tcp   closed auth
31337/tcp closed Elite
1 service unrecognized despite returning data. If you know the service/version, please submit the following fingerprint at http://www.insecure.org/cgi-bin/servicefp-submit.cgi :
SF-Port53-TCP:V=5.00%I=9%D=11/15%Time=4B00781D%P=i686-pc-linux-gnu%r(DNSVe
SF:rsionBindReq,59,"\0W\0\x06\x85\0\0\x01\0\x01\0\x01\0\0\x07version\x04bi
SF:nd\0\0\x10\0\x03\xc0\x0c\0\x10\0\x03\0\0\0\0\0\x1f\x1e9\.3\.6-P1-RedHat
SF:-9\.3\.6-4\.P1\.el5\xc0\x0c\0\x02\0\x03\0\0\0\0\0\x02\xc0\x0c");

Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 314.49 seconds

--version-light (Itensität 2)

Nmap benutzt zur Versioneserkennung Intensität 2. Bedeutet weniger Zeit aber auch geringerer Wahrscheinlichkeit einer Erkennung. Alias für: --version-intensity 2

--version-all (Itensität 9)
Nmap verwendet alle verfügbaren Pakete zur Versionserkennung, eine korrekte Versions- und Diensterkennung ist hier deutlich warscheinlicher aber dieser Scan benötigt auch mehr Zeit als z.B. --version-light.
Alias für --version-intensity 9

--version-trace (Versionserkennung Debugging Informationen)
Nmap gibt sehr umfangreiche Debbunging Informationen über den aktuellen Versions / Portscan aus.

r-o-f:~# nmap -PN -sV --version-trace -p 80 scanme.nmap.org

Starting Nmap 5.00 ( http://nmap.org ) at 2009-11-15 22:43 CET
--------------- Timing report ---------------
  hostgroups: min 1, max 100000
  rtt-timeouts: init 1000, min 100, max 10000
  max-scan-delay: TCP 1000, UDP 1000, SCTP 1000
  parallelism: min 0, max 0
  max-retries: 10, host-timeout: 0
  min-rate: 0, max-rate: 0
---------------------------------------------
NSE: Loaded 3 scripts for scanning.
mass_rdns: Using DNS server 192.168.178.2
mass_rdns: 0.18s 0/1 [#: 1, OK: 0, NX: 0, DR: 0, SF: 0, TR: 1]
DNS resolution of 1 IPs took 0.18s. Mode: Async [#: 1, OK: 1, NX: 0, DR: 0, SF: 0, TR: 1, CN: 0]
Packet capture filter (device eth0): dst host 192.168.178.5 and (icmp or ((tcp or udp or sctp) and (src host 64.13.134.52)))
Overall sending rates: 4.85 packets / s, 213.59 bytes / s.
NSOCK (0.9590s) TCP connection requested to 64.13.134.52:80 (IOD #1) EID 8
NSOCK (0.9600s) nsock_loop() started (no timeout). 1 events pending
NSOCK (1.1510s) Callback: CONNECT SUCCESS for EID 8 [64.13.134.52:80]
Service scan sending probe NULL to 64.13.134.52:80 (tcp)
NSOCK (1.1510s) Read request from IOD #1 [64.13.134.52:80] (timeout: 6000ms) EID 18
NSOCK (7.1540s) Callback: READ TIMEOUT for EID 18 [64.13.134.52:80]
Service scan sending probe GetRequest to 64.13.134.52:80 (tcp)
NSOCK (7.1540s) Write request for 18 bytes to IOD #1 EID 27 [64.13.134.52:80]: GET / HTTP/1.0....
NSOCK (7.1540s) Read request from IOD #1 [64.13.134.52:80] (timeout: 5000ms) EID 34
NSOCK (7.1560s) Callback: WRITE SUCCESS for EID 27 [64.13.134.52:80]
NSOCK (7.3530s) Callback: READ SUCCESS for EID 34 [64.13.134.52:80] (928 bytes)
Service scan match (Probe GetRequest matched with GetRequest): scanme.nmap.org (64.13.134.52):80 is http.  Version: |Apache httpd|2.2.3|(CentOS)|
Starting RPC scan against scanme.nmap.org (64.13.134.52)
NSE: Script scanning 64.13.134.52.
NSE: Script Scanning completed.
Scanned at 2009-11-15 22:43:53 CET for 7s
Interesting ports on scanme.nmap.org (64.13.134.52):
PORT   STATE SERVICE VERSION
80/tcp open  http    Apache httpd 2.2.3 ((CentOS))
Final times for host: srtt: 203269 rttvar: 203269  to: 1016345

Read from /usr/local/share/nmap: nmap-rpc nmap-service-probes nmap-services.
Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 7.36 seconds

Quelle: nmap.org
Weitere Informationen: http://nmap.org/book/vscan.html

Nmap 5.0 - Howto Teil 1: Ziele richtig definieren

Nmap 5.0 - Howto Teil 2: Host-Erkennung
Nmap 5.0 - Howto Teil 3: Port-Scans

Nmap Grundlagen: Port-Zustände
Nmap Grundlagen: Nmap 5.0 Installation

About Moritz TANZER

Sysadmin
Get Adobe Flash playerPlugin by wpburn.com wordpress themes