Apfelinsel

Mac-Software => Thema gestartet von: mbs am Juni 20, 2008, 10:37:36

Titel: Schweres Sicherheitsproblem in Tiger und Leopard
Beitrag von: mbs am Juni 20, 2008, 10:37:36
Die Firma Intego hat einen sehr schweren Sicherheitsfehler in Mac OS X Leopard entdeckt, der es lokalen Benutzern ermöglicht, alle Rechte des Systems zu erlangen und somit jeden Schutz zu umgehen. http://www.intego.com/news/ism0802.asp (http://www.intego.com/news/ism0802.asp)

Einfache Demo:
osascript -e 'tell app "ARDAgent" to do shell script "whoami"'
Zur Abhilfe:
In "Systemeinstellungen > Sharing" den Dienst "Entfernte Verwaltung" einschalten (das ist kein Tippfehler).

In Tiger gibt es das analoge Problem, jedoch nur, wenn der Apple Remote Desktop Client installliert wurde.

Das Problem kann von außen nur dann ausgenutzt werden, wenn Benutzer auf irgendeine Weise die Möglichkeit erlangen, Programme zu starten, beispielsweise über eine Remote Shell.
Titel: Re: Schweres Sicherheitsproblem in Tiger und Leopard
Beitrag von: MacFlieger am Juni 20, 2008, 10:54:54
Uiuiui, also doch richtig, dass man den Dienst einschalten muss, um das Problem nicht zu haben. Sehr merkwürdig.

Ich hatte das gerade eben auch ausprobiert. Und es funktioniert tatsächlich. Wobei allerdings die Ausgabe eines Directorylistings merkwürdig ist:

Eingabe:
osascript -e 'tell app "ARDAgent" to do shell script "ls -l /"';Ausgabe:
-rw-r--r--   1 root    admin         0 Mar 27 17:29 .com.apple.timemachine.suppo
lrwxr-xr-x@  1 root    admin        11 Mar 28 14:38 var -> private/var

Da hätte ich jetzt doch was anderes erwartet. Komisch.

Aber noch als Nachfrage:
Wenn ich die "Entfernte Nachfrage" aktiviert habe und bei "Optionen" und "Computereinstellungen" nichts angehakt habe, dann läuft zwar der Dienst, aber nichts kann benutzt werden, richtig?
Titel: Re: Schweres Sicherheitsproblem in Tiger und Leopard
Beitrag von: Jochen am Juni 20, 2008, 11:12:55
....der es lokalen Benutzern ermöglicht, alle Rechte des Systems zu erlangen und somit jeden Schutz zu umgehen.

Zur Abhilfe:
In "Systemeinstellungen > Sharing" den Dienst "Entfernte Verwaltung" einschalten (das ist kein Tippfehler).


Was ist jetzt das Problem ?
Das der lokale Benutzer, also ICH Zugriff habe, oder dass statt ausschalten einschalten eingestellt sein muss  ???

Jochen
Titel: Re: Schweres Sicherheitsproblem in Tiger und Leopard
Beitrag von: MacFlieger am Juni 20, 2008, 11:36:58
Das Problem ist:
Wenn der Dienst ausgeschaltet ist, dann kann jeder lokale Benutzer oder Programm, egal wie eingeschränkt seine Rechte sind, Befehle mit root-Rechten ohne weitere Passworteingabe ausführen. Also eine klassische Rechte-Eskalation.

Das einschalten des Dienstes ist nur ein Workaround, um den Fehler indirekt zu beheben.
Titel: Re: Schweres Sicherheitsproblem in Tiger und Leopard
Beitrag von: mbs am Juni 20, 2008, 11:45:41
Zitat
Da hätte ich jetzt doch was anderes erwartet. Komisch.

Das liegt offenbar an eingeschränkten Terminal-Einstellungen in der gestarteten Sub-Shell und ist nur ein Darstellungsfehler. Hab im Moment keine Zeit, die genaue Ursache auszuknobeln. Wenn Du was wie "ls -l / > /tmp/ls.txt" probierst, kannst Du aber sehen, dass der Befehl vollständig und korrekt ausgeführt wird.

Zitat
Wenn ich die "Entfernte Nachfrage" aktiviert habe und bei "Optionen" und "Computereinstellungen" nichts angehakt habe, dann läuft zwar der Dienst, aber nichts kann benutzt werden, richtig?

So scheint es zu sein. Kannst Du ja ausprobieren.

Zitat
Was ist jetzt das Problem ?
Das der lokale Benutzer, also ICH Zugriff habe,

Das Problem ist, dass Du mehr Zugriff hast, also Du haben darfst und dass das für jeden anderen, der Programme ausführen kann, auch gilt.
Titel: Re: Schweres Sicherheitsproblem in Tiger und Leopard
Beitrag von: warlord am Juni 20, 2008, 11:48:09
Das einschalten des Dienstes ist nur ein Workaround, um den Fehler indirekt zu beheben.

Und damit wird dann womöglich das "remote" Ausnützen ähnlicher Lücken (die es womöglich noch gibt) ermöglicht. Ist mir irgendwie nicht sympathisch, dieser Workaround.  :-\
Titel: Re: Schweres Sicherheitsproblem in Tiger und Leopard
Beitrag von: MacFlieger am Juni 20, 2008, 12:38:16
Und damit wird dann womöglich das "remote" Ausnützen ähnlicher Lücken (die es womöglich noch gibt) ermöglicht. Ist mir irgendwie nicht sympathisch, dieser Workaround.  :-\

Mir auch nicht aus den gleichen Gründen. Ich starte ungerne Dienste, die ich nicht benötige.
Deshalb habe ich das ja auch nur als Workaround und nicht als Lösung bezeichnet. Lösung kann es nur von Apple geben. Hoffentlich schnell.
Titel: Re: Schweres Sicherheitsproblem in Tiger und Leopard
Beitrag von: MacFlieger am Juni 20, 2008, 12:57:31
Ähm, was ich ganz unterschlagen hatte:
In dem Link von radneuerfinder in dem anderen Thread ist noch eine weiterer möglicher Workaround gepostet:
Das Problem tritt ja auf, weil beim ARDAgent das SUID-Bit gesetzt ist und somit das Programm mit root-Rechten läuft. Man könnte also einfach dieses Bit entfernen:
chmod u-s /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/MacOS/ARDAgent
Wer ARD nicht nutzt, kann das vermutlich problemlos machen. Ich vermute aber, dass Nutzer von ARD das nicht tun sollten, allerdings haben die ja sowieso den Dienst eingeschaltet und sind nicht betroffen.
Eine spätere Rechtereparatur wird das Bit vermutlich wieder setzen.
Titel: Re: Schweres Sicherheitsproblem in Tiger und Leopard
Beitrag von: warlord am Juni 20, 2008, 17:32:58
Kann man es wohl wagen, mit
chmod u-x /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/MacOS/ARDAgent
den ARDAgent gleich ganz auszuschalten? Mir war dieses Apple Remote Gedöns noch nie geheuer.
Titel: Re: Schweres Sicherheitsproblem in Tiger und Leopard
Beitrag von: MacFlieger am Juni 20, 2008, 18:20:20
Kann man es wohl wagen, ... den ARDAgent gleich ganz auszuschalten?

Ich denke, das ist problemlos, wenn man den nicht benutzt/benötigt.
Zudem müsste diese Modifikation bei einem "Rechte reparieren" wieder rückgängig gemacht werden.

Das eigentliche Sicherheitsproblem ist ja meiner Meinung nach so entstanden:
- Wenn der ARDAgent per Sharing aktiviert ist, braucht der für einige Sachen halt root-Rechte, soll den Anwender aber nicht fragen, evtl. sitzt da ja keiner oder auch eben einer ohne Admin-Rechte. Daher bekam der ARDAgent das SUID-Bit gesetzt. Damit das aber keiner missbrauchen kann, wurde in dem ARDAgent eine Zugriffskontrolle eingebaut, die missbräuchliche Zugriffe verhindert. Aus diesem Grund funktioniert die Lücke auch nicht, wenn "Entfernte Verwaltung" aktiviert ist.
- Dass jemand auf den Gedanken kommen könnte, der ARDAgent lokal aufzurufen, wenn der gar nicht aktiviert ist,ist anscheinend keiner gekommen. Ruft man den also manuell auf, kann man ihm Befehle unterschieben, die mit root-Rechten ausgeführt werden.

Das ganze müsste sich eigentlich recht einfach beheben lassen (meine Vermutung). Einfach zusätzlich einbauen, dass der ARDAgent nichts macht, wenn er nicht per "Entfernte Verwaltung" gestartet wurde. Oder die gleichen Kontrollen benutzen, die bei eingeschaltetem Dienst, aber keinen "Häkchen" benutzt werden.
Am besten wäre es vermutlich völlig auf das SUID-Bit zu verzichten, in wie weit dass aber möglich ist ohne Funktionen lahmzulegen, weiß ich nicht.
Titel: Re: Schweres Sicherheitsproblem in Tiger und Leopard
Beitrag von: Florian am Juni 21, 2008, 11:55:10
Zitat
In Tiger gibt es das analoge Problem, jedoch nur, wenn der Apple Remote Desktop Client installliert wurde.

Ich bin echt dankbar für diese Klarstellung, manche Meldungen lesen sich, als müsste man den ARDC erst installieren, um die Lücke zu schließen, was natürlich irgendwo komisch wäre, aber wenn's da steht… z.B. im Original von Intego:
„There are cases where this exploit does not work. If a user has turned on Remote Management in the Sharing pane of System Preferences under Mac OS X 10.5, or if a user has installed Apple Remote Desktop client under Mac OS X 10.4 or earlier and has activated this setting in the Sharing preferences, the exploit will not function.“

Titel: Re: Schweres Sicherheitsproblem in Tiger und Leopard
Beitrag von: Patrick am Juni 22, 2008, 08:33:23
Hängt wohl mit eben diesem Bug zusammen:

http://www.betanews.com/article/Mac_OS_X_Trojan_reported_in_the_wild/1213976101

Titel: Re: Schweres Sicherheitsproblem in Tiger und Leopard
Beitrag von: MacFlieger am Juni 22, 2008, 09:11:33
Ja, wobei der hier besprochene Bug "nur" eine Rechteausweitung ermöglicht.
D.h. durch diesen Bug kann ein Trojaner nicht nur den User ausspionieren/betreffen, der ihn selber absichtlich gestartet hat, sondern alle User auf dem gleichen Computer. Solange nur der gleiche User betroffen ist, wird keine Sicherheitslücke benötigt.
Titel: Re: Schweres Sicherheitsproblem in Tiger und Leopard
Beitrag von: warlord am Juni 24, 2008, 08:02:25
Hier (http://martinkou.blogspot.com/2008/06/how-to-properly-fix-mac-os-x-ardagent.html) meint einer, das Einschalten der entfernten Verwaltung nütze doch nichts. Jedenfalls nicht nachhaltig. Und er hat eine andere Lösung. Allerdings ist die auch irgendwie seltsam und mir ist nicht so ganz klar, was da geschieht und wieso sie (vielleicht) funktioniert.
Titel: Re: Schweres Sicherheitsproblem in Tiger und Leopard
Beitrag von: MacFlieger am Juni 24, 2008, 10:18:27
Hast Du das mal ausprobiert?

Im Endeffekt sehe ich das so:
- Wer ARD nicht braucht und daher ausgeschaltet hat, sollte einfach das SUID-Bit entfernen. Das ARD danach nicht mehr 100%ig funktioniert, ist ja egal, weil man es eh nicht braucht/nutzt.
- Wer ARD braucht, hat es eingeschaltet und soll eigentlich ja von dem Problem nicht betroffen sein. Laut Deinem verlinkten Artikel sind aber gerade die betroffen, weil ein Neustarten des Dienstes die Lücke öffnen soll. Klingt für mich komisch, aber wäre schön, wenn das mal jemand ausprobieren kann.
Titel: Re: Schweres Sicherheitsproblem in Tiger und Leopard
Beitrag von: warlord am Juni 24, 2008, 10:20:35
Hast Du das mal ausprobiert?

Nein. Sitze erst abends wieder an einem Mac.
Titel: Re: Schweres Sicherheitsproblem in Tiger und Leopard
Beitrag von: MacMark am Juli 02, 2008, 14:08:02
… Das Problem kann von außen nur dann ausgenutzt werden, wenn Benutzer auf irgendeine Weise die Möglichkeit erlangen, Programme zu starten, beispielsweise über eine Remote Shell.

Das ist nicht ausreichend. Zwingend notwendige Voraussetzung, um den Bug ausnutzen zu können ist, daß der User, der den Bug ausnutzt, auch in diesem Moment eine aktive GUI-Session im Vordergrund laufen hat. Das liegt daran, daß per AppleScript per GUI-Session ein Apple-Script-Kommando an den ARDAgent geschickt werden muß. Das funktioniert nur für die aktuelle GUI. Wer es nicht glauben mag, möge es ausprobieren ;)

Der Exploit verpackt ein Shell-Kommando in einem AppleScript-Kommando, welches wiederum in einem anderen Shell-Kommando verpackt ist. Wesentlich ist hierbei, daß der ARDAgent das AppleScript-Kommando, was ihn erreicht unter root ausführt. Die Beliebigkeit des auszuführenden Angriffcodes bekommt man durch Verwendung eines AppleScript-Kommandos, welches beliebigen Shell-Code ausführt.

Unter 10.4.0 und 10.4.11 funktioniert der Angriff in Standardkonfiguration übrigens nicht, obwohl der ARDAgent auch in diesen Versionen vorhanden ist.