0x01 本来の目的と適用可能なシナリオ
Android の USB デバッグ モードは、開発者がアプリケーション開発プロセス中にアプリケーションをデバッグまたはテストするために使用できるように設計されています。
adb は、アプリケーションのインストールとアンインストール、バックアップとリカバリ、ログ出力とフィルタリングなど、開発に役立つ一連の機能を提供し、また、かなりの権限を備えた非常に使いやすい adb シェルも提供します。
開発者に加えて、リバース アナリストも、アプリケーションのリバース分析や動的デバッグを実行するときに adb インターフェイスを使用します。たとえば、このインターフェイスを通じて、so または smali を動的にデバッグおよび追跡したり、一部の機能コードを動的にデバッグしたりできます。すぐ。
しかし、その豊富な機能の裏には、利便性とセキュリティはある程度反比例します。
0x02 adb情報漏洩と権限漏洩問題
アプリケーションリリース時にlogcatが出力したデバッグ情報を削除しないと、軽微なケースではlogcatが出力するなど機密情報が漏洩する可能性が非常に高いです。訪問した Web ページのリンクやその他の中間変数によって、アカウントのパスワードが漏洩する可能性もあります。結局のところ、Android 開発の敷居は低く、開発者のレベルには必然的にばらつきがあります。
デバッグを容易にするために、開発者は次のように記述することもあります:
Android の logcat 情報の漏洩は、次のように過去に何度も明らかにされています:
WooYun: Tuniu.com アプリの logcat 情報がユーザー グループに漏洩チャットの内容
WooYun: サーフィン ブラウザ logcat がユーザーのテキスト メッセージを出力します
WooYun: 杭州銀行 Android クライアントのログイン アカウントとパスワード情報がローカルに漏洩します
さらに、現在市場に出ている多くの Android アプリケーション脆弱性スキャン プラットフォームも logcat に焦点を当てています。 Tencent King Kong Audit System、Alibaba Security、360 Risk Mirror (旧 Bug Hunter) などの不正行為がスキャンされ、レポートに表示されます。これは、この問題の普遍性を側面から反映するものでもあります。
開発者の間違いに加えて、adb 自体の設計にもいくつかの欠陥があります。かつて、この問題を具体的に研究した論文「Bittersweet ADB: Attacks and Defenses」がありました。
ADB または ADB 権限を申請した Android アプリケーションを通じて、権限を申請せずにテキスト メッセージや通話記録などの個人情報を監視したり、画面クリック イベントを監視/シミュレートしたり、他のアプリケーションのプライベート ディレクトリにアクセスしたり、Android デバイスを監視したりできます. DoS攻撃などを行う。
上記の動作のほとんどは、adb Shell dumpsys コマンドを通じて取得できます。詳細については、参考リンク [2] を参照してください。
0x03 Android バックアップの問題
これは非常に古い問題で、低バージョンの Android システムでは、アプリケーションをバックアップするときにそのプライベート データがバックアップされ、次に示すように特定のツールでそれらを抽出できます。
#EV_KEY BTN_TOUCH DOWN sendevent /dev/input/event7 1 330 1 #EV_ABS ABS_MT_POSITION_X 366 sendevent /dev/input/event7 3 53 366 #EV_ABS ABS_MT_POSITION_Y 690 sendevent /dev/input/event7 3 54 690 #EV_SYN SYN_REPORT 00000000 sendevent /dev/input/event7 0 0 0 #EV_KEY BTN_TOUCH UP sendevent /dev/input/event7 1 330 0 #EV_SYN SYN_REPORT 00000000 sendevent /dev/input/event7 0 0 00x04 through adb starion adb経由なのでアプリのインストールが可能でサイレントなので当然ユーザーが意識することなく利用できます。
ただし、通常の馬には発見される可能性を高めるためのアイコンやインターフェースがない場合があり、起動されていないアプリケーションは実行できないため、登録したBroadcastReceiverは何も受信できません。覚醒のプロセスが必要です。
幸いなことに、adb シェルはこのウェイクアップ プロセスを実現することもでき、adb シェル am コマンドは特定のアプリケーション パッケージの特定のコンポーネントを開始できるため、ポニーは正常に実行できます。
もちろん、攻撃者が直接 adb でエクスプロイトをプッシュし、権限を root に昇格させるなど、より強力な方法を持っている場合は、より単純かつ粗雑なものになります。
0x05 悪意のあるコードの挿入
この方法は比較的洗練されており、USB デバッグに接続すると、一連のコマンドを使用して、携帯電話にインストールされているアプリケーションにカスタムの悪意のあるコードを挿入できます。このコードは、再生するのと同じくらい簡単です。挨拶だったり、非常に複雑なリモコンだったりします。
さらに信頼性を高めるために、たとえば、アドレス帳管理ソフトウェアを挿入した後、連絡先リストの読み取りを要求するアプリケーションを選択することもできますが、これは問題ないようです。
学界や産業界では再パッケージ化を防ぐための多くの対策が講じられていますが、実際のテストでは、この攻撃方法の成功率は決して低くはなく、たとえアプリケーションへのインジェクションが失敗したとしても、最も粗雑な方法である pm list パッケージが引き続き使用される可能性があります。 -3 すべてのパッケージをリストし、再試行します。
以下では、USB デバッグをオンにして携帯電話上のアプリケーションにメタスプロイト メータープリッター http リバース シェル ペイロードを挿入する簡単なプログラムを作成しました。一般的なプロセス中に携帯電話で操作を実行する必要はありません。ワークフローは次のとおりです:
挿入されたアプリケーションを再度クリックすると、リスニングサーバー上で開かれたハンドラー上でmeterpreterシェルを受け取ります:
上記により、Androidをリモート制御できますサーバー側のアプリケーションでは、Android meterpreter シェルを取得すると、プライバシーの盗用、テキスト メッセージの送信、Web ページを開く、スクリーンショットの取得、写真の撮影など、さまざまなことができるようになります。
さらに、リアルタイム監視のためにフロントカメラとリアカメラを呼び出すこともできます。
サポートされているコマンドの一部は次のとおりです:
0x06 最後に
4.4 以降の Android バージョンでは、Android デバイスで adbd に接続する場合は、ホスト マシンのフィンガープリントを検証する必要があります。これらの方法によって攻撃される可能性が大幅に減少します。ただし、現在 PC 上の Android 管理ソフトウェアは USB デバッグを有効にすることを強く推奨しており、有効にする方法も段階的に説明しているため、かなりの数の人が依然としてこのリスクにさらされています。
上記からわかるように、adb を通じて実行できることはまだたくさんあります。これらは、上記の攻撃を完全に防ぎたい場合によく使用されるいくつかの小さな方法です。最も簡単で効果的な方法は、USB デバッグをオフにして、通常のアプリケーション マーケットから信頼できるアプリケーションをダウンロードしてみることです。
結局のところ、あなたが駅や公共の場所で、誰かがそこに置いた公共の充電ソケットを使用していて、その背後に悪意のあるコンピュータがあり、たまたまそれを開けてしまったか、あるいはそれに誘導された場合を想像してみてください。 USB デバッグを開きます...

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SublimeText3 中国語版
中国語版、とても使いやすい

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

WebStorm Mac版
便利なJavaScript開発ツール

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。
