以下の内容はhttps://cysec148.hatenablog.com/entry/2025/09/21/140758より取得しました。


第73回:模擬アプリ診断演習③

Hello there, ('ω')ノ

✅ バックドアとは?

定義:

開発者がテストや保守の目的でアプリに組み込んだ隠し機能

通常は使われないパスや特定のコマンド、入力によって有効になります。


🔍 想定されるバックドアのパターン

タイプ
隠しアクティビティ 特定のIntentで起動する“隠し画面”
裏パスワード 特定の文字列を入力すると認証をスキップ
ハードコードされた管理者ID 特定IDでログインするとフル権限になる
デバッグモードONスイッチ 特定のBroadcastやFlagで有効化

🧪 Step 1:MobSFやAPKToolでコード構造を調査

調査ポイント:

  • MainActivityLoginActivityif 文で裏条件がないか?
  • Intent を受け取って動作する AdminActivity のような名称のクラスがないか?
  • BuildConfig.DEBUG == true 時に実行される処理が隠されていないか?

例:怪しいコード発見!

if (username.equals("admin") && password.equals("letmein")) {
    // 通常ログイン処理をスキップ
    moveToAdminPage();
}

👉 ハードコードされた管理用バイパスを確認。これは明確なバックドアです。


🧪 Step 2:DrozerでExportedなコンポーネントを再チェック

run app.package.attacksurface com.example.notepadapp

com.example.notepadapp.AdminActivityexported=true で登録されていることを発見。

run app.activity.start --component com.example.notepadapp/.AdminActivity

👉 通常の操作ではたどり着けない“管理者画面”が起動してしまう


🧪 Step 3:Logcat・フックツール(Frida)で隠し処理を探る

Fridaを使って、LoginActivity にフックし、ログイン判定を監視:

Java.perform(function() {
  var login = Java.use("com.example.notepadapp.LoginActivity");
  login.checkLogin.implementation = function(u, p) {
    console.log("[*] Trying username: " + u);
    console.log("[*] Trying password: " + p);
    return this.checkLogin(u, p);
  };
});

→ 特定のパスワード(例:letmein)を入力したときだけ挙動が変わることが確認できる。


📋 今回の演習で発見されたバックドア一覧

機能 内容 想定されるリスク
裏パスワード letmein 通常認証を回避 誰でも管理者権限を奪取できる
AdminActivity(隠し画面) Intentから直接起動可能 セキュリティ設定やデータに直接アクセス可能
フラグ debug=true で裏機能有効化 起動オプションで開発用UIが出現 攻撃者が機能を発見・操作する可能性あり

✅ 対応策(開発者に伝えるべき内容)

対象 対策案
ハードコードの裏口 リリースビルドでは必ず削除
Exportedな隠しActivity exported="false" + android:enabled="false" に設定
デバッグスイッチ BuildConfig.DEBUG で本番ビルドでは無効化
ログ出力 バックドアに関するログは出力しない、または開発中のみ

✅ まとめ

  • バックドアは「うっかり残ったコード」でも、攻撃者には「最大のチャンス」になる
  • Drozer, Frida, MobSF, Logcat を活用することで見えない機能を見える化できる
  • セキュア開発の観点では、「不要なコードはデプロイしない」が鉄則

Best regards, (^^ゞ




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

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