23:17
19/9/2011

Okazuje się, że w najnowszym systemie Apple użytkownicy bez praw roota są w stanie podejrzeć hashe haseł innych użytkowników.

dscl – zmiana hasła w OS X

Za błąd odpowiedzialne są zmiany wprowadzone do procedury uwierzytelniania Directory Service. Zazwyczaj hashe haseł trzymane są w plikach shadow, do których dostęp mają tylko użytkownicy z prawami administratorów. Okazuje się jednak, że przy pomocy narzędzia dscl można odczytać hashe innych użytkowników w systemie nie posiadając uprawnienień roota.

dscl localhost -read /Search/Users/nazwauzytkownika

Mac OS X hash cracking

Mac OS X hash cracking dscl

Jeśli atakującemu uda się zdobyć hash użytkownika, może on poznać jego hasło przypuszczając atak słownikowy (bruteforce). Patrick Dunstan, który natknął się na błąd w Directory Service napisał pythonowy skrypt do łamania hashy charakterystycznych dla OS X.

Błąd dotyczy każdego użytkownika OS X Liona

Podkreślmy, że podatność na atak wbrew pozorom nie dotyczy tylko systemów, na których znajduje się więcej niż jedno konto użytkownika. Za pomocą narzędzia dscl można bowiem także zmienić hasło aktualnemu użytkownikowi na dowolne inne — nie jesteśmy proszeni o podanie starego hasła.

dscl localhost -passwd /Search/Users/nazwauzytkownika

Wyobraźmy sobie teraz, że ściągamy aplikację, która w tle odpala powyższe polecenie, zmieniając nasze hasło na inne, nieznane. Czyżby czekała nas kolejna fala ransomware na Mac OS X?

Przeczytaj także:



37 komentarzy

Dodaj komentarz
  1. Jestem ciekaw co na to Steve Jobs :) Jest jakieś oficjalne stanowisko Apple Inc odnośnie tej sprawy?

    • Steve jest na L4, a jego firma ciąga Szajsunga po sądach.

    • Pewnie szybko wyjdzie update naprawiający błąd. Groźniejsze jest przekonanie, ze maki są bezpieczniejsze. Może i są, ale jedynie z powodu mniejszej popularnosci a nie lepszego zabezpieczenia systemu. Zresztą wielu producentów antywirusów dopiero od bardzo niedawna wprowadziło wersje swych programów na Mac OS (choćby Norton jest na Maca od bardzo niedawna). To powoduje, ze wielu userów maków nie ma jeszcze świadomosci konieczności ich zabezpieczenia pakietem internet security. Część userów może też nie chcieć kupić takiego softu, skoro masę kasy wydała już na komputer i ewentualnie akcesoria (jak wiadomo sporo droższe niż przeciętnie w przypadku pc-tów). Cała sprawa pokazuje, że generalnie teraz tworzy się system na szybko nie analizując go zbyt dokładnie, widocznie za krótko testowali Liona przed wprowadzeniem go na rynek. Im więcej linijek kodu, tym audyt jest trudniejszy. Chyba nadszedł czas na audyt aplikacji a zwłaszcza systemów operacyjnych na komputerach odłączonych od internetu z odpalonymi narzędziami analizującymi kod. Zapewne się to robi, ale jak widać przechodzą groźne błędy.

    • Z tego co pamiętam Steve Jobs nie żyje

  2. No a co za problem przywrócić hasło w dokładnie ten sam sposób? Albo przy użyciu płyty instalacyjnej?

    • Jeśli ktoś wie, nic. Ale nie wszyscy użytkownicy OS X są z Terminalem za pan brat ;)

    • Jak matolki lykaly MacDefendera :)
      3/4 tych userow nie wie co z czym piszczy i buczy w ich aluminiowych skrzynkach.

    • @Bartosz -> no a co, jeśli jakiś app zmieni ci hasło a potem cie wyloguje?? Jak sobie wtedy zmienisz znow na wlasne??

    • @grizli: single user mode

    • @naresh: +1 ;)

  3. Dlatego pozbyłem się Liona na rzecz Snow Leoparda po 24h ;D

    • to na pewno był bezpośredni powód ;). Sam czekam jeszcze ze dwie większe aktualizacje, żeby zainstalować Liona. Jakoś mi się nie śpieszy, a Snow Leo jak działał, tak działa. Po co się śpieszyć :)

    • @naresh: Może nie bezpośredni ale ten system zwyczajnie zbyt mocno się sypie. Nie są to jakieś duże błędy ale wg mnie przesadzili z bajerami które nie są do końca dopracowane. W zasadzie nic do Liona mnie nie ciągnie – mission control fajna sprawa a po za tym reszta to zabawki ;)

    • zwłaszcza LaunchPad… Totalnie nietrafione na desktopie bez dotykowego ekranu…

    • Problem jest jeszcze inny – jak otwieram Applications to moge przynajmniej wcisnąć “Cy” i kieruje mnie na Cyberducka – w Lauchpadzie nie ma możliwości szukania ani kierowania się na aplikację.

  4. Raczej nie będzie ransomware, jak informuje Heise Security metoda jest raczej zawodna.

    • Bzdura. Działa idealnie — sam sprawdziłem. Tylko trzeba wykazać się odrobiną zrozumienia tematu i pojąć, że w ataku chodzi o zmianę hasła *aktualnie* zalogowanego użytkownika — zmiana hasła innego użytkownika nie powiedzie się bez uprawnień administratora.

  5. Atak słownikowy to chyba niedokładnie to samo co bruteforce.

    • Z reguły na początku próbuje się słownikowego, który siłą rzeczy zawiera się w bruteforce, ale ma większe szanse na powodzenie, bo ludzie już tak mają, że znane słowa jako hasła wybierają ;)

  6. Kolejny raz potwierdza się stara prawda o tym, by pracować na koncie bez uprawnień administratora.

    • Ale przecież artykuł mówi właśnie o tym, że nie trzeba mieć uprawnień roota, żeby wyciągnąć te hashe. Czytamy ze zro-zu-mie-niem.

  7. a że niby jak w osx ma się uruchomić to polecenie bez hasła administratora podczas ściągania?

    • Przecież nie trzeba podawać hasła administratora żeby ściągnąć cokolwiek z internetu, tak samo nie potrzeba go, żeby włączyć program…

  8. jak to nie trzeba podawać hasła aby uruchomić polecenie w shellu? w tle?

    a jak uruchomić program w tle? który nie spyta się że właśnie się “w tle” ściągnąłem i czy może chciałbyś mnie uruchomić?

    Karzdy program który ściągniesz z netu zadaje Ci pytanie czy aby na pewno się uruchomić, oraz [podaje Ci datę kiedy ściagnąłeś dany program z netu.

    • Owszem, pyta… Ale np. wykorzystując premierę nowego iWork albo iLife można spreparować paczkę, która zawiera iWork/iLife wraz z małą modyfikacją. Użytkownik niczego świadomy przez “skrypt startujący” odpali sobie komendę shellową i faktycznie program z pakietu… tadam! Hacked ;). Pamiętaj, że wiele ataków dzisiaj zaczyna się od socjotechniki, potem dopiero przychodzą rozwiązania techniczne

    • Oczywiście paczkę wrzucić na torrenty…

    • Co do szybkiego przykładu:

      wejdź z terminala do /Applications/Mail.app/Contents/MacOS
      mv Mail Mail2
      touch Mail
      chmod +x Mail

      wstaw do tego pliku to:
      #/bin/bash
      f=`dirname $0`
      touch $f/test
      `$f/Mail2`

      W ten o to piękny sposób wołasz polecenia shella przed samym uruchomieniem aplikacji… Możesz tam wstawić cokolwiek. Tak spreparowaną paczkę na torrenty z prawdziwyą zawartością wzbogaconą o ten skrypcik (żeby nie ludzie nie pisali, że to fake).

    • aaaaa… czyli mogę wykonać włamanie jak sam sobie ściągne wirusa, i sam go zainstaluje, cudownie.

      własnie takich wirusów userzy innych platform się najbardziej obawiają. czyli jak zrobię zmodyfikowaną paczkę z windowsem, officem, i uruchomie skrypt, to w windowsie to nie zadziała? no way…

      w sumie idąc tym tropem, mógłbym napisać maila, Ej stary wypierdziel troche plików z foldera systemowego. i zadziała? sposób ataku jest możliwy, ale nie jest banalnie prosty.

      Podejmujecie wyzwanie? przygotujcie paczkę z czymś co mi się zainstaluje i nie bedę wiedział że się instaluje? a nie świadomie zgodzę się na atak, przez pobieranie cholera wie czego i wrzucanie tego do systemu.

      w takim wypadku to nie jest luka, która pozwala na łatwy atak zzewnatrz, bez ingerencji z userem?

    • Marku, to chodzi o to, że ściągasz aplikację, która ma Ci np, przeskalować zdjęcia, a ona skaluje zdjęcia ale jednocześnie zmienia hasło. Tyle. Do tej pory złośliwe aplikacje nie były w stanie tego zrobić.

    • a i po co ściągać iWorka z torrentów skoro jest w AppStore? a z Mackiem dostaje go za darmo?

    • 1. Owszem, tylko tutaj można wykonać operację która powinna wymagać autoryzacji administratora bez niej. Jest to luka dość poważna
      2. W tym przypadku dostajesz program, który chciałeś “spiracić”, więc jesteś happy. iLife dostajesz w wersji jaka była wraz z systemem. W między czasie może być premiera nowego, stąd pokusa pobrania pirackiej wersji. Ten skrypt można zmodyfikować w sposób inny:
      – zmieniam hasło obecnego usera bez praw administratora na dupa
      – odpalam sobie SUDO_ASKPASS=/moj/helper/w/bundlu sudo -s -A
      – jeśli user był sudoerem w tej chwili mam prawo administratora i mogę nabroić znacznie więcej niż wcześniej. Zagrożenie jest duże do póki takie zjawisko występuje. Pobieranie z torrentów jest częste. Można zrobić dużo paczek dla zwiększenia skuteczności. Skupiłeś się na słowach kluczowych “iLife i iWork”, zamiast wstawić tam “dowolny pożądany przez skąpych użytkowników płatny program lub gra”

      Mając te prawa administratora mogę sobie już całkiem w tle i dla przeciętnego usera niezauważalnie pobrać np dużo poważniejszy soft np. farmera bitcoinów ;)

    • w pracy mam windowsa, i nie mogłem sprawdzić…
      i nie pyta o stare hasło, teraz kumam…

      MacBook-Marek:~ marek$ dscl localhost -passwd /Search/Users/marekmajerski
      New Password:
      MacBook-Marek:~ marek$ passwdChanging password for marek.
      Old Password:
      New Password:
      Retype New Password:
      MacBook-Marek:~ marek$

      ale czym to się różni od:

      Start –> Uruchom –> wpisujemy “CMD”

      Następnie wpisujemy “net user” (pojawiają się nazwy kont innych użytkowników – jest też nazwa “Administrator”)

      Wpisujemy:

      net user administrator *

      Pojawia się:
      Wpisz hasło dla użytkowika –> wpisujemy nowe hasło
      Wpisz hasło ponownie w celu potwierdzenia –> wpisujemy to samo

      Pojawia się: Polecenie zostało wykonane pomyślnie.

      teraz nie mam windowsa aby to sprawdzić, a w pracy mam pc w domeni i się pospinają jak bedę sprawdzał…

    • Tym to się różni że tych poleceń nie wykonasz bez aktywnego tokena z prawami Administratora, czyli albo bycie zalogowanym na koncie należącym do grupy Administrators na XP lub na Vista/7/8 ale z poziomu “elevated”. Żeby dostać konsolę/wykonać coś z podniesionymi uprawnieniami będąc na zwykłym koncie trzeba wpisać nazwę użytkownika i hasło (kogoś kto ma uprwnienia Administratora) w dodatku jest to robione na innym pulpcie z możliwym wprowadzaniem tylko z klawiatury i myszy.
      Zgodnie z treścią arta na macu można zmienić hasło bez pytania oraz bez podawania starego bedąc zwykłym userem. (Odpowiednikiem na windows byłby brak UAC w tej operacji i brak pytania o stare hasło)

  9. każdy * sorry nie da się edytować ;/

  10. Eee tam, kiedyś hasze były dostępne do czytania w Linuksach i nikt nie robił z tego problemu. A jak ktoś używa niesłownikowe hasło to można sobie atakować do końca świata. Poza tym, aby podejrzeć innych userów trzeba samemu być userem. A kto niby miałby to robić na komputerze domowym? Żona? Dzieci? Przecież nie ktoś z ulicy! Poza tym można zawsze hasło odzyskać rebootując system w single mode. Z tym ściąganiem z torrrentów iWork który jest za darmo dostępny z każdym makiem i w ogóle tani, to też LOL.

    • nie wiem czy taki “LoL”. Jak mówiłem, może wyjść nowsza wersja iWork, i już tej nie masz “za darmo” (np. w Leopardzie miałeś iWork ’09, potem wyszedł ’11), a argument “w ogóle tani” nie przekonuje wielu ludzi. Po co płacić jak na torrentach jest “za darmo”. Po za tym ktoś już raz wykorzystał iWork w podobnym celu: http://news.cnet.com/8301-1009_3-10148359-83.html

      No i po raz kolejny… zamiast się skupiać na słowach “iWork, iLife” wstaw tam sobie “dowolny płatny program lub gra na Mac OS X”, czyli np. Adobe Photoshop (już nie taki tani), Final Cut… Użytkownicy Mac OS X też piracą i w ten właśnie sposób wykorzystując taką bagatelizowaną przez was lukę można mocno naruszyć opinię o mega ultra hiper bezpieczieczeństwie i braku “wirusów”… I żeby nie było sam używam na co dzień do pracy Maca, więc nie jestem jakimś antyfanem hejterem. Po prostu w przeciwieństwie do was dostrzegam problem w możliwości zmiany hasła bez eskalacji praw lub bez podania starego. Ach… przypomniał mi się kolejny sposób (opisany tutaj na niebezpieczniku) na podrzucenie takiego złośliwego kodu: https://niebezpiecznik.pl/post/sciagales-niedawno-utorrenta/

  11. Nawet jak hasło admina ulegnie zmianie, to można je prosto przywrócić. OSX ma mniej więcej podobną odporność na wirusy co inne systemy uniksowe, czyli raczej trzeba się postarać aby sobie coś zainfekować. Jak ktoś ściąga programy z lewych źródeł to jego problem. Większość programów, poza serialem, w ogóle nie ma zabezpieczeń przed kopiowaniem, nie potrzebuje aktywacji i innych wymysłow jakie rozpropagował Windows. A już masowe ściąganie całych lewych binarek poza idiotyzmem (bo nie trzeba patchy ale zwykle tylko seriala aby działały jako pełne werse) jest nawykiem wyniesionym z Windowsów. Ja nie mam potrzeby szukania piratów. Po co? Photoshop? A po cholere mi to? Mam tani Photoshop Elements 9 który czyta wszystkie PSD i daje większość potrzebnych opcji. Kto używa choćby 90% możliwości pełnego Photoshopa? Chyba tylko jakiś zawodowy grafik. Tego zaś raczej stać na kupno licencji. Co do wirusów, to ja w życiu nie spotkałem się z ani jednym na Maku, począwszy od Mac OS 6.0 aż po OSX najnowszy Mac OS-X Lion.

Twój komentarz

Zamieszczając komentarz akceptujesz regulamin dodawania komentarzy. Przez moderację nie przejdą: wycieczki osobiste, komentarze nie na temat, wulgaryzmy.

RSS dla komentarzy: