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
AppEnumGuard — CVE-2025-31207 mitigazione e tester in sandbox per jailbreak rootless e rootHide su iOS 15–18.4.1. | Kitploit
Strumenti/GitHubGitHub/kolbicz/appenumguard
Strumenti DifensiviSicurezza iOSAnalisi delle VulnerabilitàSicurezza MobilePrivacy
GitHubkolbicz/appenumguard

AppEnumGuard

CVE-2025-31207 mitigazione e tester in sandbox per jailbreak rootless e rootHide su iOS 15–18.4.1.

Vedi Repository
521810 giorni faNon ancora revisionato

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

AppEnumGuard

AppEnumGuard è una modifica difensiva per il canale laterale di enumerazione delle applicazioni installate, tracciato come CVE-2025-31207. Supporta ambienti jailbreak convenzionali rootless e rootHide su iOS 15.0–18.4.1. Il repository contiene anche una normale applicazione di test iOS in sandbox che dimostra il risultato vulnerabile e verifica la mitigazione.

CVE-2025-31207

CVE-2025-31207 è una vulnerabilità di divulgazione di informazioni nella logica di avvio delle applicazioni FrontBoard di Apple. Un'applicazione in sandbox può inviare identificatori di bundle arbitrari tramite una funzione privata di avvio SpringBoardServices e distinguere le applicazioni installate da quelle mancanti utilizzando codici di ritorno diversi. Questo può rivelare informazioni private sulle applicazioni installate da un utente, incluse app bancarie, di messaggistica, di sicurezza, di sideloading e legate al jailbreak.

Apple descrive il problema come un difetto logico che potrebbe consentire a un'applicazione di enumerare le app installate. Apple lo ha corretto con controlli migliorati in iOS e iPadOS 18.5. Di conseguenza, i sistemi precedenti a iOS 18.5 rimangono vulnerabili a livello di sistema operativo.

Compatibilità

ComponenteTarget supportato
iOS15.0–18.4.1
JailbreakQualsiasi ambiente jailbreak convenzionale rootless o rootHide
Architettura bootstrap/pacchettirootless / iphoneos-arm64; rootHide / iphoneos-arm64e
Architettura dispositivoarm64 e arm64e (rootless); arm64e (rootHide)
PacchettoInstallare il pacchetto corrispondente al bootstrap del dispositivo

La build predefinita utilizza Theos convenzionale rootless e include slice arm64 e arm64e. La variante rootHide è compilata con rootHide Theos e contiene i percorsi di loader .jbroot richiesti per rootHide. Entrambi i pacchetti dichiarano firmware (>= 15.0) e firmware (<< 18.5): la mitigazione non è necessaria su iOS 18.5 e versioni successive, dove Apple ha corretto CVE-2025-31207.

La modifica v1.1 lato SpringBoard e il tester in sandbox sono stati verificati insieme su iOS 17.3.1 build 21D61 con l'iniezione disabilitata per il tester. Il tester ha rilevato la perdita con la modifica rimossa e ha restituito un esito verde dopo l'installazione della modifica.

Come funziona

La primitiva pubblicata chiama la funzione privata SpringBoardServices SBSLaunchApplicationWithIdentifierAndURLAndLaunchOptions. Su un sistema vulnerabile restituisce errori diversi per un'applicazione installata e una mancante:

  • 9: il target esiste, ma l'avvio è negato dalla policy
  • 7: il target non esiste

AppEnumGuard 1.1 si inietta solo in SpringBoard e aggancia il metodo comune di validazione della fiducia FBSystemService. Quando una richiesta di avvio non autorizzata restituirebbe l'errore 3 della policy di sicurezza FBSOpenApplicationErrorDomain, la modifica lo cambia nell'errore 4 di applicazione non trovata. L'API esterna SpringBoardServices restituisce quindi 7 sia per i target installati che per quelli mancanti.

Il numero di argomenti del metodo privato e la codifica del tipo Objective-C vengono validati prima dell'installazione dell'hook. Se Apple modifica l'ABI, AppEnumGuard fallisce in modalità aperta invece di agganciare un metodo SpringBoard sconosciuto.

Modifica rispetto alla 1.0

La versione 1.0 agganciava SpringBoardServices all'interno di ogni applicazione UIKit. Funzionava, ma richiedeva l'iniezione in ogni app protetta; un'app che disabilitava o rilevava l'iniezione poteva bypassare la mitigazione. La versione 1.1 sposta l'applicazione a SpringBoard, quindi un singolo hook centrale protegge i chiamanti senza iniettare AppEnumGuard nei loro processi.

Download delle release

La release 1.2 può essere compilata per entrambi i bootstrap:

  • AppEnumGuard_1.2_rootless_iphoneos-arm64.deb — modifica convenzionale rootless
  • AppEnumGuard_1.2_roothide_iphoneos-arm64e.deb — modifica rootHide
  • AppEnumGuardTester_1.2_sandboxed.ipa — app di verifica in sandbox con icona

Installazione e verifica

  1. Installare il .deb corrispondente al bootstrap rootless o rootHide e fare respring.
  2. Installare l'IPA del tester utilizzando una firma di sviluppo/sideloading normale.
  3. Lasciare l'iniezione di AppEnumGuard disabilitata per AppEnum Test; la v1.1 lo protegge da SpringBoard.
  4. Toccare l'icona di WhatsApp, YouTube o Spotify per un'app che si sa essere installata.

Risultati attesi con il target selezionato installato:

StatoTargetMancanteRisultato tester
Modifica assente97Rosso / FAIL
Modifica attiva77Verde / PASS

Il tester riporta verde quando l'app selezionata non è rilevabile e rosso quando è rilevabile. Selezionare solo un'app che si sa essere installata: 7 / 7 da solo non può distinguere una mitigazione funzionante da un target che non esiste.

Il test sul dispositivo ha riprodotto entrambi gli stati con l'iniezione del tester disabilitata: la disinstallazione della modifica ha prodotto il risultato rosso 9 / 7, mentre l'installazione della v1.1 ha prodotto il risultato verde 7 / 7.

Compilare la modifica

Con Theos standard, la build predefinita è convenzionale rootless:

root@kitploit:~
cd Tweak
make clean package FINALPACKAGE=1

Per rootHide, installare rootHide Theos ed eseguire:

root@kitploit:~
cd Tweak
THEOS=/path/to/theos-roothide \
  make clean package FINALPACKAGE=1 THEOS_PACKAGE_SCHEME=roothide

Compilare l'IPA del tester

Il tester è compilato con l'SDK iPhoneOS di Xcode e non ha entitlements di jailbreak o elevati:

root@kitploit:~
./scripts/build-tester-ipa.sh

L'IPA risultante viene inserito in dist/. È firmato ad-hoc, quindi un installatore può ri-firmarlo con un'identità di sviluppo normale. Non concedergli platform-application o com.apple.private.security.no-sandbox, poiché il test è specificamente pensato per essere eseguito da una sandbox applicativa normale.

Ambito e limitazioni

  • Questa è una mitigazione a livello utente per la primitiva SpringBoardServices pubblicata, non la patch FrontBoard completa di Apple.
  • La versione 1.1 non richiede l'iniezione nelle applicazioni protette. Disabilitare l'iniezione a livello globale o per SpringBoard stesso disabiliterà la mitigazione.
  • L'implementazione lato server è confermata su iOS 17.3.1 build 21D61. Su altre versioni supportate, la modifica installa il suo hook solo quando il selettore privato ha l'ABI previsto validato a runtime.
  • Un test 7 / 7 è significativo solo quando l'applicazione target è nota per essere installata.
  • Il tester chiama intenzionalmente un'API privata non documentata e non è adatto per la submission all'App Store.

Riferimenti

  • Contenuto di sicurezza iOS 18.5 di Apple
  • NVD: CVE-2025-31207
  • Prova di concetto pubblica originale SpringBoardServices
  • Documentazione sviluppatore rootHide

Licenza

MIT

Scarica lo strumento