iOS Extracting Entitlements From Compiled Application
権限とモバイルプロビジョニングファイルの抽出
アプリのIPAやジェイルブレイクされたデバイス上のインストールされたアプリを扱う際、.entitlements
ファイルやembedded.mobileprovision
ファイルを直接見つけることができない場合があります。ただし、iOS Basic Security Testing 章、特に "アプリバイナリの取得"セクションで概説されている手順に従って、アプリバイナリから権限プロパティリストを抽出することができます。
暗号化されたバイナリでも、これらのファイルを抽出するための手順があります。これらの手順が失敗した場合、iOS バージョンと互換性がある場合は Clutch、frida-ios-dump、または類似のユーティリティツールを使用してアプリを復号化および抽出する必要があります。
アプリバイナリから権限のPlistを抽出する
コンピューター上でアプリバイナリにアクセスできる場合、binwalkを使用してすべてのXMLファイルを抽出できます。以下のコマンドはその方法を示しています:
代わりに、radare2を使用して、静かにコマンドを実行し、"PropertyList"を含むアプリのバイナリ内のすべての文字列を検索できます:
両方の方法、binwalkとradare2、はplist
ファイルの抽出を可能にし、最初のものの検査(0x0015d2a4)により、Telegramの元の権限ファイルの成功した回復が明らかになります。
ジェイルブレイクされたデバイスでアクセスされたアプリのバイナリ(例:SSH経由)に対して、grepコマンドを-a、--text
フラグと共に使用して、すべてのファイルをASCIIテキストとして扱うことができます:
調整-A num、--after-context=num
フラグを使用すると、表示される行数を増減させることができます。この方法は、暗号化されたアプリのバイナリに対しても有効であり、複数のApp Storeアプリで検証されています。以前に言及されたツールは、同様の目的のためにジェイルブレイクされたiOSデバイスでも使用することができます。
注意: このタスクに対してstrings
コマンドを直接使用することは推奨されません。代わりに、バイナリ上でgrep
を-a
フラグと共に使用するか、radare2 (izz
) / rabin2 (-zz
)を利用することがより効果的な結果をもたらします。
Last updated