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衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

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