
itunesstored & bookassetd: побег из sbx-песочницы
Этот репозиторий содержит доказательство концепции, демонстрирующее, как специально созданные базы данных downloads.28.sqlitedb и BLDatabaseManager.sqlite позволяют обойти песочницу itunesstored и bookassetd на iOS. Злоупотребляя их механизмами загрузки, POC позволяет записывать произвольные файлы, принадлежащие пользователю mobile, в ограниченные расположения внутри /private/var/, включая файлы кэша MobileGestalt—что позволяет вносить изменения в устройство, например подделывать тип устройства.
BLDatabaseManager.sqlite в доступный для записи контейнер./private/var/containers/Shared/SystemGroup/.../Library/Caches//private/var/mobile/Library/FairPlay//private/var/mobile/Media/com.apple.MobileGestalt.plist для подтверждения успешной эксплуатации.iOS не блокирует специально созданные задачи загрузки, что позволяет выполнять несанкционированную запись файлов, если только целевой путь не требует прав root (или владелец файла не является mobile).
Подробнее см. в блоге
Этот проект предназначен только для образовательных целей.
Не используйте его для незаконных действий.
Apple может устранить это поведение в любой момент.