
CVE-2023-35674 のガイドおよび理論的コード
CVE-2023-35674 のガイドと理論的コード
Android は私のスキル範囲外なので、これを私の視点からこの CVE をどのように悪用するかの概要としてご覧ください。コードスニペットは単なるスケルトンです。助けてください :) まず第一に、CVE-2023-35674 単独では悪用できません。なぜか? CVE-2023-35674 は論理エラーのため、バックグラウンドアクティビティを起動することしか許可しないからです。つまり、この CVE を使ってアプリをバックグラウンドで起動し、CVE-2021-0307 のようなものを使用して権限昇格を行うことになります。アドバイスとして、これら 2 つの脆弱性を完全に悪用(つまりチェーンを使う)できる唯一の条件は、Android 11 である場合のみです。
さて、CVE-2023-35674 について。根本原因は、仮想プレゼンテーションはプライベート仮想ディスプレイ上でのみ表示可能であり、それがアプリをフォアグラウンドと見なす原因になるべきではない、という点です。そこで、私は Google ドキュメントから Presentation.java のコードを追加し、仮想プレゼンテーションを開始し、その中でクラスのインスタンス(アプリを起動する方法に置き換えるべき)を開始します。これによりデフォルトでアプリがバックグラウンドで起動します。[1]
次に、EoP 部分について... CVE-2021-0307 については、これを参考にしました(https://blog.thalium.re/posts/leveraging-android-permissions/)... より正確には、これです。

そこで当然、スケルトンをコーディングしようと考えました。なぜなら、Android は私の手に負えず、私は怠け者だからです。そのようにして MainActivity.java が生まれました。今はもう少し理解が深まったので、エクスプロイトの流れは少し異なるべきだと思います。どのようにか?
まず、バックグラウンドでアプリを起動する [1] は依然として尊重されるべきです。しかし、EoP については、以下の画像のようなものになるはずです。

ご覧の通り、エクスプロイトの流れは同一ですが、EoP のようにエクスプロイトを終了する代わりに、バックグラウンドで起動したアプリで終了します。
つまり、一般的に言えば、EoP を得るための 2 つの方法を説明したと思いますが、CVE-2023-35674 だけではバックグラウンドでコードを実行できるだけだと思います。しかし脱線しますが、この CVE-2023-35674 を悪用するには 2 つの方法があると思います。
ここに書いたことはすべて、鵜呑みにしないでください。さらなる通知(Android エクスプロイトを知っている共同作業者を見つけるまで)があるまでは。