12 KiB
iOS Pentesting Checklist
Trickestを使用して、世界で最も高度なコミュニティツールによって駆動されるワークフローを簡単に構築し、自動化します。
今すぐアクセスを取得:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
{% hint style="success" %}
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 DiscordグループまたはTelegramグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
Try Hard Security Group
{% embed url="https://discord.gg/tryhardsecurity" %}
準備
データストレージ
- Plistファイルは機密情報を保存するために使用される可能性があります。
- Core Data(SQLiteデータベース)は機密情報を保存できます。
- YapDatabases(SQLiteデータベース)は機密情報を保存できます。
- Firebaseの誤設定。
- Realmデータベースは機密情報を保存できます。
- Couchbase Liteデータベースは機密情報を保存できます。
- バイナリクッキーは機密情報を保存できます。
- キャッシュデータは機密情報を保存できます。
- 自動スナップショットは視覚的な機密情報を保存できます。
- キーチェーンは通常、電話を再販する際に残る可能性のある機密情報を保存するために使用されます。
- 要約すると、アプリケーションがファイルシステムに保存した機密情報を確認するだけです。
キーボード
- アプリケーションはカスタムキーボードの使用を許可していますか?
- キーボードキャッシュファイルに機密情報が保存されているか確認する
ログ
バックアップ
- バックアップはファイルシステムに保存された機密情報にアクセスするために使用される可能性があります(このチェックリストの最初のポイントを確認してください)
- また、バックアップはアプリケーションの設定を変更するために使用される可能性があり、その後バックアップを電話に復元すると、変更された設定が読み込まれ**、一部の(セキュリティ)機能が回避される可能性があります。
アプリケーションメモリ
- アプリケーションのメモリ内の機密情報を確認する
壊れた暗号化
- 暗号化に使用されるパスワードを見つけられるか確認する
- 機密データを送信/保存するために非推奨/弱いアルゴリズムが使用されているか確認する
- 暗号化関数をフックして監視する
ローカル認証
- アプリケーションでローカル認証が使用されている場合、認証がどのように機能しているか確認する必要があります。
- ローカル認証フレームワークを使用している場合、簡単に回避される可能性があります。
- 動的に回避可能な関数を使用している場合、カスタムFridaスクリプトを作成できます。
IPCを通じた機密機能の露出
- カスタムURIハンドラー / ディープリンク / カスタムスキーム
- アプリケーションがプロトコル/スキームを登録しているか確認する
- アプリケーションがプロトコル/スキームを使用するために登録しているか確認する
- アプリケーションがカスタムスキームからの機密情報を受け取ることを期待しているか確認する、それが別のアプリケーションによって傍受される可能性があります。
- アプリケーションがカスタムスキームを介してユーザー入力を確認およびサニタイズしていないか確認する、そして脆弱性が悪用される可能性があります。
- アプリケーションがどこからでも呼び出すことができる機密アクションを公開しているか確認する、カスタムスキームを介して。
- ユニバーサルリンク
- アプリケーションがユニバーサルプロトコル/スキームを登録しているか確認する
apple-app-site-association
ファイルを確認する- アプリケーションがカスタムスキームを介してユーザー入力を確認およびサニタイズしていないか確認する、そして脆弱性が悪用される可能性があります。
- アプリケーションがどこからでも呼び出すことができる機密アクションを公開しているか確認する、カスタムスキームを介して。
- UIActivity共有
- アプリケーションがUIActivitiesを受け取ることができ、特別に作成されたアクティビティで脆弱性を悪用できるか確認する。
- UIPasteboard
- アプリケーションが一般的なペーストボードに何かをコピーしているか確認する
- アプリケーションが一般的なペーストボードのデータを何かに使用しているか確認する
- ペーストボードを監視して、機密データがコピーされているか確認する
- アプリ拡張
- アプリケーションが拡張機能を使用しているか?
- WebViews
- どの種類のWebViewが使用されているか確認する
javaScriptEnabled
、JavaScriptCanOpenWindowsAutomatically
、**hasOnlySecureContent
**の状態を確認する- WebViewがファイルプロトコルでローカルファイルにアクセスできるか確認する(
allowFileAccessFromFileURLs
、allowUniversalAccessFromFileURLs
) - Javascriptがネイティブメソッドにアクセスできるか確認する(
JSContext
、postMessage
)
ネットワーク通信
- 通信に対してMitMを実行し、Webの脆弱性を探す。
- 証明書のホスト名が確認されているか確認する
- 証明書ピンニングを確認/回避する
その他
- 自動パッチ/更新メカニズムを確認する
- 悪意のあるサードパーティライブラリを確認する
Try Hard Security Group
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %}
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 DiscordグループまたはTelegramグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
Trickestを使用して、世界で最も高度なコミュニティツールによって駆動されるワークフローを簡単に構築し、自動化します。
今すぐアクセスを取得:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}