5.5 KiB
Estrarre i diritti da un'applicazione compilata
Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!
Altri modi per supportare HackTricks:
- Se vuoi vedere la tua azienda pubblicizzata su HackTricks o scaricare HackTricks in PDF Controlla i PACCHETTI DI ABBONAMENTO!
- Ottieni il merchandising ufficiale di PEASS & HackTricks
- Scopri The PEASS Family, la nostra collezione di NFT esclusivi
- Unisciti al 💬 gruppo Discord o al gruppo Telegram o seguici su Twitter 🐦 @carlospolopm.
- Condividi i tuoi trucchi di hacking inviando PR a HackTricks e HackTricks Cloud github repos.
Sommario 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'app IPA o di un'app installata su un dispositivo jailbroken, potrebbe non essere possibile trovare direttamente i file .entitlements
o il file embedded.mobileprovision
. Tuttavia, è comunque possibile estrarre le liste di diritti dai file binari dell'app, seguendo le procedure descritte nel capitolo "iOS Basic Security Testing", in particolare nella sezione "Acquisizione del file binario dell'app".
Anche con i binari crittografati, è possibile utilizzare determinati passaggi per estrarre questi file. Se questi passaggi falliscono, potrebbero essere necessari strumenti come Clutch (se compatibile con la versione di iOS), frida-ios-dump o utility simili per decrittare ed estrarre l'app.
Estrazione del file Entitlements Plist dal file binario dell'app
Con il file binario dell'app accessibile su un computer, è possibile utilizzare binwalk per estrarre tutti i file XML. Il comando di seguito mostra come fare:
$ 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 ed uscire, cercando tutte le stringhe nel file 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 dei 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 l'opzione -a, --text
può essere utilizzato per trattare tutti i file come testo ASCII:
$ grep -a -A 5 'PropertyList' /var/containers/Bundle/Application/...
L'aggiustamento del flag -A num, --after-context=num
consente di visualizzare più o meno righe. Questo metodo è valido anche per i file binari delle app crittografate ed è stato verificato su diverse app dell'App Store. Gli strumenti menzionati in precedenza possono anche essere utilizzati su dispositivi iOS jailbroken per scopi simili.
Nota: Non è consigliabile utilizzare direttamente il comando strings
per questa operazione 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 ottenere risultati più efficaci.
Impara l'hacking di AWS da zero a esperto con htARTE (HackTricks AWS Red Team Expert)!
Altri modi per supportare HackTricks:
- Se vuoi vedere la tua azienda pubblicizzata in HackTricks o scaricare HackTricks in PDF, controlla i PACCHETTI DI ABBONAMENTO!
- Ottieni il merchandising ufficiale di PEASS & HackTricks
- Scopri The PEASS Family, la nostra collezione di esclusive NFT
- Unisciti al 💬 gruppo Discord o al gruppo Telegram o seguici su Twitter 🐦 @carlospolopm.
- Condividi i tuoi trucchi di hacking inviando PR ai repository GitHub di HackTricks e HackTricks Cloud.