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をサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
Androidの基本を学ぶ
- 基本
- Dalvik & Smali
- エントリーポイント
- アクティビティ
- URLスキーム
- コンテンツプロバイダー
- サービス
- ブロードキャストレシーバー
- インテント
- インテントフィルター
- その他のコンポーネント
- ADBの使い方
- Smaliの修正方法
静的分析
- 難読化の使用を確認し、モバイルがルート化されているか、エミュレーターが使用されているか、アンチタンパリングチェックを確認します。詳細はこちらを読む。
- 機密性の高いアプリケーション(銀行アプリなど)は、モバイルがルート化されているか確認し、それに応じて行動する必要があります。
- 興味深い文字列(パスワード、URL、API、暗号化、バックドア、トークン、Bluetooth UUIDなど)を探します。
- firebase APIに特に注意を払います。
- マニフェストを読む:
- アプリケーションがデバッグモードであるか確認し、「エクスプロイト」しようとします。
- APKがバックアップを許可しているか確認します。
- エクスポートされたアクティビティ
- コンテンツプロバイダー
- 公開されたサービス
- ブロードキャストレシーバー
- URLスキーム
- アプリケーションが内部または外部にデータを安全でない方法で保存しているか?
- パスワードがハードコーディングされているか、ディスクに保存されているか?アプリは安全でない暗号アルゴリズムを使用しているか?
- すべてのライブラリがPIEフラグを使用してコンパイルされていますか?
- 静的Androidアナライザーが多数存在し、このフェーズで大いに役立つことを忘れないでください。
-
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支援スキャン結果を評価し、追加の発見を探ります。
動的分析
- 環境を準備します(オンライン、ローカルVMまたは物理)
- 意図しないデータ漏洩(ログ、コピー/ペースト、クラッシュログ)はありますか?
- 機密情報がSQLiteデータベースに保存されているか?
- エクスプロイト可能なエクスポートされたアクティビティはありますか?
- エクスプロイト可能なコンテンツプロバイダーはありますか?
- エクスプロイト可能な公開サービスはありますか?
- アプリケーションが平文で情報を送信しているか/弱いアルゴリズムを使用しているか?MitMは可能ですか?
- HTTP/HTTPSトラフィックを検査する
- これは非常に重要です。HTTPトラフィックをキャプチャできれば、一般的なWebの脆弱性を探すことができます(HacktricksにはWebの脆弱性に関する多くの情報があります)。
- 可能なAndroidクライアントサイドインジェクションを確認します(おそらく静的コード分析が役立ちます)。
- 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
を使用した動的なシステム全体のトレース。
一部の難読化/デオブフスケーション情報
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をサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。