
Эксплойт для CVE-2019-2215 (bad binder) для Huawei P20 Lite
Этот проект представляет собой эксплойт для CVE-2019-2215 на Huawei P20lite с версией Android 8.0.0. Ядро находится на версии 4.4.23.
Данная уязвимость, вероятно, самая документированная (руководства, реальное портирование на физический телефон) по этой теме, и у меня есть уязвимый телефон, так что это хорошая отправная точка для изучения эксплуатации ядра Android.
Предупреждение: Эксплойт делает все типы SELinux permisssive, поэтому может позволить другим приложениям обходить 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 # или: NDK_PROJECT_PATH=. ndk-build NDK_APPLICATION_MK=./Application.mk
Бинарный файл находится в папке libs/arm64-v8a.
Соберите и отправьте в /data/local/tmp с помощью:
make push
Запустите бинарный файл cve-2019-2215 из командной строки (протестировано с Termux и ADB):
/data/local/tmp/cve-2019-2215 # из adb
Перезагрузите устройство для сброса политик SELinux.
Ссылки, которые я использовал для изучения эксплуатации этой уязвимости.