permalink

1

Nmap 5.0 – Howto Teil 5: Betriebssystem-Erkennung

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!

Nmap führt verschiendener TCP- und UDP-Tests durch um das Betriebssystem des Zielhost zu definieren z.B.
TCP-ISN-Abtastung, IP-ID-Abtastung, initiale Fenstergröße … Den erstellten OS-Fingerprint vergleicht Nmap mit der nmap-os-db Datenbank (siehe Beispiel unten). Wenn keine 100% Übereinstimmung gefunden wird, gibt Nmap theoretisch mögliche Betriebssysteme aus. Dazu muss jedoch eine sehr hohe Ähnlichkeit zum tatsächlichen Fingerprint vorliegen. Bei einem OS-Scan versucht Nmap eine Beschreibung und Klassifikation des Betriebssystems, Herstellername, Name und Version des Betriebssystems und der allgemeine Gerätetyp auszugeben.
Zusätzlich versucht Nmap anhand der TCP-Timestamp-Option die Betriebszeit des Zielhosts zu ermitteln.

-O (OS Detection)

Aktiviert die Betriebssystem-Erkennung, kann mit jedem belibigen Port- und Host-Scan kombiniert werden.

r-o-f:~# nmap -O scanme.nmap.org

Starting Nmap 5.00 ( http://nmap.org ) at 2009-11-20 21:59 CET
Interesting ports on scanme.nmap.org (64.13.134.52):
Not shown: 994 filtered ports
PORT      STATE  SERVICE
25/tcp    closed smtp
53/tcp    open   domain
70/tcp    closed gopher
80/tcp    open   http
113/tcp   closed auth
31337/tcp closed Elite
Device type: general purpose
Running: Linux 2.6.X
OS details: Linux 2.6.15 - 2.6.26

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

–osscan-limit (OS-Detection nur bei offenen Ports)

Wenn dier Parameter gesetzt ist, versucht Nmap nur bei Hosts, die mindesten einen offenen Port haben eine Betriebssystem-Erkennung durchzuführen. Dies spart gerade bei Scans mit vielen Zielhosts enorm viel Zeit.

–osscan-guess; –fuzzy (OS-Detection mit geringer Fingerprint Übereinstimmung)

Standardmäßig gibt Nmap bei einem OS-Scan nur eine exakte Datenbank Übereinstimmung bzw. eine Erkennung die dem Fingerprint sehr nahe kommt aus. Mit diesem Parameter schätzt Nmap auch Betriebssysteme und gibt eine prozentuale Wahrscheinlichkeit und den erstellten Fingerprint mit aus.

Test mit einem VOIP-Telefon:
Wenn der Parameter –fuzzy nicht definiert ist, kommt folgende Meldung:

...
No exact OS matches for host (If you know what OS is running on it, see http://nmap.org/submit/ ).
...

Mit der Option: –fuzzy

...
Running (JUST GUESSING) : PORTech embedded (98%), Planet MicroC/OS-II (97%), Polycom embedded (96%), Interbell embedded (90%), Sling embedded (90%)
Aggressive OS guesses: PORTech MV-374 GSM-SIP VoIP gateway (98%), Planet VIP-154T VoIP phone (MicroC/OS-II) (97%), Polycom SoundPoint IP 301 VoIP phone (96%), Interbell IB-305 VoIP phone (90%), PORTech GSM VoIP gateway (90%), Slingmedia Slingbox AV TV over IP gateway (90%)
No exact OS matches for host (If you know what OS is running on it, see http://nmap.org/submit/ ).
TCP/IP fingerprint:
OS:SCAN(V=5.00%D=11/20%OT=23%CT=1%CU=38087%PV=Y%DS=1%G=Y%M=00094F%TM=4B0707
OS:2F%P=i686-pc-linux-gnu)SEQ(CI=RD%II=RI%TS=U)OPS(O1=WANM5B4T10S%O2=M578W0
OS:ST10L%O3=M280%O4=ST10WAL%O5=M218ST10WAL%O6=M109)OPS(O1=M5B4%O2=M578W0ST1
OS:0L%O3=M280%O4=ST10WAL%O5=M218ST10WAL%O6=M109)OPS(O1=M5B4%O2=M578W0ST10L%
OS:O3=T10NNW5NM280%O4=M5B4%O5=M218ST10WAL%O6=M109)WIN(W1=0%W2=0%W3=3180%W4=
OS:0%W5=0%W6=3180)WIN(W1=3180%W2=0%W3=3180%W4=0%W5=0%W6=3180)WIN(W1=3180%W2
OS:=0%W3=0%W4=3180%W5=0%W6=3180)ECN(R=Y%DF=N%T=40%W=0%O=WANM5B4SNN%CC=N%Q=R
OS:)T1(R=Y%DF=N%T=40%S=Z%A=S+%F=AR%RD=0%Q=)T1(R=Y%DF=N%T=40%S=O%A=S+%F=AS%R
OS:D=0%Q=)T2(R=Y%DF=Y%T=40%W=0%S=Z%A=S%F=AR%O=WANM109T10S%RD=0%Q=)T3(R=Y%DF
OS:=N%T=40%W=0%S=Z%A=O%F=AR%O=WANM109T10S%RD=0%Q=)T4(R=Y%DF=Y%T=40%W=0%S=A%
OS:A=Z%F=R%O=WANM109T10S%RD=0%Q=)T5(R=Y%DF=N%T=40%W=0%S=Z%A=S+%F=AR%O=WANM1
OS:09T10S%RD=0%Q=)T6(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=WANM109T10S%RD=0%Q=)T7
OS:(R=Y%DF=N%T=40%W=0%S=Z%A=S+%F=AR%O=WFNM109T10S%RD=0%Q=)U1(R=Y%DF=N%T=FF%
OS:IPL=38%UN=0%RIPL=G%RID=G%RIPCK=G%RUCK=G%RUD=G)IE(R=Y%DFI=S%T=FF%CD=S)
...

–max-os-tries (maximale Anzahl der Versuche)

Standardmäßig unternimmt Nmap bei guten Bedingungen (mind. ein offener Port) fünf Versuche das Betriebssystem zu erkennen. Bei schlechten Bedingungen nur zwei. Mit dieser Option kann man die Anzahl ändern. Diese Option benötigt man eigentlich nur, wenn man Finerprints für die Nmap Datenbank erstellen will.

Beispiel Fingerprint aus der /usr/local/share/nmap/nmap-os-db Datenbank ür eine Playstation 3:

# Sony PlayStation 3
Fingerprint Sony PlayStation 3 game console
Class Sony | embedded || game console
SEQ(SP=F7-101%GCD=1-6%ISR=FC-106%TI=RD%TS=21)
OPS(O1=M5B4NNSNW1NNT11%O2=M5B4NNSNW1NNT11%O3=M5B4NW1NNT11%O4=M5B4NNSNW1NNT11%O5=M5B4NNSNW1NNT11%O6=M5B4NNSNNT11)
WIN(W1=FFFF%W2=FFFF%W3=FFFF%W4=FFFF%W5=FFFF%W6=FFFF)
ECN(R=Y%DF=N%T=3C-46%TG=40%W=FFFF%O=M5B4NNSNW1%CC=N%Q=)
T1(R=Y%DF=N%T=3C-46%TG=40%S=O%A=S+%F=AS%RD=0%Q=)
T2(R=Y%DF=N%T=3C-46%TG=40%W=0%S=Z%A=O|S%F=AR%O=%RD=0%Q=)
T3(R=Y%DF=N%T=3C-46%TG=40%W=FFFF%S=O%A=S+%F=AS%O=M5B4NNSNW1NNT11%RD=0%Q=)
T4(R=Y%DF=N%T=3C-46%TG=40%W=0%S=A|O%A=Z%F=R%O=%RD=0%Q=)
T5(R=Y%DF=N%T=3B-45%TG=40%W=0%S=Z%A=O|S+%F=AR%O=%RD=0%Q=)
T6(R=Y%DF=N%T=3B-45%TG=40%W=0%S=A|O%A=Z%F=R%O=%RD=0%Q=)
T7(R=Y%DF=N%T=3B-45%TG=40%W=0%S=Z%A=O|S%F=AR%O=%RD=0%Q=)
U1(DF=N%T=FA-104%TG=FF%IPL=38%UN=0%RIPL=G%RID=G%RIPCK=G%RUCK=G%RUD=G)
IE(DFI=N%T=FA-104%TG=FF%CD=S)

Quelle: nmap.org
Weitere Informationen: http://nmap.org/book/osdetect.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 5.0 – Howto Teil 4: Dienst- und Versionserkennung

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

Autor: Moritz TANZER

Sysadmin

1 Kommentar

  1. Pingback: Nmap 5.0 – Howto Teil 7: Nmap Scripting Engine (NSE) – Grundlagen | ROOT ON FIRE

Hinterlasse eine Antwort

Pflichtfelder sind mit * markiert.

*