OnePlus Nord 2 には、攻撃者が無制限の root シェル アクセスを取得できる脆弱性があります。 さらに詳しく知りたい方は続きをお読みください。
XDA-Developers の私たちの多くは、もともと、次のことを探していたときに初めてフォーラムを閲覧し始めました。 Android デバイスを root 化する. 当時、人々はよく「ワンクリック ルート」メソッドに依存していました。 既存のファームウェアの既知の特権昇格の脆弱性をターゲットにして root を取得するペイロード アクセス。 暗号化、権限、プライバシー関連の処理の改善と変更により、最新の Android デバイスはそのような攻撃ベクトルから比較的安全になっていますが、攻撃の余地は常に残されています。 エクスプロイト そして 脆弱性.
OnePlus は主要な Android OEM の中でその名を確固たるものにしたかもしれませんが、その携帯電話は 見知らぬ人ではありません に セキュリティ上の欠陥. 今回、同社は、かなり興味深い (つまり、懸念すべき) 脆弱性をパッチせずに放置しました。 ワンプラス ノード 2 発売以来。 抜け穴を悪用するにはデバイスへの物理的なアクセスが必要ですが、攻撃者は効果的に ユーザーが資格情報を入力する前に、無制限の root シェルを取得する. 注目すべきは、新たに発売された Nord 2のパックマン版 も影響を受けます。
背景
現在、Android スマートフォンで root アクセス権を持つことについて話すとき、人々は通常次のことを考えます。 Magisk を使用してストック ブート イメージにパッチを適用する まずブートローダーのロックを解除した後、パッチを適用したイメージをターゲット デバイスにフラッシュします。 こうすることで、エンドユーザーはマネージャー アプリを通じて「su」バイナリに監視付きでアクセスできるようになります。 他にもいくつか 実験的アプローチ 存在しますが、主流の使用法ほど多くのものが集まることはめったにありません。
ただし、プリプロダクションとなると、シナリオはまったく異なります。 デバイスのファームウェアを準備する際、エンジニアはルート アクセスを含むさまざまなログ パラメータをオンにする必要があります。 上でも ユーザーデバッグ 建てる
では、Android Debug Bridge Daemon (adbd) が root として実行されるため、デバッグ目的で特権シェル アクセスが可能になります。 ファームウェアの出荷準備ができたら、展開する前にこれらのデバッグ パラメータをすべてオフにする必要があります。しかし、それを忘れたらどうなるのでしょうか? OnePlus Nord 2 の公式 OxygenOS リリースにはそのような欠陥があることがわかります。
OnePlus Nord 2 -- ルート シェルの脆弱性
Samsung などの一部の OEM は、小売デバイスの在庫回復においてアップデート パッケージのサイドローディング機能を提供しています。 その場合、 adbd
binary はサイドローディング中は非常に高い特権で実行されますが、更新プロセスが終了するとすぐに自動的に終了します。 それ以外に、OEM が提供するリカバリ環境では ADB アクセスは許可されません。
OnePlus では、ユーザーが ADB サイドロードを介したストック リカバリを通じて更新 ZIP パッケージをフラッシュすることはできなくなりました。 他のすべてが適切に構成されていると仮定すると、通常の OnePlus デバイスの回復環境は、ADB を使用してあらゆる種類のペイロードを配信する攻撃者から安全であるはずです。 残念ながら、OnePlus Nord 2 の場合、すべてが計画どおりに進むわけではありません。
それが判明したとして、 OnePlus Nord 2 の回復環境内では、誰でも root 権限で Android デバッグ シェルを生成できます. 重要なデバッグ設定の 1 つが実稼働ビルドに影響を与えたようで、それがこの不具合の原因となっています。
OnePlus Nord 2の欠陥を悪用する
OnePlus Nord 2を再起動してリカバリモードにするだけです。 攻撃者はデバイスを奪い、単純なハードウェア ボタンのコンボを使用して強制的にリカバリ モードに移行する可能性があります。 実際、脆弱なセクションはその前にあるため、実際の回復メニューに到達する必要はありません。 XDA シニア メンバーの功績は称賛されます アンドロプラス のために 指摘 この不具合の存在は 2021 年 10 月に遡ります。
- 電話機の電源がオフのときに、音量を下げるボタンと電源ボタンを同時に押して、 画面の左下隅にある小さな「RECOVERY MODE」バナーが付いた OnePlus ロゴを確認してください。
- 次に、言語の選択画面が表示されます。 ここからすぐに ADB アクセスを開始できるため、先に進む必要はありません。
- 次に、USB ケーブルを使用して電話機を PC (または Mac) に接続します。 Windows を使用している場合は、デバイス マネージャーに新しい Android USB デバッグ インターフェイスが表示されます。 適切なインストールも必要になる場合があります。 Android USBドライバー Windows が新しいデバイスを認識する前に。 一方、Linux および macOS ユーザーは、
lsusb
新しいハードウェア インターフェイスの存在を検出するコマンド。 - すでに最新バージョンを持っていることを考慮すると、 ADBとファストブート PC/Mac にインストールされているユーティリティを使用して、コマンド プロンプト/PowerShell/ターミナル インスタンスを起動し、次のコマンドを実行します。
Nord 2 がリカバリ モードでリストされるはずです。 ここでは標準の ADB 認証プロンプトが必要ないため、これも特に興味深いものです。 「デバイスが未承認」エラーが発生する場合がありますが、ホスト PC の既存の ADB RSA キー データベースを消去し、ADB サーバーを再起動すると、最終的には認証できるようになります。adb devices
- 今すぐ指示してください
adbd
root として実行するには:
このコマンドには時間がかかる場合があり、タイムアウト エラーが発生する可能性があります。 とはいえ、今では、adb root
adbd
root として実行する必要があります。 - 最後に、次のコマンドを使用してシェルの特権レベルを確認します。
adb shell whoami
欠陥の程度
このセキュリティの脆弱性が悪用される可能性は恐ろしいものです。 OnePlus Nord 2 への攻撃が成功すると、攻撃者はデバイスのすべてのパーティションをダンプできます。 その結果、攻撃者は、通常はアクセスできないアプリケーションのプライベート データ ディレクトリに保存されているファイルを含む、データ パーティション全体にアクセスできるようになります。 (ユーザーが PIN またはパスワードを設定したため) データ パーティションが暗号化されている場合でも、ダンプはフォレンジック分析に役立つ可能性があります。
それだけでなく、実行可能ファイルをプッシュすることもできます。 /data/local/tmp
そこから実行します。 これは古典的な攻撃ベクトルであり、別のエクスプロイトをチェーンロードするのに役立つ可能性があります。 さらに、 setprop
ユーティリティを root として使用してさまざまな prop 値を変更すると、特権のある OEM 固有の変数の一部を技術的にハイジャックできます。 最後になりましたが、開発者向けオプションのロックが解除されていない場合でも、電話機は、USB デバッグ アクセスを呼び出すと自動的にプロンプトを表示します。 ADB がリカバリ中であり、通常の Android 環境に再起動されます。これは、脆弱性の範囲がリカバリ セクションだけに限定されないことを意味します。 のみ。
回復環境ではパッケージ マネージャー ユーティリティにアクセスできないため、ADB を使用して APK ファイルをインストールできないことに注意してください。
OnePlus Nord 2 が影響を受けているかどうかを確認するにはどうすればよいですか? (ヒント:そうです)
前述したように、OnePlus Nord 2 の通常版と特別版のパックマン エディションの両方でこの脆弱性が悪用される可能性があります。 簡単に言うと、ルート シェルに入ると (シェル シンボルがいつ変更されるかがわかります) $
に #
)、欠陥が存在することがわかります。
で root シェル アクセスを取得することに成功しました。 デバイス用の最新のインドおよびヨーロッパの公開 OxygenOS ファームウェア、つまり 世の中にあるすべての OnePlus Nord 2 ユニットが脆弱です この記事を書いている時点では。
次は何ですか?
さらなる情報が入手可能になり次第、この件についてフォローアップしていきます。 OnePlus はこの問題に関して次の声明を発表しました。
私たちはプライバシーとセキュリティを非常に重視しています。 私たちはこの問題を優先しており、さらなる情報が入り次第、最新情報を共有いたします。
これらすべてが恐ろしいように思えますが、攻撃者が root シェル アクセスを取得するには電話に物理的にアクセスする必要があることに注意してください。 OnePlus が脆弱性を修正するアップデートを公開するまでは、OnePlus Nord 2 を見知らぬ人から遠ざけるようにしてください。 悪意のある使用の事例には遭遇していませんが、この脆弱性は少なくとも 2 か月前から蔓延しているため、その可能性を無視することはできません。