ios

by Administrator ·2026-07-01 19:11:58 ·1 replies ·3 views
#42
Введение

iOS — это закрытая, строго контролируемая экосистема от Apple. Безопасность iOS строится на аппаратной изоляции, криптографической защите и строгом контроле приложений (App Store). Взлом iOS — это преодоление всех этих барьеров через эксплуатацию уязвимостей ядра, приложений или цепочки поставок. Это сложная, дорогая и быстро развивающаяся область.
1. АРХИТЕКТУРА БЕЗОПАСНОСТИ IOS
1.1. Аппаратная защита (Hardware Security)

Secure Enclave (SEP): Отдельный микроконтроллер для хранения ключей, биометрии (Touch ID/Face ID) и криптографических операций. SEP имеет свою собственную прошивку и не зависит от основного процессора.

AES-движок: Аппаратный ускоритель для шифрования данных на лету.

Device ID (UID): Уникальный ключ, встроенный в процессор, используется для привязки данных к устройству.

1.2. Безопасная загрузка (Secure Boot)

Цепочка доверия начинается с аппаратного Boot ROM.

Подписанный загрузчик (LLB/iBoot) проверяет прошивку и ядро.

iOS загружается только если подпись Apple валидна.

Защита: Невозможно загрузить неподписанное ПО без физического доступа и эксплойта на уровне загрузчика (как checkm8).

1.3. Изоляция и песочница (Sandbox)

Каждое приложение работает в своей песочнице (контейнере). Доступ к файловой системе, устройствам, контактам, местоположению — строго ограничен.

Приложения не могут читать данные друг друга.

Системные службы изолированы друг от друга.

1.4. Процессы с привилегиями (Entitlements)

Для доступа к критическим системным API (например, камера, микрофон, платежи) приложение должно иметь цифровую подпись (entitlement), выданную Apple.

1.5. Криптографическая защита

Все данные на диске зашифрованы (FileVault на уровне файловой системы).

Ключи привязаны к аппаратному UID и паролю пользователя.

Без пароля доступ к данным на диске невозможен.

2. ЭКСПЛУАТАЦИЯ: ВЕКТОРЫ АТАК
2.1. Уязвимости ядра (Kernel Exploits)

Цель: Получение привилегий уровня ядра (Ring 0) для отключения защиты (KPP/KTRR).

Примеры: Идентификаторы уязвимостей (например, CVE-2022-32883, CVE-2023-23520) позволяют выполнять произвольный код в ядре.

Эксплуатация: Как правило, цепочка из нескольких уязвимостей (разрешение адресов, переполнение буфера, UAF) для получения контроль над ядром.

2.2. Дональд (Jailbreak) — Основной метод

Джейлбрейк — это процесс, позволяющий выйти за пределы песочницы и получить полный доступ к системе. Он достигается через эксплуатацию уязвимостей ядра и подписи кода.

Типы джейлбрейков:

Tethered: Требует подключения к компьютеру для загрузки.

Semi-tethered: Требует перезагрузки с помощью компьютера.

Untethered: Полностью автономный, работает после перезагрузки.

Semi-untethered: При перезагрузке джейлбрейк отключается, но восстанавливается через приложение.

Инструменты для джейлбрейка:

checkra1n (на основе checkm8): Аппаратная уязвимость на уровне BootROM. Неподписываемая. Работает на чипах A5–A11.

unc0ver: Поддерживает устройства с чипами до A14.

Taurine: Для iOS 14.

palera1n: Для iOS 15–16 на старых чипах.

Fugu, Dopamine: Для iOS 15–16 на новых чипах.

2.3. Атака на цепочку подписей (Code Signing Bypass)

Подпись кода (Code Signing) проверяет, что приложение не было модифицировано. Взлом защиты подписи позволяет запускать модифицированные приложения или код.

CVE-2021-30761 (симлинк) — пример обхода проверки подписи через символические ссылки.

2.4. Атака на приложения (Application Layer)

Динамическое инструментирование (Frida): Внедрение JavaScript-кода в работающее приложение для анализа, модификации и взлома API-вызовов.

Руткит на уровне приложения: Внедрение в процесс для обхода проверок лицензий, кражи данных.

2.5. Атака на сети и цепочку поставок

MiTM на SSL/TLS: При использовании общественных сетей (без проверки сертификата).

Атака на уязвимости в библиотеках: Эксплуатация уязвимых зависимостей.

Атака на Xcode и CI/CD: Сборка с вредоносными зависимостями.

2.6. Атака на Sandbox

Использование уязвимостей в системных сервисах, которые работают с правами вне песочницы, для получения доступа к данным других приложений.

3. ПОСТ-ЭКСПЛУАТАЦИЯ (ПОСЛЕ ПОЛУЧЕНИЯ ДОСТУПА)
3.1. Установка Cydia / Sileo / Zebra

Пакетные менеджеры для установки неофициальных приложений и твиков.
3.2. Твики (Tweaks)

Модификации системы, которые позволяют:

Изменять внешний вид (темы, иконки).

Включать скрытые функции (например, кнопку для записи экрана).

Отключать системные ограничения.

Перехватывать системные события (например, клавиатуру, буфер обмена).

3.3. Извлечение данных

Доступ к файловой системе: /var/mobile, /var/root.

Извлечение базы данных и кэшей приложений.

Извлечение ключей Apple ID, паролей Wi-Fi (через /etc/wifi).

3.4. Обход защиты приложений (Anti-Jailbreak)

Многие приложения (банки, игры) имеют защиту от джейлбрейка. После взлома необходимо её обойти (через твики вроде Liberty, A-Bypass, Shadow).

4. ИНСТРУМЕНТАРИЙ IOS-ХАКЕРА (СПИСОК)
Инструмент Назначение
Frida Динамическое инструментирование приложений
objection Обёртка над Frida для анализа iOS/Android
Cycript Интерактивная среда для анализа приложений (устаревший)
Hopper / IDA Pro / Ghidra Дизассемблирование и анализ исполняемых файлов iOS
lldb Отладчик для iOS (используется с Xcode или через ssh)
GDB Устаревший, но используется на старых версиях
ios-deploy Установка IPA-файлов на устройство без App Store
AppSync Unified Твик для установки неподписанных IPA-файлов
Crackulous Инструмент для взлома и извлечения файлов из установленных приложений
Flex Создание простых твиков для модификации приложений
Theos Среда разработки твиков (Objective-C, Logos)
5. ЗАЩИТА ОТ ВЗЛОМА IOS (ОТРАЖЕНИЕ АТАК)
Защита Описание
Наличие системного обновления Apple быстро закрывает джейлбрейк-уязвимости в новых версиях
Jailbreak Detection Проверка наличия аномалий (файлы Cydia, права на запись в /
App Signing Приложения подписываются приватным ключом Apple
Sandbox Минимизация доступа приложений к данным других приложений
Secure Boot Chain Непозволяет загрузить неподписанную систему
iOS Security Guide Полный документ Apple по защите iOS
6. ПРОБЛЕМЫ И ОГРАНИЧЕНИЯ
6.1. Аппаратные уязвимости (checkm8)

Неустранимые уязвимости на уровне BootROM. При этом джейлбрейк на их основе не работает на устройствах с A12 и новее (из-за дополнительной защиты SEP).

6.2. Обновление iOS

При выходе новой версии (с исправлениями) старые уязвимости закрываются. Поэтому джейлбрейк обычно доступен только на старых версиях iOS.

6.3. Ограничения производительности

Иногда джейлбрейк может влиять на стабильность системы (крахи).

6.4. Ограничения безопасности

После джейлбрейка защита устройства ослаблена (любое приложение может получить доступ к системе).

7. ВЫВОДЫ

iOS Hacking — это процесс противодействия целому стеку аппаратной и программной защиты. Успех атаки зависит от:

Наличия уязвимости в ядре или загрузчике (0-day или checkm8).

Возможности её эксплуатации (сборка цепочки из нескольких уязвимостей).

Возможности сохранить доступ (джейлбрейк или бэкдор).

Основной путь для взлома — джейлбрейк, реализуемый через уязвимости ядра и подписи кода. Инструменты вроде Frida и objection позволяют динамически анализировать приложения без физического доступа к устройству.

Эволюция защиты: Apple активно закрывает уязвимости, внедряет новые механизмы защиты (KTRR, PAC, Pointer Authentication). Взлом iOS становится всё сложнее, и полные джейлбрейки становятся редкими.

Вывод для пентестера: iOS — это сложная цель для взлома. Основные векторы — это эксплуатация уязвимостей в приложениях (через Frida) и использование старых устройств с checkm8. Для современных устройств необходимо искать и эксплуатировать 0-day.

Login to reply.