Ето как работи evasi0n Jailbreak Jailbreak

Екипът на evad3rs пусна evasi0n близо до седмица назад. Сега, след като всички бяхме прекъснали нашите iOS устройства и инсталирахме най-добрите ощипвания, нека да разгледаме как работи невероятно простото отвън, но въпреки това невероятно сложно от вътрешната страна на джейлбрейка на evasi0n.

Тъй като Apple засилва сигурността в iOS, хакерите вече не могат просто да намерят единичен експлоатация, както предишните дни и да го използват, за да получат root достъп до устройство. evasi0n е комбинация от пет различни бъгове, повечето от които са безобидни поотделно, но заедно с това достатъчно способни да пропукат отворени iOS.

evasi0n започва с експлоатация в iTunes резервна система, наречена демон MobileBackup. Това прави, като стартира “libmobiledevice” програма на вашия компютър / Mac, която комуникира с iOS устройства, използвайки протокола iTunes.

evasi0n възстановява резервно копие, което съдържа няколко файла, необходими за джейлбрейка. Тъй като MobileBackup не може да съхранява файлове извън /var/Mobile/Media, evasi0n работи около това, като създава „symlink“ или пряк път в /var/Mobile/Media име .haxx, който сочи към /var/Media . MobileBackup вече може да записва файлове в /var/mobile чрез. Копираните файлове заедно формират приложението, за което ви казват да стартира в средата на процеса на джейлбрейк.

Използвайки трика на символната връзка, evasi0n също получава достъп до файл с часова зона, който отново се свързва, за да сочи към стартиране, демон, който управлява процеси с привилегии „root“. Достъпът до стартиране вече се използва и файлът на часовата зона е достъпен за всички потребители (не само за root) чрез промяна на неговите разрешения. Подобен трик се използва, за да направи сокет, който обработва комуникации между стартирани и други процеси, достъпни за мобилни потребители, под които се изпълняват всички приложения на iOS.

Сега на потребителя се казва да стартира приложението, което е било копирано във файловата система iOS в по-ранна стъпка. Това приложение, използвайки разкрития гнездо за стартиране, прави системния дял само за четене.

Сега, когато системният дял е станал за запис, evasi0n отново пуска MobileBackup и записва куп файлове, един от които е startd.conf, който съдържа куп команди, съставляващи експлоатацията. Този файл се стартира при стартиране всеки път, като по този начин прави джейлбрейка устойчив.

Една от командите в launchd.conf е отговорна за избягването на проверка на подписването на AppleMobileFileIntegrity, като зареди динамична библиотека, която замества вградената функция за проверка с тази, която винаги връща true.

evasi0n също има още едно препятствие пред него - Randomisation Layout Layout Randomisation или ASLR, което въвежда случайност в адресите на флаш паметта, което затруднява прогнозирането. Все пак все още има местоположение на ARM чипове, което е лесно да се локализира и с помощта на този evasi0n може да се картографира цялата памет. Оттук evasi0n, използвайки грешка в USB интерфейса на iOS, най-накрая влиза в ядрото на устройството, където се отваря всичко.

Via: Forbes, Acuvant Labs



Популярни Публикации