
Экстрактор артефактов журналов уязвимости Airborne в iOS из LogArchive CVE-2025-24252
Этот скрипт предназначен для помощи в выявлении потенциальных следов набора уязвимостей "Airborne" (в первую очередь затрагивающих протокол AirPlay от Apple) путем анализа системных журналов iOS из пакета .logarchive. Он автоматизирует выполнение нескольких команд log show, настроенных на поиск аномалий, которые могут быть связаны с этими уязвимостями.
Отказ от ответственности: Этот инструмент предназначен только для информационных и исследовательских целей. Наличие записей журнала, соответствующих этим запросам, не является окончательным подтверждением компрометации. Записи журнала должны анализироваться в контексте. Отсутствие результатов не гарантирует безопасность устройства. Всегда убеждайтесь, что ваши устройства обновлены до последних версий ОС.
Этот скрипт разработан Антоном Шустиковым ([email protected], сейчас — генеральный директор CakesCats) в рамках проекта CakesCats.
CakesCats — это инициатива, направленная на:
Антон Шустиков — консультант по информационной безопасности и финтеху с большим опытом создания систем безопасности. Он является основателем некоммерческого образовательного проекта CakesCats и публикует статьи в таких изданиях, как Forbes и журнал «Хакер». Его работа часто связана с исследованием цифровых угроз и продвижением цифровой гигиены.
"Airborne" — это название, данное набору уязвимостей (обнаруженных Oligo Security в ходе их оригинального исследования), затрагивающих протокол AirPlay от Apple и комплект разработки программного обеспечения (SDK) AirPlay. Эти уязвимости могут затронуть широкий спектр устройств Apple (iPhone, iPad, Mac, Apple TV и т.д.), а также сторонние устройства, использующие AirPlay SDK (например, умные колонки, ресиверы).
Ключевые аспекты уязвимостей типа "Airborne":
rapportd, который отвечает за связь между устройствами.Этот скрипт выполняет серию команд log show, используя тщательно составленные предикаты. Эти предикаты предназначены для фильтрации огромного объема информации в системных журналах iOS с целью выявления потенциальных индикаторов компрометации или аномальной активности, которая может быть связана с уязвимостями типа "Airborne".
Скрипт ищет:
mediaserverd, AirPlayXPCHelper, rapportd, mDNSResponder).Результат каждого запроса сохраняется в отдельный текстовый файл с описательным именем в каталоге результатов с отметкой времени, что позволяет проводить целенаправленный анализ различных типов потенциальных артефактов.
log show и этот скрипт предназначены для запуска на macOS..logarchive): Вам понадобится архив системных журналов iOS (пакет, который технически является каталогом) с устройства, которое вы собираетесь анализировать. Обычно его можно получить через:
sysdiagnose: Запустите sysdiagnose на iPhone (обычно одновременным нажатием кнопок увеличения громкости + уменьшения громкости + боковой кнопки, но комбинации могут различаться в зависимости от модели и версии iOS). После того как sysdiagnose будет создан (это может занять несколько минут), его можно отправить через AirDrop на Mac или получить при синхронизации iPhone с Mac (часто находится в Finder в месте синхронизации iPhone внутри файла .tar.gz). .logarchive будет находиться в извлеченном содержимом sysdiagnose.bash.Сохраните скрипт:
Сохраните код скрипта (приведенный выше) как airborne_artifact_extractor.sh (или под любым другим именем с расширением .sh).
Сделайте его исполняемым: Откройте приложение Terminal, перейдите в каталог, где вы сохранили скрипт, и выполните следующую команду:
chmod +x airborne_artifact_extractor.sh
Проверьте атрибут карантина macOS (важно для загруженных скриптов): Если вы загрузили этот скрипт из интернета, macOS может поместить его в карантин, что может помешать его корректной работе или запуску вообще.
xattr airborne_artifact_extractor.sh
com.apple.quarantine, удалите этот атрибут, выполнив:
xattr -d com.apple.quarantine airborne_artifact_extractor.sh
Если у вас по-прежнему возникают проблемы с запуском скрипта, особенно если он находится в таком каталоге, как ~/Downloads, убедитесь, что ваше приложение Terminal имеет необходимые разрешения (например, "Полный доступ к диску" в System Settings -> Privacy & Security) для доступа к расположению скрипта и архиву журналов.
^M (например, /bin/bash^M: bad interpreter: No such file or directory)