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からの元の権限ファイルの成功した回復が明らかになりました。
脱獄デバイス上でアクセスされたアプリバイナリ(例: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)