Ось як працює в'язниця evasi0n

Команда evad3rs випустила evasi0n близько тижня тому. Тепер, коли ми всі розбиті на нашому пристрої iOS і встановили найкращі налаштування, давайте подивимося, як неймовірно просто зовні, але все ще неймовірно складно з внутрішньої частини джейлбрейка evasi0n.

Оскільки Apple посилює безпеку в iOS, хакери вже не можуть просто знайти єдиний подвиг, як попередні дні, і використовувати його для отримання кореневого доступу до пристрою. evasi0n - це комбінація з п'яти різних помилок, більшість з яких нешкідливі окремо, але разом здатні зламати відкриті iOS.

evasi0n починається з використання в резервній системі iTunes iOS під назвою "MobileBackup" демон. Це робиться за допомогою запуску програми «libmobiledevice» на вашому ПК / Mac, яка спілкується з пристроями iOS за допомогою протоколу iTunes.

evasi0n відновлює резервну копію, яка містить кілька файлів, необхідних для джейлбрейка. Оскільки MobileBackup не може зберігати файли за межами /var/Mobile/Media, evasi0n працює навколо цього, створюючи "symlink" або ярлик у /var/Mobile/Media ім'ям .haxx, який вказує на /var/Media . MobileBackup тепер може записувати файли в /var/mobile через посилання .haxx . Скопійовані файли спільно утворюють додаток, який вам наказали запустити в середині процесу джейлбрейка.

Використовуючи трюк symlink, evasi0n також отримує доступ до файлу часового поясу, який знову посилається на точку запуску, демон, який запускає процеси з привілеями "root". Зараз доступ до запуску використовується, а файл часового поясу стає доступним для всіх користувачів (не тільки root), змінюючи його дозволи. Аналогічний трюк застосовується, щоб зробити сокет, який обробляє комунікації між запущеними та іншими процесами, доступними для мобільних користувачів, під якими запускаються всі програми на iOS.

Тепер користувачеві пропонується запустити додаток, який було скопійовано у файлову систему iOS на попередньому кроці. Цей додаток, використовуючи відкритий сокет запуску, робить доступним для читання системний розділ.

Тепер, коли системний розділ став доступним для запису, evasi0n знову запускає MobileBackup і записує купу файлів, один з яких - startd.conf, який містить купу команд, що становлять експлуатацію. Цей файл працює під час завантаження щоразу, завдяки чому джейлбрейк залишається стійким.

Одна з команд в startd.conf відповідає за ухилення від перевірки підпису перевірки AppleMobileFileIntegrity, завантажуючи динамічну бібліотеку, яка замінює вбудовану функцію перевірки на ту, яка завжди повертає true.

evasi0n також має ще одне блокпост перед ним - Рандомізація простору адрес, або ASLR, що вводить випадковість у адреси флеш-пам'яті, що ускладнює передбачення. Однак на чіпах ARM все ще є місце, яке легко знайти, і за допомогою цього evasi0n можна зіставити всю пам'ять. Звідси evasi0n, використовуючи помилку в USB-інтерфейсі iOS, нарешті потрапляє в ядро ​​пристрою, де все відкривається.

Via: Forbes, Acuvant Labs



Популярні Пости