Dienstag, 29. März 2011

Solaris Port Stealing

Heute habe ich in Bugtraq ausnahmsweise mal wieder einen interessanteren Angriff entdeckt, der auch noch völlig trivial durchzuführen ist. Chris O'Regan bindet dabei einen unpriviligierten Port (bekanntlich die Ports >1024), der bereits von einem Dienst vergeben ist, der auf *.[port] läuft, über einen unpriviligierten User erneut an einen Dienst und erhält somit alle Daten des eigentlichen Dienstes, der auf *.[port] läuft.
Oracle weist auf die Kompatibilität zu BSD hin und schlägt als Lösung die Priviligierung des Ports vor (ndd -set /dev/tcp tcp_extra_priv_ports_add [port]).

Das gesamte Posting lässt sich hier einsehen: http://www.securityfocus.com/archive/1/517216/30/0/threaded.

Meine Schlussfolgerung: Wir brauchen komplett neue Operating System-Designs in der Praxis

Update 1: Der Autor hat in einem Folgeposting diesen Kommentar für ein Angriffszenario geliefert:

Imagine if you find a Solaris system running a web server that has a
remote exploit which allows for the execution of arbitrary code. If the
web server happens to be listening on the wildcard interface than you
can very easily insert your own web server in front of it!


Update 2: Mittlerweile hat ein Mitarbeiter von ORACLE in einem Folgeposting auf die Socketoption SO_EXCLBIND verwiesen (mit setsockopt() setzen), mit der exklusiver Portzugriff gewährleistet werden kann. Dazu habe ich folgendes Dokument finden können: http://arc.opensolaris.org/caselog/PSARC/2006/407/spec.txt.

Zitat:


+      A note about binding a TCP socket.  No two TCP sockets can
+      be bound to the same port unless the bound IP addresses are
+      different.  IPv4 INADDR_ANY and IPv6 unspecified addresses 
+      compare as equal to any IPv4 or IPv6 address.  For example, if a
+      socket is bound to INADDR_ANY or unspecified address and port X,
+      no other socket can bind to port X, regardless of the binding
+      address. 

Dasselbe gilt auch für UDP.

Donnerstag, 24. März 2011

Neue Rezension zu "Linux. Das umfassende Handbuch"

Zu unserem umfassenden Linux-Handbuch:

IT FREELANCER-Magazin, 04/2011

Mit diesem Standardwerk lernt man alles Wissenswerte über Linux kennen. Das Buch bietet Themenvielfalt und Vollständigkeit.

Besten Dank!