Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
ios-gamed-0day — Exploit de jeu iOS (corrigé dans 15.0.2) | Kitploit
Outils/GitHubGitHub/illusionofchaos/ios-gamed-0day
Escalade de PrivilègesSécurité iOSAnalyse des VulnérabilitésExploitationCollecte d'InformationsSécurité Mobile
GitHubillusionofchaos/ios-gamed-0day

ios-gamed-0day

Exploit de jeu iOS (corrigé dans 15.0.2)

Voir le dépôt
436814il y a 4 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Site web

Exploit iOS gamed (corrigé dans 15.0.2)

Mise à jour : Apple a discrètement corrigé ce problème dans iOS 15.0.2 sans aucune reconnaissance publique ni crédit.

Toute application installée depuis l'App Store peut accéder aux données suivantes sans aucune invite de l'utilisateur :

  • L'adresse e-mail de l'Apple ID et le nom complet qui lui est associé
  • Le jeton d'authentification de l'Apple ID qui permet d'accéder à au moins un des points de terminaison sur *.apple.com au nom de l'utilisateur
  • Accès complet en lecture au système de fichiers de la base de données Core Duet (contient une liste de contacts issus de Mail, SMS, iMessage, applications de messagerie tierces et des métadonnées sur toutes les interactions de l'utilisateur avec ces contacts (y compris horodatages et statistiques), ainsi que certaines pièces jointes (comme des URL et des textes))
  • Accès complet en lecture au système de fichiers de la base de données de numérotation abrégée et à la base de données du carnet d'adresses, y compris les photos de contacts et d'autres métadonnées comme les dates de création et de modification (je viens de vérifier sur iOS 15 et celle-ci est inaccessible, elle a donc dû être discrètement corrigée)

Voici une courte preuve de 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
	}
}

Comment cela se produit :

  • Le service XPC com.apple.gamed ne vérifie pas correctement l'entitlement com.apple.developer.game-center
  • Même si Game Center est désactivé sur l'appareil, l'appel de getServicesForPID:localPlayer:reply: renvoie plusieurs objets proxy XPC (GKAccountService, GKFriendService, GKUtilityService, etc.).
  • Si Game Center est activé sur l'appareil (même s'il n'est pas activé pour l'application dans App Store Connect et que l'application ne contient pas l'entitlement com.apple.developer.game-center), l'appel de authenticatePlayerWithExistingCredentialsWithHandler: sur GKAccountService renvoie un objet contenant l'Apple ID de l'utilisateur, le DSID et le jeton d'authentification Game Center (qui permet d'envoyer des requêtes à https://gc.apple.com au nom de l'utilisateur). L'appel de getProfilesForPlayerIDs:handler: sur GKProfileService renvoie un objet contenant le prénom et le nom de l'Apple ID de l'utilisateur. L'appel de sur renvoie un objet avec des informations sur l'ami de l'utilisateur dans Game Center.

Sur la page du programme Apple Security Bounty, cette vulnérabilité est évaluée à 100 000 $ (accès étendu de l'application à des données sensibles normalement protégées par une invite TCC ou le sandbox de la plateforme. L'accès aux « données sensibles » inclut l'obtention d'un accès étendu (c'est-à-dire la base de données complète) aux Contacts).

Télécharger l’outil
getFriendsForPlayer:handler:
GKFriendService
  • Même si Game Center est désactivé, qu'il n'est pas activé pour l'application dans App Store Connect et que l'application ne contient pas l'entitlement com.apple.developer.game-center, l'appel de requestImageDataForURL:subdirectory:fileName:handler: sur GKUtilityService permet de lire des fichiers arbitraires en dehors du sandbox de l'application en transmettant des URL de fichiers à cette méthode. Parmi les fichiers (sans s'y limiter) auxquels il est possible d'accéder de cette façon figurent : /var/containers/Shared/SystemGroup/systemgroup.com.apple.mobilegestaltcache/Library/Caches/com.apple.MobileGestalt.plist - contient le cache mobile gestalt /var/mobile/Library/CoreDuet/People/interactionC.db - contient une liste de contacts issus de Mail, SMS, iMessage, d'applications de messagerie tierces et des métadonnées sur l'interaction de l'utilisateur avec ces contacts (y compris horodatages et statistiques) /var/mobile/Library/Preferences/com.apple.mobilephone.speeddial.plist - contient les contacts favoris et leurs numéros de téléphone /var/mobile/Library/AddressBook/AddressBook.sqlitedb - contient la base de données complète du carnet d'adresses /var/mobile/Library/AddressBook/AddressBookImages.sqlitedb - contient les photos des contacts du carnet d'adresses
  • L'appel de cacheImageData:inSubdirectory:withFileName:handler: sur GKUtilityService pourrait permettre d'écrire des données arbitraires vers un emplacement en dehors du sandbox de l'application.