[Sun/Solaris] Unsichere Voreinstellung für sadmind - Angriffe erfolgen
(2003-09-26 13:38:14.229257+00)
Quelle:
http://sunsolve.sun.com/pub-cgi/retrieve.pl?doc=fsalert%2F56740&zone_32=56740
Die voreingestellten Sicherheitsoptionen des Solaris-Administrations-Daemons sadmind
ermöglichen Angreifern lokal oder über eine Netzwerkverbindung die unautorisierte Ausführung administrativer Kommandos mit root
-Privilegien. Neue Angriffsprogramme zur Ausnutzung dieser Schwachstelle kursieren.
Betroffene Systeme
- Sparc-Plattform
- Solaris 7 und Trusted Solaris 7
- Solaris 8 und Trusted Solaris 8
- Solaris 9
- x86-Plattform
- Solaris 7 und Trusted Solaris 7
- Solaris 8 und Trusted Solaris 8
- Solaris 9
Einfallstor
Speziell formulierte RPC-Requests an sadmind
- via
inetd
: Port 111/tcp - Direkt an
sadmind
: dynamischer Port
in diesem Fall muß sichergestellt sein, daßsadmind
läuft, d. h. er muß zunächst voninetd
oder als standalone daemon beim Systemboot getartet worden sein.
Auswirkung
Kompromittierung des beherbergenden Rechnersystems
(remote root compromise)
Typ der Verwundbarkeit
insecure defaults
Gefahrenpotential
sehr hoch
(Hinweise zur Einstufung des Gefahrenpotentials.)
Kontext
Zur Administration mehrerer über ein Netzwerk verteilter Sun-Solaris-Systeme stellt die Sun Solstice Admin Suite (tm) verschiedene Werkzeuge zur Verfügung. Der sadmin
-Daemon dient dabei zur Ausführung der Administrativen Aktionen auf den einzelnen Rechnersystemen. Zu diesem Zweck lauscht sadmind
auf dem Netzwerk und wartet auf Anfragen des administrierenden Systems.
Standardmäßig wird sadmind
mittels des inetd
-Mechanismus getartet und läuft dann nach der letzten Anfrage standardmäßig voreingestellt noch 15 Minuten bis er sich selbst beendet.
sadmind
authentifiziert Anfragen, um Sicherzustellen, daß keine Anfragen unautorisierter Benutzer bearbeitet werden und ggf. von diesen zur Kompromittierung des beherbergenden Systems ausgenutzt werden können. Es werden drei Sicherheitsstufen zur Authentifizierung angeboten:
- 0 - keine Authentifizierung
Diese Einstellung dient Testzwecken, sie sollte nicht im Produktionsbetrieb eingesetzt werden. - 1 - schwache Authentifizierung
Zur Authentifizierung werden derAUTH_SYS
- oderAUTH_DES
-Authentifizierungsmechanismus gleichwertig herangezogen, d. h. eine Authentifizierung findet je Anfrage entweder mittels des einen oder des anderen statt. Benutzer und Klienten werden anhand Ihrer System- oder DES-Credentials authentifiziert.
Dies ist die voreingestellte Sicherheitsstufe. - 2 - starke Authentifizerung
Aur Authentifizierung wird nur derAUTH_DES
-Authentifizierungsmechanismus akzeptiert. Nur Benutzer und Klienten, die ein DES-Credential besitzen werden zur Authentifizierung zugelassen.
Beschreibungsadmind
wird voreingestellt mit der Sicherheitsstufe 1 installiert und akzeptiert daher eine Authentifizierung, die auf dem AUTH_SYS
-Mechanismus beruht. AUTH_SYS
-Authentifizierungscredentials können leicht gefälscht werden so daß ein nichtprivilegierter Benutzer oder Client, der in der Lage ist, entsprechende Anfragen an sadmind
zu schicken, ggf. in der Lage ist, administrative Aktionen auf dem beherbergenden Rechnersystem auszuführen.
Derzeit kursieren neue Angriffsprogramme, die die Ausnutzung dieser Schwachstelle sehr einfach machen.
Prüfung auf Verwundbarkeit
- verwundbare Systeme:
Ein gegen die o. b. Art von Angriffen verwundbares System enthält in der Datei/etc/inetd.conf
folgende Zeile:100232/10 tli rpc/udp wait root /usr/sbin/sadmind sadmind
- nicht verwundbare Systeme:
Ein System das nicht gegen die o. b. Art von Angriffen verwundbar ist enthält in der Datei/etc/inetd.conf
folgende Zeile:100232/10 tli rpc/udp wait root /usr/sbin/sadmind sadmind -S 2
oder die Zeile;#100232/10 tli rpc/udp wait root /usr/sbin/sadmind sadmind
Gegenmaßnahmen
- Laut Sun ist dieses Problem bekannt und dokumentiert, Patches daher nicht geplant.
Anmerkung
Dieses Problem ist in der Tat schon seit Jahren bekannt und in vielen Dokumenten, die die Absicherung von Solaris-Inatallationen beschreiben, erwähnt. Dort wird empfohlen, sadmind
nicht im Default-Security-Level zu starten, sondern im sichereren Level 2 (s. Kontext).
In der man page
zu sadmind (1M)
wird ebenfalls darauf hingewiesen, daß der voreingestellte Security-Level 1 nur in "relativ sicheren Umgebungen" eingesetzt werden sollte, da es "leicht ist, AUTH_SYS
-Credentials zu fälschen". Sun Microsystems hat aber bisher nicht die Konsequenz aus dieser Tatsache gezogen und die Voreinstellung geändert, so daß ein Adminsitrator die Entscheidung, sadmind
so zu betreiben, daß Angriffe leicht möglich sind, bewußt treffen muß. Dies ist nicht mehr zeitgemäß und gefährdet in unnötiger Weise Solaris-Installationen, insbesondere solche, die von überlasteten Administratoren verwaltet werden (also praktisch alle), die davon ausgehen, daß Defaults so eingestellt sind, daß Angriffe zumindest nicht trivial möglich sind. Zwar erleichtert die gewählte Voreinstellung vermutlich in vielen Fällen die Einführung zentralisierter Administration mittels der Sun Solstice Admin Suite (tm) fordert jedoch eine nicht unerhebliche Gefährdung der Sicherheit als Preis.
Workaround
- Sofern das System mittels der Sun Solstice Admin Suite (tm) administriert werden soll, ist die Änderung des Security-Levels vorzunehmen, andernfalls sollte
sadmind
abgeschaltet werden.- Folgende Änderungen sind in der Datei
/etc/inetd.conf
vorzunehmen:- zur Änderung des Security-Levels ist die Zeile
100232/10 tli rpc/udp wait root /usr/sbin/sadmind sadmind
zu ersetzen durch die Zeile100232/10 tli rpc/udp wait root /usr/sbin/sadmind sadmind -S 2
- zur Abschaltung des
sadmind
ist die Zeile100232/10 tli rpc/udp wait root /usr/sbin/sadmind sadmind
mittels eines Doppelkreuzes ("#
") auszukommentieren:#100232/10 tli rpc/udp wait root /usr/sbin/sadmind sadmind
- zur Änderung des Security-Levels ist die Zeile
- Danach ist in jedem Fall
inetd
zu veranlassen, seine Konfigurationsdatei neu zu lesen:$ su Password: # /usr/bin/pkill -HUP inetd # exit $
- Folgende Änderungen sind in der Datei
- Eine Filterung des Ports 111/tcp (
portmapper
) verhindert Angriffe nicht effektiv, dasadmind
auch direkt angegriffen werden kann (s. Einfallstor). Zusätzlich zu den o. b. Maßnahmen kann eine Filterung jedoch nicht schaden.
Vulnerability ID
- Sun Alert ID 56740
Exploit Code
- Angriffsprogramme kursieren
Weitere Information zu diesem Thema
sadmind (1M)
manual page
Hinweis
Die in diesem Text enthaltene Information wurde für die Mitglieder der Universität Stuttgart recherchiert und zusammengestellt. Die Universität Stuttgart übernimmt keinerlei Haftung für die Inhalte. Dieser Artikel darf ausschließlich in unveränderter Form und nur zusammen mit diesem Hinweis sowie dem folgenden Copyrightverweis veröffentlicht werden. Eine Veröffentlichung unter diesen Bedingungen an anderer Stelle ist ausdrücklich gestattet.
Copyright © 2022 RUS-CERT, Universität Stuttgart, https://cert.uni-stuttgart.de/
https://cert.uni-stuttgart.de/ticker/article.php?mid=1151