Um einen Dienst auf einen IP-Host eindeutig zu identifizieren werden drei Angaben benötigt:
- die IP-Adresse (z.B. 10.20.52.200)
- das Protokoll (z.B. TCP)
- die Portnummer (z.B. 80 für HTTP)
TCP connect-Scan -sT
Mit der Option -sT für Nmap einen connect-Scan aus. Der Scanner verhält sich dabei wie ein normaler Client und verbindet sich (connect) mit dem Zielsystem. Ist der Port auf dem Zielhost im Status LISTENING, wird ein Three-way Handshake ausgeführt. Eine solche Verbindung kann vom Zielhost leicht protokolliert werden und auch jedes IDS sollte einen connect-Scan erkennen.
tux@earth:~$ nmap -sT 10.20.52.200 -p80
Starting Nmap 5.00 ( http://nmap.org ) at 2010-07-01 10:43 CEST
Interesting ports on 10.20.52.200:
PORT STATE SERVICE
80/tcp open http
Nmap done: 1 IP address (1 host up) scanned in 0.06 seconds
TCP SYN-Scan -sS
Die Option -sS veranlasst Nmap einen SYN-Scan auszuführen. Auch dabei beginnt der Scanner mit einem SYN-Segment. Es wird jedoch keine vollständige TCP-Session aufgebaut. Ist der Port auf dem Zielhost im LISTENING und antwortet mit einem SYN/ACK, sendet Nmap sofort ein RST-Segment (RESET). Dadurch wird die halboffene (half-open) Verbindung wieder abgebaut. Mit der SYN-Scan Technik kann unter Umständen eine Erkennung des Portscans durch das Target vermieden werden.
tux@earth:~$ sudo nmap -sS 10.20.52.200 -p80
Starting Nmap 5.00 ( http://nmap.org ) at 2010-07-01 10:44 CEST
Interesting ports on 10.20.52.200:
PORT STATE SERVICE
80/tcp open http
MAC Address: 00:0C:29:07:85:FA (VMware)
Nmap done: 1 IP address (1 host up) scanned in 0.35 seconds
Stealth Scans
Mit den Optionen -sF wird ein FIN-Scan ausgeführt. Nmap sendet dazu FIN-Segmente an das Target. Diese werden eigentlich zum Beenden einer TCP-Sitzung genutzt. Das Zielsystem sollte an geschlossenen Ports mit einem RST reagieren und auf listening (abhören) Ports das FIN-Segment einfach verwerfen.
Beim Xmas-Tree-Scan (Option -sX) sind in einem Segment das FIN, URG und PSH-Flag gesetzt. Je nach Implementierung reagieren die Zielsysteme recht verschieden auf ein solches Segment.
Der Null-Scan wird über die Option -sN aktiviert. Nmap sendet Segmente ohne gesetzte Flags an das Target.
Wie bei allen Scan-Techniken können die Resultate durch Firewalls und Filter zwischen Nmap und Target beeinflusst werden. Auf jeden Fall sollte der Admin das Verhalten seiner eigenen Systeme bei diesen Portscans kennen.
tux@earth:~$ sudo nmap -sF 10.20.52.200 -p80
Starting Nmap 5.00 ( http://nmap.org ) at 2010-07-01 10:45 CEST
Interesting ports on 10.20.52.200:
PORT STATE SERVICE
80/tcp open|filtered http
MAC Address: 00:0C:29:07:85:FA (VMware)
Nmap done: 1 IP address (1 host up) scanned in 0.53 seconds
tux@earth:~$ sudo nmap -sX 10.20.52.200 -p80
Starting Nmap 5.00 ( http://nmap.org ) at 2010-07-01 10:45 CEST
Interesting ports on 10.20.52.200:
PORT STATE SERVICE
80/tcp open|filtered http
MAC Address: 00:0C:29:07:85:FA (VMware)
Nmap done: 1 IP address (1 host up) scanned in 0.50 seconds
tux@earth:~$ sudo nmap -sN 10.20.52.200 -p80
Starting Nmap 5.00 ( http://nmap.org ) at 2010-07-01 10:45 CEST
Interesting ports on 10.20.52.200:
PORT STATE SERVICE
80/tcp open|filtered http
MAC Address: 00:0C:29:07:85:FA (VMware)
Nmap done: 1 IP address (1 host up) scanned in 0.53 seconds
Kein Ping -P0
Mit der Option -P0 wird ein ICMP-Ping vor dem eigentlichen Scan unterdrückt. Das kann notwendig sein, wenn eine Firewall oder das Target ICMP filtert.
tux@earth:~$ sudo nmap -sS -P0 10.20.52.200 -p80
Starting Nmap 5.00 ( http://nmap.org ) at 2010-07-01 10:39 CEST
Interesting ports on 10.20.52.200:
PORT STATE SERVICE
80/tcp open http
MAC Address: 00:0C:29:07:85:FA (VMware)
Nmap done: 1 IP address (1 host up) scanned in 0.26 seconds
Fingerprint -O
Jede Implementierung von TCP/IP hat ihre Eigenheiten. Mit der Option -O versucht Nmap diese Eigenheiten zu erkennen und das Betriebssystem des Targets zu identifizieren.
tux@earth:~$ sudo nmap -sS -O 10.20.52.200 -p80
Starting Nmap 5.00 ( http://nmap.org ) at 2010-07-01 10:40 CEST
Interesting ports on 10.20.52.200:
PORT STATE SERVICE
80/tcp open http
MAC Address: 00:0C:29:07:85:FA (VMware)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running: Linux 2.6.X
OS details: Linux 2.6.13 - 2.6.27
Network Distance: 1 hop
OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 1.92 seconds
Hier ein Beispiel um nur das Betriebssystem zu ermitteln.
tux@earth:~$ sudo nmap -sS -O dc002.assona.net -p80 | grep -i 'OS details' | grep -v grep | cut -d: -f2 | sed 's/^ //g'
Microsoft Windows Server 2003 SP1 or SP2