iOS Extracting Entitlements From Compiled Application
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
アプリのIPAや脱獄デバイスにインストールされたアプリを扱う際、.entitlements
ファイルやembedded.mobileprovision
ファイルを直接見つけることはできない場合があります。しかし、アプリバイナリから権限プロパティリストを抽出することは可能であり、「iOS Basic Security Testing」章、特に「Acquiring the App Binary」セクションに記載された手順に従うことができます。
暗号化されたバイナリでも、これらのファイルを抽出するために特定の手順を使用することができます。これらの手順が失敗した場合、Clutch(iOSバージョンと互換性がある場合)、frida-ios-dump、または同様のユーティリティを使用してアプリを復号化し、抽出する必要があるかもしれません。
コンピュータ上でアプリバイナリにアクセスできる場合、binwalkを使用してすべてのXMLファイルを抽出できます。以下のコマンドは、その方法を示しています:
代わりに、radare2を使用してコマンドを静かに実行し、終了することができ、アプリバイナリ内の「PropertyList」を含むすべての文字列を検索します:
両方の方法、binwalkとradare2は、plist
ファイルの抽出を可能にし、最初のもの(0x0015d2a4)の検査により、Telegramからの元のentitlementsファイルの成功した回復が明らかになりました。
脱獄デバイス上でアクセスされたアプリバイナリ(例:SSH経由)に対して、grepコマンドの-a, --text
フラグを使用して、すべてのファイルをASCIIテキストとして扱うことができます:
-A num, --after-context=num
フラグを調整することで、表示する行数を増やしたり減らしたりできます。この方法は、暗号化されたアプリバイナリにも有効であり、複数のApp Storeアプリに対して検証されています。前述のツールは、同様の目的で脱獄したiOSデバイスでも使用できます。
注意: このタスクに対して strings
コマンドの直接使用は推奨されません。関連情報を見つける際の制限があるためです。代わりに、バイナリに対して -a
フラグを使用したgrepを使用するか、radare2(izz
)/rabin2(-zz
)を利用することが、より効果的な結果を得るために推奨されます。
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)