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

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

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 для произвольного чтения файлов.

Репозиторий
31 год назадЕщё не проверено

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:
    root@kitploit:~
    pip install usbmux-python python-lockdown packaging
    

Установка

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

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

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