iOS Extracting Entitlements From Compiled Application
Last updated
Last updated
Impara e pratica il Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica il Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Riepilogo della pagina https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0069/#review-entitlements-embedded-in-the-compiled-app-binary
Quando si tratta di un IPA di un'app o di un'app installata su un dispositivo jailbroken, potrebbe non essere possibile trovare direttamente i file .entitlements
o il file embedded.mobileprovision
. Tuttavia, le liste di proprietà dei diritti possono ancora essere estratte dal binario dell'app, seguendo le procedure delineate nel capitolo "iOS Basic Security Testing", in particolare la sezione "Acquiring the App Binary".
Anche con binari crittografati, possono essere impiegati determinati passaggi per estrarre questi file. Se questi passaggi falliscono, potrebbero essere necessari strumenti come Clutch (se compatibile con la versione iOS), frida-ios-dump o utility simili per decrittografare ed estrarre l'app.
Con il binario dell'app accessibile su un computer, binwalk può essere utilizzato per estrarre tutti i file XML. Il comando qui sotto dimostra come farlo:
In alternativa, radare2 può essere utilizzato per eseguire silenziosamente un comando e uscire, cercando tutte le stringhe nel binario dell'app che contengono "PropertyList":
Entrambi i metodi, binwalk e radare2, consentono l'estrazione di file plist
, con un'ispezione del primo (0x0015d2a4) che rivela un recupero riuscito del file di entitlements originale da Telegram.
Per i binari delle app accessibili su dispositivi jailbroken (ad esempio, tramite SSH), il comando grep con il flag -a, --text
può essere utilizzato per trattare tutti i file come testo ASCII:
Regolare il flag -A num, --after-context=num
consente di visualizzare più o meno righe. Questo metodo è valido anche per i binari delle app crittografate ed è stato verificato su più app dell'App Store. Gli strumenti menzionati in precedenza possono essere utilizzati anche su dispositivi iOS jailbroken per scopi simili.
Nota: L'uso diretto del comando strings
non è raccomandato per questo compito a causa delle sue limitazioni nel trovare informazioni rilevanti. Invece, è consigliabile utilizzare grep con il flag -a
sul binario o utilizzare radare2 (izz
)/rabin2 (-zz
) per risultati più efficaci.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)