Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
POC-CVE-2025-24104-Py — Proof-of-concept Python скрипт, демонстрирующий эксфильтрацию файлов iOS через вредоносную симлинку при восстановлении резервной копии устройства, нацеленный на сервис com.apple.mobile.MCInstall для произвольного чтения файлов. | Kitploit
Инструменты/GitHubGitHub/missaels235/poc-cve-2025-24104-py
Безопасность iOSАнализ уязвимостейЭксплуатацияЭксфильтрация данныхМобильная безопасностьСтатьи и ИсследованияОбучение и Образование
GitHubmissaels235/poc-cve-2025-24104-py

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →

POC-CVE-2025-24104-Py

Proof-of-concept Python скрипт, демонстрирующий эксфильтрацию файлов iOS через вредоносную симлинку при восстановлении резервной копии устройства, нацеленный на сервис com.apple.mobile.MCInstall для произвольного чтения файлов.

Репозиторий
3141 год назадЕщё не проверено
Поделиться

PoC: Экфильтрация файлов в iOS через манипуляцию резервной копией

ОЧЕНЬ ВАЖНОЕ ПРЕДУПРЕЖДЕНИЕ: ЭТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ЯВЛЯЕТСЯ ПРОВЕРКОЙ КОНЦЕПЦИИ (PoC) ТОЛЬКО ДЛЯ ОБРАЗОВАТЕЛЬНЫХ ЦЕЛЕЙ И ИССЛЕДОВАНИЙ В ОБЛАСТИ БЕЗОПАСНОСТИ.

  • НЕ ИСПОЛЬЗУЙТЕ этот скрипт на устройствах, на которые у вас нет явного письменного согласия владельца. Несанкционированный доступ к компьютерным системам является незаконным в большинстве юрисдикций.
  • Этот скрипт подразумевает ВОССТАНОВЛЕНИЕ устройства iOS из резервной копии, что приведет к ПОЛНОЙ ПОТЕРЕ ТЕКУЩИХ ДАННЫХ на устройстве. Действуйте с крайней осторожностью и только на выделенных тестовых устройствах.
  • Автор/поставщик этого скрипта не несет ответственности за неправильное использование или любой ущерб или потерю данных, вызванные использованием этого программного обеспечения. ИСПОЛЬЗУЙТЕ НА СВОЙ СТРАХ И РИСК.

Общее описание

Этот скрипт на Python демонстрирует уязвимость (гипотетическую или основанную на прошлых уязвимостях, упомянутую здесь для иллюстрации как «до iOS 18.3» согласно исходному PoC), которая позволяет экфильтрацию произвольных файлов с устройства iOS. Метод основан на манипуляции резервной копией устройства, создании вредоносной символьной ссылки (symlink) внутри этой копии, а затем восстановлении этой измененной копии на устройстве. Наконец, взаимодействие с системным сервисом (com.apple.mobile.MCInstall) заставляет его непреднамеренно прочитать файл, на который указывает симлинк.

Этот скрипт был «улучшен» с точки зрения исследователя безопасности, чтобы включать:

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

Объяснение уязвимости (концептуальное)

Эксплуатируемая уязвимость использует следующую цепочку слабостей (присутствующих в старых версиях iOS):

  1. Создание симлинков в резервных копиях: Возможность создать файл резервной копии, в котором ожидаемый системный файл (например, CloudConfigurationDetails.plist) заменяется символьной ссылкой, указывающей на конфиденциальный файл в файловой системе устройства (например, /private/etc/passwd).
  2. Восстановление симлинков: Процесс восстановления iOS в уязвимых версиях восстанавливал эти символьные ссылки на устройстве без соответствующей проверки или очистки.
  3. Чтение привилегированным сервисом: Системный сервис (com.apple.mobile.MCInstall в этом PoC), имеющий разрешения на чтение исходного файла конфигурации (CloudConfigurationDetails.plist), может быть вызван. При попытке прочитать файл операционная система переходит по символьной ссылке и вместо этого читает содержимое конфиденциального файла, на который указывает симлинк.
  4. Экфильтрация данных: Сервис возвращает содержимое прочитанного файла (которым является конфиденциальный файл) клиенту, который его запросил.

Примечание о версии iOS: В исходном PoC упоминается «iOS < 18.3». Эта нумерация нетипична. Apple исправила уязвимости, связанные с обработкой симлинков в резервных копиях и профилях конфигурации, в значительно более ранних версиях iOS (обычно до iOS 15/16 для наиболее прямых векторов этого типа). Эта ссылка на версию сохранена для согласованности с происхождением скрипта, но ее следует понимать как иллюстративную для «неисправленной уязвимой версии».

Характеристики улучшенного скрипта

  • Детальное логирование: Временные метки и четкие сообщения для каждого шага процесса.
  • Аргументы командной строки: Гибкая настройка каталогов, целевого файла, UDID и т.д.
  • Модульность: Возможность пропустить фазы (резервное копирование/восстановление или эксплуатацию) для анализа.
  • Проверка зависимостей: Проверяет наличие idevicebackup2.
  • Информация об устройстве: Пытается получить версию iOS и UDID.
  • Проверка уязвимости (концептуальная): Предупреждает, если обнаруженная версия iOS, вероятно, исправлена.
  • Улучшенная обработка ошибок: Более четкое выявление и сообщение об ошибках.
  • Образовательные комментарии: Подробные объяснения в коде о процессе и мерах смягчения.

Предварительные требования

  • Python 3.7+
  • libimobiledevice: Набор инструментов для взаимодействия с устройствами iOS. В частности, требуется наличие idevicebackup2 в PATH системы.
    • В macOS: brew install libimobiledevice
    • В Linux: sudo apt-get install libimobiledevice-utils (имя пакета может отличаться)
  • Пакеты Python:
    pip install usbmux-python python-lockdown packaging
    

Установка

  1. Клонируйте этот репозиторий:
    git clone <url-del-repositorio>
    cd <nombre-del-directorio>
    
  2. Убедитесь, что libimobiledevice установлен и idevicebackup2 доступен.
  3. Установите зависимости Python:
    pip install -r requirements.txt # (Если вы создадите requirements.txt с usbmux-python, python-lockdown, packaging)
    # или вручную:
    # pip install usbmux-python python-lockdown packaging
    

Использование

./exploit_ios_file_read.py [ОПЦИИ]
Скачать инструмент