该项目是 CVE-2019-2215 在华为 P20lite 上的漏洞利用,系统版本为 Android 8.0.0。内核版本为 4.4.23。
这一漏洞很可能是该主题中记录最详尽的一个(教程、在实体手机上的实际移植),并且我有一部存在漏洞的手机,因此这是学习 Android 内核漏洞利用的良好起点。
警告:该漏洞利用会将所有 SELinux 类型设为宽松模式,因此可能允许其他应用绕过 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 策略。
我用于学习该漏洞利用的相关链接。