Oto jak działa evasi0n Jailbreak

Zespół evad3rs wydał evasi0n prawie tydzień temu. Teraz, gdy wszyscy złamaliśmy jail na naszych urządzeniach z iOS i zainstalowaliśmy najlepsze poprawki, przyjrzyjmy się, jak niesamowicie proste na zewnątrz, a jednocześnie niezwykle skomplikowane w wewnętrznej wersji evasi0n jailbreak.

Ponieważ Apple wzmacnia bezpieczeństwo w systemie iOS, hakerzy nie mogą już po prostu znaleźć pojedynczego exploita, tak jak w poprzednich dniach, i wykorzystać go do uzyskania dostępu root do urządzenia. evasi0n to kombinacja pięciu różnych błędów, z których większość jest nieszkodliwa indywidualnie, ale razem jest w stanie wystarczyć do złamania systemu iOS.

evasi0n zaczyna od wykorzystania w systemie kopii zapasowej iTunes systemu iOS, zwanego demonem „MobileBackup”. Robi to, uruchamiając „libmobiledevice”, program na komputerze PC / Mac, który komunikuje się z urządzeniami iOS za pomocą protokołu iTunes.

evasi0n przywraca kopię zapasową zawierającą kilka plików potrzebnych do jailbreak. Ponieważ MobileBackup nie może przechowywać plików poza /var/Mobile/Media, evasi0n działa w ten sposób, tworząc „dowiązanie symboliczne” lub skrót w /var/Mobile/Media nazwie .haxx, który wskazuje na /var/Media . MobileBackup może teraz zapisywać pliki do /var/mobile przez dowiązanie symboliczne .haxx . Skopiowane pliki łącznie tworzą aplikację, którą uruchomiono w trakcie procesu jailbreak.

Korzystając z trika symbolicznego, evasi0n uzyskuje również dostęp do pliku strefy czasowej, który ponownie jest symlinkowany w celu wskazania uruchomienia, demona, który uruchamia procesy z uprawnieniami „root”. Dostęp do uruchomionej wersji jest teraz wykorzystywany, a plik strefy czasowej jest udostępniany wszystkim użytkownikom (nie tylko rootowi) poprzez zmianę jego uprawnień. Podobną sztuczkę stosuje się, aby gniazdo, które obsługuje komunikację między uruchomionym a innymi procesami, było dostępne dla użytkowników mobilnych, w ramach którego uruchamiane są wszystkie aplikacje na iOS.

Teraz użytkownik jest proszony o uruchomienie aplikacji, która została wcześniej skopiowana do systemu plików iOS. Ta aplikacja, korzystając z odsłoniętego uruchomionego gniazda, umożliwia zapis partycji systemowej tylko do odczytu.

Teraz, gdy partycja systemowa stała się zapisywalna, evasi0n ponownie uruchamia MobileBackup i zapisuje kilka plików, z których jednym jest launchd.conf, który zawiera kilka poleceń stanowiących exploit. Plik ten uruchamia się przy każdym uruchomieniu, dzięki czemu jailbreak jest trwały.

Jedno z poleceń w pliku launchd.conf jest odpowiedzialne za unikanie sprawdzania podpisu kodu kontrolnego AppleMobileFileIntegrity przez załadowanie biblioteki dynamicznej, która zastępuje wbudowaną funkcję sprawdzania tą, która zawsze zwraca true.

evasi0n ma jeszcze przed sobą kolejną blokadę - Randomizacja układu przestrzeni adresowej (ASLR), która wprowadza losowość adresów pamięci flash, co utrudnia przewidywanie. Jednak nadal istnieje lokalizacja na układach ARM, która jest łatwa do zlokalizowania, a użycie tego evasi0n może zmapować całą pamięć. Stąd, evasi0n, wykorzystując błąd w interfejsie USB iOS, w końcu dostaje się do jądra urządzenia, gdzie wszystko się otwiera.

Przez: Forbes, Acuvant Labs



Popularne Wiadomości