diff --git a/src/mobile-pentesting/android-checklist.md b/src/mobile-pentesting/android-checklist.md index 06c347a86..522fa81c0 100644 --- a/src/mobile-pentesting/android-checklist.md +++ b/src/mobile-pentesting/android-checklist.md @@ -21,37 +21,53 @@ ### [静的分析](android-app-pentesting/index.html#static-analysis) -- [ ] [難読化](android-checklist.md#some-obfuscation-deobfuscation-information)の使用を確認し、モバイルがルート化されているか、エミュレーターが使用されているか、アンチタンパリングチェックを行います。[詳細はこちらを読む](android-app-pentesting/index.html#other-checks)。 -- [ ] 銀行アプリのような敏感なアプリケーションは、モバイルがルート化されているか確認し、それに応じて行動する必要があります。 +- [ ] [難読化](android-checklist.md#some-obfuscation-deobfuscation-information)の使用を確認し、モバイルがルート化されているか、エミュレーターが使用されているか、アンチタンパリングチェックを確認します。[詳細はこちらを読む](android-app-pentesting/index.html#other-checks)。 +- [ ] 機密性の高いアプリケーション(銀行アプリなど)は、モバイルがルート化されているか確認し、それに応じて行動する必要があります。 - [ ] [興味深い文字列](android-app-pentesting/index.html#looking-for-interesting-info)(パスワード、URL、API、暗号化、バックドア、トークン、Bluetooth UUIDなど)を探します。 -- [ ] [Firebase](android-app-pentesting/index.html#firebase)APIに特に注意を払います。 +- [ ] [firebase](android-app-pentesting/index.html#firebase) APIに特に注意を払います。 - [ ] [マニフェストを読む:](android-app-pentesting/index.html#basic-understanding-of-the-application-manifest-xml) -- [ ] アプリケーションがデバッグモードであるか確認し、「悪用」してみます。 +- [ ] アプリケーションがデバッグモードであるか確認し、「エクスプロイト」しようとします。 - [ ] APKがバックアップを許可しているか確認します。 - [ ] エクスポートされたアクティビティ - [ ] コンテンツプロバイダー - [ ] 公開されたサービス - [ ] ブロードキャストレシーバー - [ ] URLスキーム -- [ ] アプリケーションが[内部または外部に不安全にデータを保存しているか](android-app-pentesting/index.html#insecure-data-storage)? -- [ ] [パスワードがハードコーディングされているか、ディスクに保存されているか](android-app-pentesting/index.html#poorkeymanagementprocesses)? アプリは[不安全な暗号アルゴリズムを使用しているか](android-app-pentesting/index.html#useofinsecureandordeprecatedalgorithms)? +- [ ] アプリケーションが[内部または外部にデータを安全でない方法で保存しているか](android-app-pentesting/index.html#insecure-data-storage)? +- [ ] [パスワードがハードコーディングされているか、ディスクに保存されているか](android-app-pentesting/index.html#poorkeymanagementprocesses)?アプリは[安全でない暗号アルゴリズムを使用しているか](android-app-pentesting/index.html#useofinsecureandordeprecatedalgorithms)? - [ ] すべてのライブラリがPIEフラグを使用してコンパイルされていますか? -- [ ] このフェーズで役立つ[静的Androidアナライザー](android-app-pentesting/index.html#automatic-analysis)がたくさんあることを忘れないでください。 +- [ ] [静的Androidアナライザー](android-app-pentesting/index.html#automatic-analysis)が多数存在し、このフェーズで大いに役立つことを忘れないでください。 +- [ ] `android:exported` **Android 12+で必須** – 誤って設定されたエクスポートされたコンポーネントは外部インテントの呼び出しにつながる可能性があります。 +- [ ] **ネットワークセキュリティ構成** (`networkSecurityConfig` XML)を確認し、`cleartextTrafficPermitted="true"`またはドメイン固有のオーバーライドを探します。 +- [ ] **Play Integrity / SafetyNet / DeviceCheck**への呼び出しを探し、カスタムアテステーションがフックまたはバイパスできるかを判断します。 +- [ ] **App Links / Deep Links** (`android:autoVerify`)を検査し、インテントリダイレクションやオープンリダイレクトの問題を探します。 +- [ ] **WebView.addJavascriptInterface**または`loadData*()`の使用を特定し、アプリ内でRCE / XSSにつながる可能性があります。 +- [ ] クロスプラットフォームバンドル(Flutter `libapp.so`、React-Native JSバンドル、Capacitor/Ionicアセット)を分析します。専用ツール: +- `flutter-packer`, `fluttersign`, `rn-differ` +- [ ] 既知のCVE(例: **libwebp CVE-2023-4863**、**libpng**など)に対してサードパーティのネイティブライブラリをスキャンします。 +- [ ] **SEMgrep Mobileルール**、**Pithus**、および最新の**MobSF ≥ 3.9** AI支援スキャン結果を評価し、追加の発見を探ります。 ### [動的分析](android-app-pentesting/index.html#dynamic-analysis) - [ ] 環境を準備します([オンライン](android-app-pentesting/index.html#online-dynamic-analysis)、[ローカルVMまたは物理](android-app-pentesting/index.html#local-dynamic-analysis)) - [ ] [意図しないデータ漏洩](android-app-pentesting/index.html#unintended-data-leakage)(ログ、コピー/ペースト、クラッシュログ)はありますか? -- [ ] [機密情報がSQLiteデータベースに保存されているか](android-app-pentesting/index.html#sqlite-dbs)? -- [ ] [悪用可能なエクスポートされたアクティビティ](android-app-pentesting/index.html#exploiting-exported-activities-authorisation-bypass)? -- [ ] [悪用可能なコンテンツプロバイダー](android-app-pentesting/index.html#exploiting-content-providers-accessing-and-manipulating-sensitive-information)? -- [ ] [悪用可能な公開サービス](android-app-pentesting/index.html#exploiting-services)? -- [ ] [悪用可能なブロードキャストレシーバー](android-app-pentesting/index.html#exploiting-broadcast-receivers)? -- [ ] アプリケーションが[平文で情報を送信しているか/弱いアルゴリズムを使用しているか](android-app-pentesting/index.html#insufficient-transport-layer-protection)? MitMは可能ですか? +- [ ] [機密情報がSQLiteデータベースに保存されているか](android-app-pentesting/index.html#sqlite-dbs)? +- [ ] [エクスプロイト可能なエクスポートされたアクティビティ](android-app-pentesting/index.html#exploiting-exported-activities-authorisation-bypass)はありますか? +- [ ] [エクスプロイト可能なコンテンツプロバイダー](android-app-pentesting/index.html#exploiting-content-providers-accessing-and-manipulating-sensitive-information)はありますか? +- [ ] [エクスプロイト可能な公開サービス](android-app-pentesting/index.html#exploiting-services)はありますか? +- [ ] アプリケーションが[平文で情報を送信しているか/弱いアルゴリズムを使用しているか](android-app-pentesting/index.html#insufficient-transport-layer-protection)?MitMは可能ですか? - [ ] [HTTP/HTTPSトラフィックを検査する](android-app-pentesting/index.html#inspecting-http-traffic) - [ ] これは非常に重要です。HTTPトラフィックをキャプチャできれば、一般的なWebの脆弱性を探すことができます(HacktricksにはWebの脆弱性に関する多くの情報があります)。 - [ ] 可能な[Androidクライアントサイドインジェクション](android-app-pentesting/index.html#android-client-side-injections-and-others)を確認します(おそらく静的コード分析が役立ちます)。 - [ ] [Frida](android-app-pentesting/index.html#frida): Fridaを使用してアプリケーションから興味深い動的データを取得します(おそらくいくつかのパスワード...)。 +- [ ] **Tapjacking / アニメーション駆動攻撃(TapTrap 2025)**をAndroid 15+でもテストします(オーバーレイ権限は不要)。 +- [ ] **オーバーレイ / SYSTEM_ALERT_WINDOWクリックジャッキング**および**アクセシビリティサービスの悪用**を試みて特権昇格を行います。 +- [ ] `adb backup` / `bmgr backupnow`がまだアプリデータをダンプできるか確認します(`allowBackup`を無効にするのを忘れたアプリ)。 +- [ ] **BinderレベルのLPE**(例: **CVE-2023-20963, CVE-2023-20928**)を探ります。許可されている場合はカーネルファズャーやPoCを使用します。 +- [ ] Play Integrity / SafetyNetが強制されている場合、ランタイムフック(`Frida Gadget`、`MagiskIntegrityFix`、`Integrity-faker`)やネットワークレベルのリプレイを試みます。 +- [ ] 最新のツールを使用して計測します: +- **Objection > 2.0**、**Frida 17+**、**NowSecure-Tracer (2024)** +- `perfetto` / `simpleperf`を使用した動的なシステム全体のトレース。 ### 一部の難読化/デオブフスケーション情報