通过 CVE-2019-2215 对华为加固内核实现临时 root
此代码为 P20 Pro (CLT-AL00) 编写,内核偏移取自固件,其构建指纹为:'HUAWEI/CLT-AL00/HWCLT:8.1.0/HUAWEICLT-AL00/176(C00):user/release-keys'
与三星的 KNOX 类似,华为加入了大量机制来防止黑客利用漏洞,并提升“安全性”。
kti_offset 进行混淆(类似 KASLR)KERNEL_DS 或 USER_DS,修改 current_thread_info()->addr_limit 将不起作用commit_creds() 的情况下变为 root,进程会在访问检查期间被立即杀死ss_initialized policydb->permissive_map security_hook_heads这些机制使得旧款华为设备即使存在 CVE-2019-2215 漏洞,也难以被利用。
首先,编译并运行 patch_system.c,它会通过破坏 selinux 映射并调用 avc_ss_reset() 来使 selinux 失效。
接下来,编译并运行 poc.c 以获得 root shell。
(可选)编译 su 守护进程并由 poc 启动,以允许其他应用使用 root(参见 scripts/termux-boot)。
su 守护进程取自并修改自 https://github.com/corellium/sud