首页
社区
课程
招聘
[求助] 大神救我。。CVE-2019-2215 root提权之人造页表,kernel代码区域依然只能读不能写
2020-4-6 21:40 6589

[求助] 大神救我。。CVE-2019-2215 root提权之人造页表,kernel代码区域依然只能读不能写

2020-4-6 21:40
6589
近日研究 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 
贴个链接:  https://hernan.de/blog/2019/10/15/tailoring-cve-2019-2215-to-achieve-root/
里边两个工具 droidimg miasm 好东西,在只有2进制 kernel 文件的时候,这工具可以把 内核符号和不考虑kasr的地址给遍历出来,方便后续分析




[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

最后于 2020-4-7 11:18 被酒肉和尚编辑 ,原因:
上传的附件:
收藏
点赞0
打赏
分享
最新回复 (18)
雪    币: 464
活跃值: (2021)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
酒肉和尚 2020-4-7 10:54
2
0
大神们不要潜水呀,多出来透透气
雪    币: 7816
活跃值: (1068)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
jltxgcy 2 2020-4-7 14:16
3
1
你的问题是已经构造了人工页表,也不能对内核任意读写?看下系统崩溃日志,为什么程序会crash。反复检查和理解人工页表是否理解和使用正确。最后看下内核版本,是否该内核版本已经把内核镜像攻击这个洞给修复了。
雪    币: 464
活跃值: (2021)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
酒肉和尚 2020-4-7 15:55
4
0
仅仅只是代码区域不能写,全局变量什么的是可以写的,读是可以的, 看不了crash, logcat 这边没日志, dmsg 内核层日志没有root不让看
雪    币: 16154
活跃值: (5941)
能力值: ( LV13,RANK:861 )
在线值:
发帖
回帖
粉丝
大帅锅 4 2020-4-7 16:24
5
0
拿着root的8.0,刷入改了的8.1。不就可以了,不过我这只是嘴上说的轻巧
雪    币: 464
活跃值: (2021)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
酒肉和尚 2020-4-7 16:51
6
0
不能刷机哦, ~~挤眉~~
雪    币: 232
活跃值: (919)
能力值: ( LV4,RANK:44 )
在线值:
发帖
回帖
粉丝
湘北三井同学 2020-4-10 16:15
7
0
漏洞能触发不,2215之前适配过,有些内核结构体偏移是不一样的
雪    币: 464
活跃值: (2021)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
酒肉和尚 2020-4-10 21:09
8
0
湘北三井同学 漏洞能触发不,2215之前适配过,有些内核结构体偏移是不一样的
能触发,都能读内核内存了
雪    币: 464
活跃值: (2021)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
酒肉和尚 2020-4-10 21:12
9
0
湘北三井同学 漏洞能触发不,2215之前适配过,有些内核结构体偏移是不一样的
接下来只能看看 能不能通过avc_search_node 函数   修改avc_cache结构成员,使其权限审核为 允许。
雪    币: 464
活跃值: (2021)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
酒肉和尚 2020-4-12 15:29
10
0
湘北三井同学 漏洞能触发不,2215之前适配过,有些内核结构体偏移是不一样的
湘北三井同学 吾爱的帖子是你发的?
雪    币: 232
活跃值: (919)
能力值: ( LV4,RANK:44 )
在线值:
发帖
回帖
粉丝
湘北三井同学 2020-4-13 12:29
11
0
酒肉和尚 湘北三井同学 吾爱的帖子是你发的?
嗯,你到compute_sid_handle_invalid_context和selinux_is_enabled找selinux_enforcing ,selinux_enabled这两个变量看看,但应该不是这里的问题
雪    币: 464
活跃值: (2021)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
酒肉和尚 2020-4-13 13:51
12
0
  
没有哦~~~ 直接返回 -EACCES (0xFFFFFFFF3)了
雪    币: 464
活跃值: (2021)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
酒肉和尚 2020-4-13 18:05
13
0
   @ 湘北三井同学 。。。。。。。
雪    币: 232
活跃值: (919)
能力值: ( LV4,RANK:44 )
在线值:
发帖
回帖
粉丝
湘北三井同学 2020-4-14 10:51
14
0
如果内核改掉的化,那avc_denied里应该也没这变量,但不清楚patch不了的具体原因,前面伪造的页表已经写入成功了?直接用漏洞写可不可以
雪    币: 464
活跃值: (2021)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
酒肉和尚 2020-4-14 13:43
15
0
湘北三井同学 如果内核改掉的化,那avc_denied里应该也没这变量,但不清楚patch不了的具体原因,前面伪造的页表已经写入成功了?直接用漏洞写可不可以
伪造的也表写入成功了(代码区域,全局变量区域也不能改,前边说错了,能改的貌似只有堆栈内存),用漏洞写,尝试过一次,映像中也是 killed , 还有什么Bus error 的错误提示 

感觉只能熟读selinux代码,然后在内存里修改策略
最后于 2020-4-14 13:46 被酒肉和尚编辑 ,原因:
雪    币: 28
活跃值: (51)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
tewilove 2020-4-17 11:40
16
0
三星?
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
kasa_ 2021-3-12 17:47
17
0
大佬后来有方法解决吗?小白也遇到同样问题了
雪    币: 464
活跃值: (2021)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
酒肉和尚 2021-3-18 21:05
18
0
kasa_ 大佬后来有方法解决吗?小白也遇到同样问题了[em_10]
你才是大佬,解决了告诉小白一下
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
kasa_ 2021-3-19 15:34
19
0

我这边遇到一样问题,也是bus error,最终你解决了嘛?

最后于 2021-3-19 15:34 被kasa_编辑 ,原因:
游客
登录 | 注册 方可回帖
返回