以下の内容はhttps://cysec148.hatenablog.com/entry/2025/07/25/180127より取得しました。


第17回:実例で解説:診断ツール「Drozer」入門

Hello there, ('ω')ノ

🧭 Drozerってどんなツール?

Drozerは、Androidアプリの内部にあるコンポーネント(Activity、Service、Content Providerなど)のセキュリティ設定を診断するためのツールです。

✅ Drozerの特徴:

  • Android端末に「エージェントアプリ」をインストールして診断を実行
  • 他のアプリからアクセス可能な設定があるかを実際に攻撃再現しながら調べられる
  • アプリの“表に出ていない機能”にもアクセスして確認できる

🛠 事前準備:Drozerのインストール

✅ PC側(Drozer Console)

Drozer本体は現在、公式サポートが終了していますが、GitHubで非公式版(フォーク)が使えます。以下のような構成です:

  • OS:LinuxやmacOS推奨(Windowsは非推奨)
  • Python 3系と依存ライブラリ(protobuf など)

インストール例(※一例です):

git clone https://github.com/FSecureLABS/drozer.git
cd drozer
pip install .

✅ Android端末側(Drozer Agent)

  1. Drozerの agent.apk を端末にインストール
  2. USBデバッグをONにする
  3. ポートフォワーディングを設定:
adb forward tcp:31415 tcp:31415
  1. Drozerエージェントを端末上で起動(手動でタップ)

🚀 Drozerを起動してみよう

Drozerのコンソールを起動するには、以下のコマンドを使います:

drozer console connect

うまく接続されると、以下のようなDrozerのプロンプトが表示されます:

dz>

この状態になれば準備OK! コマンドを使って、診断をどんどん進めていきます。


🔍 実例で診断してみよう(他アプリから呼び出せるか?)

✅ 目的:

exported=true のActivityが他のアプリから呼び出せる状態かを確認し、不正アクセスの危険性をチェックします。


① アプリのActivityを一覧表示:

dz> run app.activity.info -a com.example.vulnerableapp

出力例:

com.example.vulnerableapp.DebugActivity
  - exported = true

このように、DebugActivity が外部に公開されていることがわかります。


② 他アプリから起動できるか試す:

dz> run app.activity.start --component com.example.vulnerableapp com.example.vulnerableapp.DebugActivity

→ 実機でDebug画面が起動したら、他アプリから実行可能=脆弱性の可能性あり!


🧪 その他の診断モジュール

Drozerは他にも次のような診断が可能です:

モジュール 内容
app.broadcast.info 外部から送れるブロードキャストを調査
app.provider.finduris 外部からアクセスできるContent Providerを探す
app.package.attacksurface アプリが持つ“攻撃対象面”を自動で一覧化
app.service.info Serviceの外部公開状況を確認

特に content:// URIを使った診断は、個人情報やデータベース流出のチェックに非常に有効です。


👀 Drozer診断でわかること

  • 本来は外部からアクセスできないはずの機能が公開状態になっていないか?
  • サービスやブロードキャストに制限がなく、誰でも使えてしまう状態ではないか?
  • 診断によって**「権限設定ミス」「開発中のテスト機能の残存」**が明らかになることが多い

⚠ 注意:Drozer診断は実機必須!

Drozerは動的解析ツールのため、必ず実機(またはルート権限付きのエミュレータ)上で実行する必要があります。 アプリの「実際の動作」にアクセスするため、診断範囲は慎重に限定しましょう。


✅ まとめ

  • DrozerはAndroidアプリの動的診断ツールで、ActivityやServiceの外部公開を確認できる
  • 実機にエージェントをインストールし、コマンドラインから診断を実行する
  • Exportedな機能を実際に呼び出せるか確認できるのが最大の特徴
  • 設定ミスや開発者のうっかりミスによる“裏口”を見つける診断に最適!

Best regards, (^^ゞ




以上の内容はhttps://cysec148.hatenablog.com/entry/2025/07/25/180127より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14