mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
42 lines
3.3 KiB
Markdown
42 lines
3.3 KiB
Markdown
# Estrazione dei Diritti da un'Applicazione Compilata
|
|
|
|
{{#include ../../banners/hacktricks-training.md}}
|
|
|
|
Riepilogo della pagina [https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0069/#review-entitlements-embedded-in-the-compiled-app-binary](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, 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 nella 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:
|
|
```bash
|
|
$ 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":
|
|
```bash
|
|
$ 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 da Telegram](https://github.com/peter-iakovlev/Telegram-iOS/blob/77ee5c4dabdd6eb5f1e2ff76219edf7e18b45c00/Telegram-iOS/Telegram-iOS-AppStoreLLC.entitlements).
|
|
|
|
Per i binari delle app accessibili su dispositivi jailbroken (ad es., tramite SSH), il comando **grep** con il flag `-a, --text` può essere utilizzato per trattare tutti i file come testo ASCII:
|
|
```bash
|
|
$ 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.
|
|
|
|
{{#include ../../banners/hacktricks-training.md}}
|