Einführung |
Bei diesem Projekt geht es darum verschiedene
generische Gegebenheiten von Betriebssystemen, die sich für das Fingerprinting
eignen könnten, zu dokumentieren.
Ich darf jeden bitten, der Zugang zu einem
hier noch nicht gelisteten Betriebssystem hat, an jenem die entsprechenden
Informationan auszulesen. Diese gilt es mir per E-Mail
zukommen zu lassen, damit ich sie in die Tabellen einfügen kann. |
-
Time-to-live Werte
(TTL) |
Die Eigenschaften von ICMP werden in RFC
792 spezifiziert. RFC 1700 besagt, dass der Default Wert für TTL 64
sein soll. Folgende Liste gibt eine Übersicht über tatsächlich
verwendete TTL Werte:
Betriebssystem |
TCP |
UDP |
RAW |
AIX |
60 |
30 |
|
BSD4.4 |
64 |
64 |
255 |
DEC Pathworks V5 |
30 |
30 |
|
Cisco Router ISO 12.2.1 |
255 |
255 |
|
FreeBSD 2.1R |
64 |
64 |
|
HP/UX 9.0x |
30 |
30 |
|
HP/UX 10.01 |
64 |
64 |
|
Irix 5.3 |
60 |
60 |
|
Irix 6.x |
60 |
60 |
|
Linux |
64 |
64 |
|
MacOS/MacTCP 2.0.x |
60 |
60 |
|
NetGear FM114P |
64? |
64 |
|
OS/2 TCP/IP 3.0 |
64 |
64 |
|
OSF/1 V3.2A |
60 |
30 |
|
QNX Neutrino OS |
255? |
255? |
255 |
Solaris 2.x |
255 |
255 |
|
SunOS 4.1.3/4.1.4 |
60 |
60 |
|
Ultrix V4.1/V4.2A |
60 |
30 |
|
VMS/Multinet |
64 |
64 |
|
VMS/TCPware |
60 |
64 |
|
VMS/Wollongong |
128 |
30 |
|
VMS/UCX |
128 |
128 |
|
Windows for Workgroups |
32 |
32 |
|
Windows 95 |
32 |
32 |
|
Windows 98 |
32 |
32 |
|
Windows 98 Second Edition |
32 |
32 |
|
Windows ME |
128 |
128 |
|
Windows NT 3.51 |
32 |
32 |
|
Windows NT 4.0 |
128 |
128 |
|
Windows 2000 |
128 |
128 |
|
Windows XP Professional |
128 |
128 |
|
Xbox Live |
? |
64 |
? |
Weitere Informationen siehe http://secfr.nerim.net/docs/fingerprint/en/ttl_default.html
und "Hacking
Intern" von Marc Ruef, Wolfram Gieseke, Marko Rogge und Uwe Velten
(Data Becker, 2002, Seiten 217-218). |
-
Scan-Resultate |
Nicht alle Hersteller von Betriebssystemen
halten sich an die Empfehlungen der jeweiligen RFCs. Das Resultat dieser
Verstösse ist, dass einige Scan-Techniken nicht erfolgreich umgesetzt
werden können bzw. falsche Resultate zurückliefern. Die folgende
Tabelle listet die jeweiligen Betriebssysteme und die erfolgreichen Scanning-Techniken
auf:
Betriebssystem |
full-connect
TCP-Scan
-sT
|
half-open
SYN-Scan
-sS
|
FIN-
Scan
-sF
|
Xmas-
Scan
-sX
|
Null-
Scan
-sN
|
ACK-
Scan
-sA
|
Window-
Scan
-sW
|
UDP-
Scan
-sU
|
IP-Protocol-
Scan
-sO
|
Linux |
X
|
X
|
X
|
X
|
X
|
?
|
-
|
X
|
X
|
NetGear FM114P |
X
|
X
|
-
|
-
|
-
|
?
|
-
|
?
|
-
|
QNX Neutrino OS |
X
|
X
|
-
|
-
|
-
|
?
|
-
|
?
|
X
|
Windows NT 4.0 |
X
|
?
|
?
|
?
|
?
|
?
|
?
|
?
|
?
|
Windows XP Professional |
X
|
X
|
-
|
-
|
-
|
?
|
-
|
X
|
X
|
Weitere Informationen siehe http://www.security-guide.ch/2-scanning/index.html#portscans |
-
TCP-Segmente für
Verbindungsabbau |
Interessant ist, dass Richard W. Stevens
in Kapitel 18.2 (Connection Establishment and Termination) auf Seite 233
seines Buches „TCP/IP Illustrated, Volume 1: The Protocols“ das Folgende
schreibt: "While it takes three segments to establish a connection, it
takes fout to terminate a connection. This is caused by TCP’s half-close.
[…]" Stevens belegt dies durch tcpdump-Mittschnitte (Seite 234) und die
für ihn typischen Time-Lines (Seiten 232 und 234). Ein Blick in die
jeweiligen RFCs verrät, dass sowohl 4 als auch 3 TCP-Segmente für
die Terminierung einer etablierten TCP-Sitzung erlaubt sind. Bei der kürzeren
Variante, von der zum Beispiel auch Windows XP Gebrauch macht, wurden ein
FIN- und ein ACK-Segment zusammengelegt. Dies ist natürlich effizienter,
da man sich die Verarbeitung eines zusätzlichen TCP-Segments sparen
kann.
Betriebssystem |
3 TCP-Segmente
(FIN+ACK)
|
4 TCP-Segmente
(ACK, FIN)
|
Linux |
|
X?
|
QNX Neutrino OS |
X
|
|
SVR4 |
|
X
|
Windows XP |
X
|
|
|
|