-
-
[求助] 大神救我。。CVE-2019-2215 root提权之人造页表,kernel代码区域依然只能读不能写
-
-
[求助] 大神救我。。CVE-2019-2215 root提权之人造页表,kernel代码区域依然只能读不能写
近日研究 CVE-2019-2215 漏洞提权, 漏洞本身我并没有去关心,因为下了个利用代码,提权流程已经能跑到修改进程 Cred 结构成员了,
现在卡在了,过不了selinux(这中间有很多怪毛病:举例 patch
struct task_security_struct {
u32 osid; /* SID prior to last execve */
u32 sid; /* current SID */
u32 exec_sid; /* exec SID */
u32 create_sid; /* fscreate SID */
u32 keycreate_sid; /* keycreate SID */
u32 sockcreate_sid; /* fscreate SID */
};
成员后程序卡死; 执行 system("/system/bin/sh") 程序被Killed, 调用 pipe write 修改内核代码一样被Killed等毛病 )。
翻阅了很多帖子教程,翻了很久的MMU 页表文档,修改selinux_enforcing selinux_enabled这两个东西,此路不通,我的内核没有
selinux_enforcing这个全局变量,内核已被强制不允许 关闭selinux, 所以只能采取修改
selinux_enforcing 相关的函数, static noinline int avc_denied(u32 ssid, u32 tsid,u16 tclass, u32 requested,u8 driver, u8 xperm, unsigned flags,struct av_decision *avd) ,
经我用别的android 机器测试,采用 《KSMA -- Android 通用 Root 技术》 进行人造MMU 页表,然后patch 掉该函数是可以的。 现在悲剧的是,我这真正需要提权的设备,采用人造页表也不能 对kernel 代码区域进行内存修改。 你敢修改,程序就敢Killed
~~挤眉~~ 大神 大神 求支个招哇, MMU 机制看了老久,kernel 的create_page_tables函数也看了很久, 头大
补充下,测试能成功提权的机器是 android 8.0 的已经root , 真正需要root的机器是android 8.1
贴个链接:
bcbK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Z5k6i4u0F1j5h3&6Q4x3X3g2V1k6g2)9J5c8X3u0D9L8$3N6Q4x3V1j5J5x3o6p5&6i4K6u0r3x3e0m8Q4x3V1j5I4y4g2)9J5c8Y4c8S2K9h3I4G2M7X3W2F1k6#2)9J5k6r3y4$3k6g2)9J5k6o6t1H3x3e0W2Q4x3X3b7J5x3U0p5#2i4K6u0V1N6r3!0Q4x3X3c8S2j5$3S2A6k6i4k6W2i4K6u0V1M7X3!0G2N6q4)9J5c8R3`.`.
里边两个工具 droidimg miasm 好东西,在只有2进制 kernel 文件的时候,这工具可以把 内核符号和不考虑kasr的地址给遍历出来,方便后续分析
[培训]科锐逆向工程师培训第53期2025年7月8日开班!
最后于 2020-4-7 11:18
被酒肉和尚编辑
,原因: