
Попытка украсть учетные данные ядра из launchd + указатель task_t (Основано на: CVE-2017-7047)
Попытка украсть учетные данные ядра из launchd через указатель task_t (Основано на: CVE-2017-7047)
Triple Fetch — это эксплойт для устройств iOS до версии 10.3.3 Он использует логическую ошибку в libxpc, которая позволяет злоумышленникам отправлять вредоносные сообщения с объектами xpc_data, основанными на разделяемой памяти.
Оригинальный эксплойт нацелен на низкоуровневый демон iOS, использующий NSXPC. CoreAuthenticationd. Эксплойт патчит AMFID для выполнения произвольного кода, а также получает send_right для launchd, что позволяет выполнить task_for_pid 1. Это даёт нам полные права над самым низкоуровневым демоном системы — launchd.
Поскольку эксплойт уже содержит пример под названием hello_world для использования задачи launchd с целью дампа памяти launchd с областями памяти (чтение/запись/исполнение). Не составит труда сделать следующее:
Поскольку эксплойт работает напрямую из пользовательского пространства и получает root без патча ядра, он отлично подходит для целей джейлбрейка. Однако, так как баг является состоянием гонки, которое, похоже, редко срабатывает правильно, пользователям придётся много раз перезагружаться и повторять попытку, прежде чем джейлбрейк снова сработает.
Вы всегда можете создать pull request, если хотите внести код в репозиторий. Мы добавим файл с большим количеством смещений, необходимых для будущих патчей ядра. Мы будем работать над кодом, помогающим украсть учетные данные ядра launchd.
Используя VoIP API от Apple, мы попытаемся заставить эксплойт автоматически запускаться в фоне после каждой перезагрузки. В приложение будет добавлен хороший набор настроек, чтобы вы могли установить bootNonce из приложения «Настройки» для будущего понижения версии. Будет добавлен переключатель для отключения и включения OTA-обновлений. Будет добавлен код для автоматического сохранения SHSH2-blobs с помощью cron-задач. Я приложу все усилия, чтобы интегрировать Tor в джейлбрейк с возможностью включения из Настроек, потому что каждый имеет право на приватность. Добавлен блокировщик контента просто для удовольствия, чтобы избавиться от надоедливой рекламы в Safari.