
Huawei P20 Lite 向け CVE-2019-2215 (bad binder) エクスプロイト
このプロジェクトは、Android 8.0.0 を搭載した Huawei P20lite における CVE-2019-2215 のエクスプロイトです。カーネルは バージョン 4.4.23 です。
この脆弱性はおそらくこのトピックの中で最も多くドキュメント化されているもの(チュートリアル、実機への実際の移植)であり、 私も影響を受ける端末を持っているため、これは Android カーネルエクスプロイトを学ぶための良い出発点になります。
警告: このエクスプロイトはすべての SELinux タイプを permissive に設定するため、他のアプリが SELinux をバイパス できる可能性があります。
まずリポジトリをクローンします :
git clone https://github.com/willboka/CVE-2019-2215-HuaweiP20Lite.git
cd CVE-2019-2215-HuaweiP20Lite
setools-android をフォルダ CVE-2019-2215-HuaweiP20Lite 内でクローンし、libsepol (libsepol.a) をコンパイルします。以下のコマンドでそれを実行します :
make libsepol
SELinux をバイパスするために必要です。
次のコマンドでプロジェクトをビルドします :
make # or do: NDK_PROJECT_PATH=. ndk-build NDK_APPLICATION_MK=./Application.mk
バイナリはフォルダ libs/arm64-v8a にあります。
以下のコマンドでビルドして /data/local/tmp にプッシュします :
make push
CLI から cve-2019-2215 バイナリを起動します(Termux と ADB でテスト済み) :
/data/local/tmp/cve-2019-2215 # from adb
再起動すると SELinux ポリシーがリセットされます。
この脆弱性のエクスプロイトについて学ぶために使用したリンクです。