5.4 KiB
Estrazione dei Diritti da un'Applicazione Compilata
{% hint style="success" %}
Impara e pratica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.
Riepilogo della pagina https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0069/#review-entitlements-embedded-in-the-compiled-app-binary
Estrazione dei Diritti e dei File di Provisioning Mobile
Quando si tratta di un IPA di un'app o di un'app installata su un dispositivo jailbroken, trovare file .entitlements
o il file embedded.mobileprovision
direttamente potrebbe non essere possibile. 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.
Estrazione del Plist dei Diritti dal Binario dell'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:
$ binwalk -e -y=xml ./Telegram\ X
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
1430180 0x15D2A4 XML document, version: "1.0"
1458814 0x16427E XML document, version: "1.0"
In alternativa, radare2 può essere utilizzato per eseguire silenziosamente un comando e uscire, cercando tutte le stringhe nel binario dell'app che contengono "PropertyList":
$ r2 -qc 'izz~PropertyList' ./Telegram\ X
0x0015d2a4 ascii <?xml version="1.0" encoding="UTF-8" standalone="yes"?>...
0x0016427d ascii H<?xml version="1.0" encoding="UTF-8"?>...
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 autorizzazioni originale di 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:
$ grep -a -A 5 'PropertyList' /var/containers/Bundle/Application/...
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.
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.