# Android APK チェックリスト {{#include ../banners/hacktricks-training.md}} ### [Androidの基本を学ぶ](android-app-pentesting/index.html#2-android-application-fundamentals) - [ ] [基本](android-app-pentesting/index.html#fundamentals-review) - [ ] [Dalvik & Smali](android-app-pentesting/index.html#dalvik--smali) - [ ] [エントリーポイント](android-app-pentesting/index.html#application-entry-points) - [ ] [アクティビティ](android-app-pentesting/index.html#launcher-activity) - [ ] [URLスキーム](android-app-pentesting/index.html#url-schemes) - [ ] [コンテンツプロバイダー](android-app-pentesting/index.html#services) - [ ] [サービス](android-app-pentesting/index.html#services-1) - [ ] [ブロードキャストレシーバー](android-app-pentesting/index.html#broadcast-receivers) - [ ] [インテント](android-app-pentesting/index.html#intents) - [ ] [インテントフィルター](android-app-pentesting/index.html#intent-filter) - [ ] [その他のコンポーネント](android-app-pentesting/index.html#other-app-components) - [ ] [ADBの使い方](android-app-pentesting/index.html#adb-android-debug-bridge) - [ ] [Smaliの修正方法](android-app-pentesting/index.html#smali) ### [静的分析](android-app-pentesting/index.html#static-analysis) - [ ] [難読化](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に特に注意を払います。 - [ ] [マニフェストを読む:](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)? - [ ] すべてのライブラリがPIEフラグを使用してコンパイルされていますか? - [ ] このフェーズで役立つ[静的Androidアナライザー](android-app-pentesting/index.html#automatic-analysis)がたくさんあることを忘れないでください。 ### [動的分析](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は可能ですか? - [ ] [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を使用してアプリケーションから興味深い動的データを取得します(おそらくいくつかのパスワード...)。 ### 一部の難読化/デオブフスケーション情報 - [ ] [こちらを読む](android-app-pentesting/index.html#obfuscating-deobfuscating-code) {{#include ../banners/hacktricks-training.md}}