Если на айфоне ввести 10 раз неправильный пароль, он блокируется и единственная штатная опция его разблокировки — это восстановление через iTunes с данными из резервной копии. Если резервной копии нет, то остаётся только «восстановить» свежую ОС с потерей всех данных. В поддержке Эппла не могут ничего сделать, даже если вы предоставите убедительные доказательства того, что айфон действительно ваш. Не могут ни извлечь данные, ни сбросить счётчик неверно введённых паролей.
Данные, лежащие в айфоне, зашифрованы и расшифровываются на лету с помощью чипа, в который введён тот самый пароль. Если пароль неизвестен, чип не работает. Эмулятора чипа не существует. Пароль после блокировки уже никак не ввести. Единственное, что айфон разрешает с собой сделать в такой ситуации — восстановление без извлечения данных, см. выше.
Остаётся взлом устройства. Есть различные «программы для взлома», «устройства для взлома» и различные фирмы, оказывающие соответствующие услуги. Эти программы, устройства и услуги (i) дорого стоят и (ii) не дают результата. Хорошая новость заключается в том, что все взломы основаны на одной-единственной уязвимости под названием checkm8, обнаруженной в 2018 г. Она работает для моделей от iPhone 4 до iPhone X. В более поздних моделях, вышедших после обнаружения уязвимости, она была исправлена, и взломать эти модели из заблокированного состояния невозможно.
Итак, инструкции по разблокировке и подбору пароля для iPhone 5 (A1429) с iOS 10.3.4. Для других моделей могут быть отличия.
Подготовка:
- Требуется компьютер с MacOS (в данном случае MacBookPro A1989 с MacOS Ventura 13.1). Программы для линукса не сработали.
- Скачать пакет программ для создания RAM-диска авторства Orangera1n (ссылка, в названии указана iOS 9, но для 10 он тоже подходит). Известный аналог авторства meowcat не сработал.
- Выполнить команду
brew install usbmuxd
(для программы iproxy). - Установить программу для копирования файлов по SSH, например FileZilla.
Взлом:
Подключить айфон к компьютеру по шнуру Lightning — USB Type A (через адаптер, потому что порта Type A на макбуке нет). Подключение по шнуру Lightning — Type С не позволит войти в режим DFU, см. ниже.
Выключить айфон обычным способом.
Ввести айфон в режим DFU (Device Firmware Update). Это делается следующим образом: зажать верхнюю кнопку на 3 секунды, затем, не отпуская эту кнопку, нажать на кнопку «Домой» и держать обе кнопки нажатыми 10 секунд, затем отпустить верхнюю кнопку, но продолжать держать кнопку «Home» ещё 10 секунд, затем отпустить. Делать лучше по таймеру, не отсчитывая время в уме. Ошибка на полсекунды приведёт к тому, что DFU не включится. Если включится белый экран с яблоком — значит, произошла обычная загрузка, нужно дождаться её окончания и повторить. Если появится картинка со шнуром и адресом support.apple.com — значить, включился режим восстановления (Recovery mode), из которого нужно выйти, зажав одновременно верхнюю кнопку и «Home» на 15 секунд. В режиме DFU экран полностью чёрный.
Отключить айфон от компьютера и подключить заново, но уже по шнуру Lightning — USB Type С. (Последующие команды не сработали с подключением по Type A.)
- В терминале выполнить следующие команды:
cd [путь к Orangera1n]/Exploit
./iPwnder32 -p
Если программа не обнаружит DFU — выйти из DFU (одновременно удерживая верхнюю кнопку и «Home») и войти заново, вернувшись к п. 2. Это потребуется не больше 1 раза — в первый раз MacOS как-то реагирует на DFU и, видимо, мешает работать программе взлома.
- Выполнить в терминале команду
./irecovery -f [путь к Orangera1n]/Loaders/iPhone5/iBEC
- Запустить в терминале программу
./irecovery2 -s
Внутри этой программы ввести следующие команды:
/send [путь к Orangera1n]/Loaders/iPhone5/devicetree
devicetree
/send [путь к Orangera1n]/Loaders/iPhone5/ramdisk
ramdisk
/send [путь к Orangera1n]/Loaders/iPhone5/kernelcache
bootx
после чего айфон загрузится и покажет на экране «Welcome to iOS 9 SSH Ramdisk».
- Запустить в терминале
iproxy 2222 22
- Оставить этот терминал и открыть другой, в нём ввести
ssh root@localhost -p 2222
ввести пароль alpine, после чего откроется командная строка загруженной на RAM-диск ОС, в которой нужно выполнить
mount.sh
Открыть FileZilla и соединиться с localhost по порту 2222, логин root, пароль alpine. Скачать с устройства файл
/var/mobile/Library/Preferences/com.apple.springboard.plist
.Открыть терминал, перейти в директорию со скачанным файлом и выполнить преобразование файла в формат XML:
plutil -convert xml1 com.apple.springboard.plist
Открыть файл в текстовом редакторе, удалить из него ключ
SBDeviceLockBlockTimeIntervalSinceReferenceDate
(обратить внимание, что каждый ключ в файле занимает две строки), значение по ключуSBDeviceLockBlocked
выставить вfalse
, а значение по ключуSBDeviceLockFailedAttempts
выставить в −9999.Выполнить обратное преобразование файла в двоичный формат:
plutil -convert binary1 com.apple.springboard.plist
С помощью FileZilla передать файл обратно на устройство в ту директорию, из которой он был взят, т. е. перезаписать файл.
Повторить шаги 10-14 для файла
/var/mobile/Library/SpringBoard/LockoutStateJournal.plist
.Теперь счётчик неверно введённых паролей сброшен и ограничение на 10 попыток снято. Если вы помните пароль или можете подобрать его вручную за разумное время — перезагружайте айфон (долгое одновременное нажатие верхней кнопки и «Home») и дерзайте. Если пароль неизвестен, не перезагружайте айфон и переходите к следующему пункту.
Скачайте программу
bruteforce
отсюда (прямая ссылка) и с помощью FileZilla поместите её на устройство в директорию/mnt/tmp2
. Там же в FileZilla измените права на файл, разрешив выполнение. (Этого не сделать в ОС на RAM-диске в связи с отсутствием программыchmod
.)Вернитесь в терминал, где делали
ssh root@localhost -p 2222
(или выполните заново, если закрыли) и запустите/mnt/tmp2/bruteforce
Программа перебирает пароли со скоростью около 1 попытки в 5 секунд; таким образом, потребуется не больше 14 часов для определения верного пароля. Существует быстрый режим (
bruteforce -u
), но для его работы требуется патченое ядро (ссылка), затраты на формирование которого (по сравнению с простым ожиданием) вряд ли оправданы.- Программа
bruteforce
завершается, найдя верный пароль; перезагружайте айфон (долгое одновременное нажатие верхней кнопки и «Home») и пользуйтесь. Никаких следов взлома, кроме вышеупомянутого сброса счётчика неправильно введённых паролей, на устройстве не останется.