Android

RedHook Androidマルウェアの新バージョンは、Androidワイヤレスデバッグ(Wireless ADB)の仕組みを斬新な方法で悪用し、コンピュータへの接続を必要とせずにシェルレベルの権限を取得する。

サイバーセキュリティ企業Group-IBの研究者らは、このモバイルマルウェアの新バージョンを分析し、2025年に報告された以前の亜種と比較して、その機能が大幅に拡張されていると述べています。

同時に、このマルウェアはリモートアクセストロイの木馬(RAT)としての機能も維持しており、画面のストリーミング、キー入力の傍受、UI操作の自動化、認証情報の窃取が可能となっている。

image

自律的なワイヤレスADBの悪用

ADB(Android Debug Bridge)は、ユーザーがコマンドラインからAndroidデバイスを制御できるようにするGoogleのデバッグインターフェースです。

Android デバイス上で ADB デーモンとして動作するこのシステムにより、ADB クライアントを実行しているコンピュータからシェルコマンドを実行することが可能になります。

Android 11で初めて導入されたワイヤレスADBは、デバイスをUSBケーブルで接続する必要なく、同じ機能をワイヤレスで提供します。

RedHookは、被害者に「アクセシビリティ」権限を付与させるよう仕向けることで、実質的にスマートフォンを独自のADBクライアントに変えてしまいます。これにより、設定の自動操作、開発者向けオプションの有効化、およびワイヤレスデバッグの起動が可能になります。

その後、マルウェアは画面に表示されたペアリングコードを取得し、ループバックインターフェース(127.0.0.1)を介してスマートフォンのADBサービスに接続します。

ペアリングが完了すると、マルウェアはシェル(UID 2000)の権限を取得します。これはルート権限ではありませんが、通常のAndroidアプリが利用できる権限よりもはるかに強力です。

この攻撃チェーン全体において、デバイスのルート化は不要であるため、ユーザーがだまされて「アクセシビリティサービス」の権限要求を承認してしまう限り、すべてのAndroidデバイスで機能します。

次に、マルウェアは「Shizuku」ベースのフレームワークを展開し、シェルコマンドの実行、追加の権限の付与、保護された Android 設定の変更、アプリケーションの無断インストールや削除、ユーザーダイアログを表示せずにさまざまな操作を実行します。

Shizuku は、パワーユーザーや開発者の間で人気のある正規の Android ユーティリティであり、デバイスのルート化は必要ありません。

RedHookは、攻撃チェーンの一環としてShizukuのコードを実行し、それを特権サーバー(libmx.so)として利用して、UID 2000として特権Android APIを呼び出します。

Attack chain
RedHookマルウェアの攻撃チェーン
出典:Group-IB

Group-IBのレポートによると、このマルウェアの現行バージョンは、サーバーから発行される53のコマンドに対応しており、その中には以下のものが含まれます:

  • 画面のストリーミングおよびスクリーンショットの取得
  • タップ、スワイプ、ジェスチャー、ドラッグ、長押しをシミュレート
  • デバイスのロック/ロック解除
  • アプリのインストール、起動、アンインストール
  • 連絡先、SMS、およびアプリの収集
  • オーバーレイや偽の認証ダイアログを作成する
  • カメラを起動する
  • デバイスの再起動

Group-IBのレポートでは、このマルウェアの複数の永続化メカニズムについても強調されています。

RedHook は、プロセスの優先度を高めるためにサイレントオーディオ再生を利用し、CPU のスリープを防ぐために WakeLock を使用し、一方のサービスが終了すると他方が再起動するという 2 つのサービスを利用しています。

その他のメカニズムとしては、5 分間のウォッチドッグアラーム、デバイスの起動後の自動再起動、利用可能なシステムメモリが不足した際にプロセスが強制終了される可能性を減らすために oom_score_adj を -1000 に設定することなどがあります。

RedHookの最新バージョンは、ソーシャルエンジニアリングを通じて配布されており、攻撃者が政府機関や金融機関を装ってメッセージや電話をかけ、被害者を偽のGoogle Playサイトに誘導します。

Androidユーザーは、Google Playからのみアプリをインストールし、インストール時に要求される権限を精査し、デバイス上でPlay Protectが有効になっていることを確認することが推奨されます。