PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ttl Linux vs OpenBSD



linuxhanz
23.07.03, 13:10
Also bei Linux ist die default ttl 64.

Das macht es einem Scanner leicht das System als Linux zu identifizieren.
Soweit ich mal las gibts außer OpenBSD kein anderes OS dass zufällige
ttls nutzt. Also ist auch OpenBSD leicht zu finden.

Ist die ttl zu klein ists genaus blöd, wie wenn sie zu groß ist. (src:rfc xxx)



was aber wenn man einen cronjob einrichtet der die ttl zwischen 55 und 128
varieren läßt? (als via echo "" > proc ...)

Oder gibts für Linux schon einen Patch der das Verhalten an OpenBSDs anpasst?

stefan-tiger
23.07.03, 13:17
sorry dass ich dir nicht helfen kann aber trozdem frag :D

mit ttl meinst du doch time to live oder?

und was ist die 64?

geht es hier um tcp/ip packete oder was?

gruß

linuxhanz
23.07.03, 13:21
Original geschrieben von stefan-tiger
[B]sorry dass ich dir nicht helfen kann aber trozdem frag :D

mit ttl meinst du doch time to live oder?

ja!


und was ist die 64?

Das ist die ip_default_ttl in /proc unter Linux
( /proc/sys/net/ipv4/ip_default_ttl )


geht es hier um tcp/ip packete oder was?

so hab ich mir das gedacht. Allerdings bin ich nicht sicher ob die Scanner
icmp oder ip Packete auswerten? Deswegen ist der Quote aus man ping
erstmal wieder raus.

EDIT: sieht so aus als wenn icmp in einer ebene mit ip liegt.
(http://www.rvs.uni-bielefeld.de/~heiko/tcpip/kap_2_1.html)
EDIT2: ICMP = Hilfsprotokoll zu IP, eigentlich nicht gedacht für Applikationen
(http://www.fh-landshut.de/~gschied/dvs/slide0380.html )

derRichard
23.07.03, 14:01
Original geschrieben von linuxhanz
Also bei Linux ist die default ttl 64.

Das macht es einem Scanner leicht das System als Linux zu identifizieren.
Soweit ich mal las gibts außer OpenBSD kein anderes OS dass zufällige
ttls nutzt. Also ist auch OpenBSD leicht zu finden.

Ist die ttl zu klein ists genaus blöd, wie wenn sie zu groß ist. (src:rfc xxx)



was aber wenn man einen cronjob einrichtet der die ttl zwischen 55 und 128
varieren läßt? (als via echo "" > proc ...)

Oder gibts für Linux schon einen Patch der das Verhalten an OpenBSDs anpasst?
hallo!

was sagst du dazu?


[richard@firewall richard]$sysctl -a | grep ttl
net.inet.ip.ttl = 64


//richard

linuxhanz
23.07.03, 14:23
umpf ja ich hab ich der Zwischenzeit schon eine Liste mit OS-fingerprints
( z.B: http://secfr.nerim.net/docs/fingerprint/en/ttl_default.html )
gefunden wo mehrere BSDs auf ttl 64 eingestellt sind.

Das verwirrt mich immer mehr.

kanns sein daß ichs mit der IPID verwechselt habe?

derRichard
23.07.03, 14:32
Original geschrieben von linuxhanz
umpf ja ich hab ich der Zwischenzeit schon eine Liste mit OS-fingerprints
gefunden wo mehrere BSDs auf ttl 64 eingestellt sind.

Das verwirrt mich immer mehr.
hallo!

schau mal im kernel-source in die datei sys/netinet/tcp_subr.c,
und such nach "tcp_now = arc4random() / 2;".
das sorgt dafür, dass man die uptime von openbsd nicht auslesen kann.
ist es das was du meinst?

//richard

ps: wenn man die zeile löscht, dann kann man mit nmap und co. die uptime des systems lesen.

linuxhanz
23.07.03, 14:38
Das ist natürlich auch nützlich. Mir war ttl in Erinnerung.
Das war wohl falsch. Offenbar hab ichs mit der IPID verwechselt.

http://www.research.att.com/~smb/papers/fnat.pdf


Vielen Dank!

lh

bernie
23.07.03, 14:58
Hi,

ich versteh dein Problem nicht, wenn die Maschine die TTL auf 64 setzt wenn sie sendet weisst du ja welches OS es ist, weil du dran sitzt, wenn du die Maschine anpingst dekremetiert sie deine TTL um eins. Wenn du mit 5500 daher kommst macht Linux halt 5499 draus. (OK, die Zahlen sind übertrieben)

www.insecure.org -> fingerprinting (nmap -O hostname)

Ciao, Bernie

linuxhanz
23.07.03, 15:06
ja das mit dem Dekrementieren ist mir bekannt. Und wenn ich davor sitze auch.
Es geht aber grade darum, daß andere nicht Deinen Rechner identifizieren.

PM: ttl nachgehackt



ich versteh dein Problem nicht, die TTL wird von jedem Router am Weg dekrementiert. Nach 5 Hops ist die TTL also nur mehr 59. Sagen wir das OS XY versieht Pakete immer mit einer TTL von 128. Was sagt dir ob es Linux mit 5 Hops oder OS XY mit 69 Hops war? Der Empfänger eines Pings weiss nicht wieviele Hops es waren, woher auch? Abgesehen davon hat dir derRichard gezeigt dass OpenBSd auch eine default TTL von 64 hat.

Ciao, Bernie

Was sagt dir ob es Linux mit 5 Hops oder OS XY mit 69 Hops war?

Hm ich dachte traceroute. (es liefert von start bis ziel, dumm wäre es nat. wenn andere Routen gegangen werden, vermutl habe ich das übersehen) Insofern sind die hops fest. sonst würde doch os-fingerprinting auch nicht funktionieren?

Wenn Du nix dagegen hast, koennen wir das ja ans Post anhaengen.

lh



Hi,
ja hängs an,.. OS fingerprinting funktioniert unabhängig von der Anzahl der Hops.

Ciao, Bernie