搞了一个基于 dirtycow 的 Android 的 root 工具

2017-01-21 05:18:34 +08:00
 hyln9
打个广告,这个带 SELinux 的 bypass ,大家可以帮忙测试一下吗?非常感谢~
地址: https://github.com/hyln9/VIKIROOT
17079 次点击
所在节点    Android
67 条回复
hyln9
2017-01-21 17:55:11 +08:00
@bdbai 你已经得到 shell 了吗?就是提示“ enjoy ”。如果是的话,那就是 root shell ,还具有 init 的 context ,然后你想干嘛干嘛咯,比如 remount 分区成 rw 然后手动安装 SuperSU 。不过这些功能还没有去实现自动化。
bdbai
2017-01-21 18:07:28 +08:00
@hyln9 在 "Waiting for reverse connect shell" 阶段然后要怎么做?
我试着用 telnet 连 localhost:8080 (之前指定了 8080 )然后这里出现 "enjoy",但两边不管输入什么都只会同时回显。姿势不对?
hyln9
2017-01-21 18:55:43 +08:00
@bdbai 有两种可能
1 、 Waiting for reverse connect shell 的时候你需要让手机做休眠唤醒的操作。
2 、你的系统已经打了 2016-11-06 的补丁。
hyln9
2017-01-21 18:57:56 +08:00
@bdbai
还有一种可能性,就是 /data/local/tmp/.x 没有删掉。
另外不要用 telnet 去连接,要等漏洞触发的自动连接。
Lentin
2017-01-21 19:15:36 +08:00
nexus 5 运行不能……没有编译 arm 的版本?
1|shell@hammerhead:/ $ /data/local/tmp/exploit 1234
/system/bin/sh: /data/local/tmp/exploit: not executable: 64-bit ELF file
Lentin
2017-01-21 19:21:14 +08:00
Lentin
2017-01-21 19:25:43 +08:00
好吧没看到 for 64-bit
kamen
2017-01-21 20:15:15 +08:00
dirtycow-capable 的具体条件是啥?
bdbai
2017-01-21 20:17:51 +08:00
@hyln9 休眠唤醒了几次,似乎没有用。我记得去年年底系统更新了一次,有可能修复了 dirtycow 。
app13
2017-01-21 20:22:32 +08:00
不知道影不影响三棒的 knox...
woyaojizhu8
2017-01-21 21:11:05 +08:00
请问可否与 phh 的 superuser 集成?
tyeken8
2017-01-21 22:00:53 +08:00
Xperia X Performance
Android 6.0.1
Security Patch Sept. 1 2016
Kernel version 3.18.20-perf-g776b104-02162-g4156bdb #1 SMP PREEMPT Fri Oct 7 19:01:11 2016 aarch64

shell@SOV33:/data/local/tmp $ ./exploit 12345

>>> Reverse shell target: 127.0.0.1:12345

>>> Exploit process starts.

>>> Inject: patch 1/2

>>> Inject: patch 2/2

>>> Please wake up you phone now.

>>> Waiting for reverse connect shell.

然后就卡住了
请问可能的原因是什么,有什么解决方法?
(记得我之前用另外的 exploit 成功拿到了 root shell ,但是没有 bypass selinux
woyaojizhu8
2017-01-21 22:13:46 +08:00
在三星 note5 上试了下,运行之后手机无反应,看来是已经修复这个漏洞了
woyaojizhu8
2017-01-21 22:14:52 +08:00
@tyeken8 我也是卡在这里了,这使我以为这个漏洞已经失效了
postlive
2017-01-21 22:57:07 +08:00
Internal error: insufficient place for payload.

提示这个 什么原因
woyaojizhu8
2017-01-21 23:05:10 +08:00
@hyln9 我的华为手机也是卡在 Waiting for reverse connect shell ,它的安卓补丁版本是 9 月的,应该还没修复这个漏洞;多次熄屏再唤醒也无效,这会是什么原因 ?
tyeken8
2017-01-21 23:20:27 +08:00
@postlive 重启手机试试
postlive
2017-01-21 23:57:32 +08:00
在 ADB 下执行 ./dirtycows 1234 之后就卡在 >>> Waiting for reverse connect shell. 这不动 超过 5 分钟没反应 屏幕设置的是长亮 没有锁屏

重新打开一个 Telnet 连接 手机 IP 1234 之后 就出现>>> Enjoy! 然后按什么都是没反应 没提示的状态

hyln9
2017-01-22 03:47:06 +08:00
@postlive
” Internal error: insufficient place for payload. “是因为没有成功触发所以没有清除掉后门,目前我还没有处理这个情况,你只好重启来解决这个问题了。
另外,特别需要的那一步不是使手机保持唤醒,而是要有唤醒的动作,也即从休眠状态到唤醒的一下。
我正在研究 Android 的源码寻找别的触发机会。
hyln9
2017-01-22 03:55:12 +08:00
@postlive 还有就是 /data/local/tmp/.x 必须删除(这是隐藏文件要 ls -A 看得到)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/335989

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX