Android APK チェックリスト

Reading time: 8 minutes

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする

Learn Android fundamentals

Static Analysis

  • モバイルがroot化されているか、エミュレータが使われているか、アンチタンパリングチェックがあるか等を含め、obfuscation の使用を確認する。Read this for more info.
  • 銀行アプリ等のSensitive applications は、端末がroot化されているかを確認し、それに応じた対処を行うべき。
  • interesting strings を検索する(passwords, URLs, API, encryption, backdoors, tokens, Bluetooth uuids...)。
  • [firebase ]APIs に特別注意。
  • Read the manifest:
  • アプリがデバッグモードになっているかを確認し、可能ならそれを "exploit" する。
  • APK がバックアップを許可しているか確認する
  • Exported Activities
  • Unity Runtime: exported UnityPlayerActivity/UnityPlayerGameActivity が unity CLI extras ブリッジを持つ。pre-init の dlopen() RCE をテストするために -xrsdk-pre-init-library <abs-path> を試す。詳細は Intent Injection → Unity Runtime を参照。
  • Content Providers
  • Exposed services
  • Broadcast Receivers
  • URL Schemes
  • アプリが内部または外部にデータを不安全に保存していないかを確認する(saving data insecurely internally or externally)。
  • password hard coded or saved in disk はないか?アプリが using insecurely crypto algorithms を使用していないか?
  • すべてのライブラリが PIE フラグでコンパイルされているか?
  • 忘れずに多数の static Android Analyzers を利用する — このフェーズで非常に役立つ。
  • android:exported mandatory on Android 12+ – エクスポートされたコンポーネントの誤設定は外部からの intent 呼び出しにつながる可能性がある。
  • Network Security ConfignetworkSecurityConfig XML)を確認し、cleartextTrafficPermitted="true" やドメイン固有のオーバーライドがないか確認する。
  • Play Integrity / SafetyNet / DeviceCheck の呼び出しを探し、カスタム attestation がフック/バイパス可能かを判断する。
  • App Links / Deep Linksandroid:autoVerify)を調査し、intent リダイレクトやオープンリダイレクトの問題がないか確認する。
  • アプリ内で RCE / XSS を引き起こす可能性がある WebView.addJavascriptInterface または loadData*() の使用を特定する。
  • クロスプラットフォームのバンドル(Flutter libapp.so, React-Native JS bundles, Capacitor/Ionic assets)を解析する。専用ツール:
  • flutter-packer, fluttersign, rn-differ
  • サードパーティのネイティブライブラリを既知の CVE(例: libwebp CVE-2023-4863, libpng など)についてスキャンする。
  • 追加の発見のために SEMgrep Mobile rules, Pithus および最新の MobSF ≥ 3.9 の AI 支援スキャン結果を評価する。

Dynamic Analysis

  • 環境を準備する(online, local VM or physical
  • 不意の unintended data leakage(logging, copy/paste, crash logs)があるか?
  • Confidential information being saved in SQLite dbs
  • Exploitable exposed Activities
  • Exploitable Content Providers
  • Exploitable exposed Services
  • Exploitable Broadcast Receivers
  • アプリが transmitting information in clear text/using weak algorithms しているか?MitM は可能か?
  • Inspect HTTP/HTTPS traffic
  • これは非常に重要:HTTP トラフィックを捕捉できれば、一般的な Web 脆弱性を検索できる(Hacktricks は Web 脆弱性に関する多くの情報を持っている)。
  • 可能な Android Client Side Injections をチェックする(静的解析も助けになることが多い)。
  • Frida: 単に Frida を使い、アプリから興味深い動的データ(場合によってはパスワードなど)を取得する。
  • Tapjacking / Animation-driven attacks (TapTrap 2025) を Android 15+ でもテストする(オーバーレイ許可不要)。
  • overlay / SYSTEM_ALERT_WINDOW を使った clickjacking と Accessibility Service の悪用を試み、権限昇格を検証する。
  • 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 を使用する。

Some obfuscation/Deobfuscation information

参考

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする