4.9 KiB
コンパイルされたアプリケーションから権限を抽出する
htARTE(HackTricks AWS Red Team Expert) を通じてゼロからヒーローまでAWSハッキングを学ぶ!
HackTricks をサポートする他の方法:
- HackTricks で企業を宣伝したいまたは HackTricks をPDFでダウンロードしたい場合は、SUBSCRIPTION PLANSをチェックしてください!
- 公式PEASS&HackTricksスワッグを入手する
- The PEASS Familyを発見し、独占的な NFTsのコレクションを見つける
- 💬 Discordグループまたはtelegramグループに参加するか、Twitter 🐦 @carlospolopmをフォローしてください。
- ハッキングトリックを共有するために、 HackTricksと HackTricks CloudのGitHubリポジトリにPRを提出してください。
権限とモバイルプロビジョニングファイルの抽出
アプリのIPAやジェイルブレイクされたデバイス上のインストールされたアプリを扱う際、.entitlements
ファイルやembedded.mobileprovision
ファイルを直接見つけることができない場合があります。ただし、iOS Basic Security Testing 章、特に "アプリバイナリの取得"セクションで概説されている手順に従って、アプリバイナリから権限プロパティリストを抽出することができます。
暗号化されたバイナリでも、これらのファイルを抽出するための手順があります。これらの手順が失敗した場合、iOS バージョンと互換性がある場合は Clutch、frida-ios-dump、または類似のユーティリティツールを使用してアプリを復号化および抽出する必要があります。
アプリバイナリから権限のPlistを抽出する
コンピューター上でアプリバイナリにアクセスできる場合、binwalkを使用してすべてのXMLファイルを抽出できます。以下のコマンドはその方法を示しています:
$ binwalk -e -y=xml ./Telegram\ X
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
1430180 0x15D2A4 XML document, version: "1.0"
1458814 0x16427E XML document, version: "1.0"
代わりに、radare2を使用して、静かにコマンドを実行し、"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"?>...
両方の方法、binwalkとradare2、はplist
ファイルの抽出を可能にし、最初のものの検査(0x0015d2a4)により、Telegramの元の権限ファイルの成功した回復が明らかになります。
ジェイルブレイクされたデバイスでアクセスされたアプリのバイナリ(例:SSH経由)に対して、grepコマンドを-a、--text
フラグと共に使用して、すべてのファイルをASCIIテキストとして扱うことができます:
$ grep -a -A 5 'PropertyList' /var/containers/Bundle/Application/...
調整-A num、--after-context=num
フラグを使用すると、表示される行数を増減させることができます。この方法は、暗号化されたアプリのバイナリに対しても有効であり、複数のApp Storeアプリで検証されています。以前に言及されたツールは、同様の目的のためにジェイルブレイクされたiOSデバイスでも使用することができます。
注意: このタスクに対してstrings
コマンドを直接使用することは推奨されません。代わりに、バイナリ上でgrep
を-a
フラグと共に使用するか、radare2 (izz
) / rabin2 (-zz
)を利用することがより効果的な結果をもたらします。