关于android-root的一点材料整理
root的方案
获取root权限有哪些方式?
使用本地提权漏洞利用工具来直接 Root,这是最原始最纯洁的方式。随着厂商对 Rom 的升级,这些内核的漏洞随时都可能被修补,因此,这种 Root 方法在时间与空间上都有着很大的局限性。
刷第三方的 Recovery,利用 Recovery 来提权。但目前手机厂商为了保障手机安全性和可控性,一般会选择锁死 Bootloader ,so - -#
刷第三方 Rom 包,目前很多第三方 ROM 是自带了 Root 的。但手机厂商在 OTA 升级时使用 Recovery 对包签名进行验证来防止用户刷入修改过的包。这种情况下,就只能通过 FastBoot 来刷了。
获取root权限的过程
利用本地提权漏洞来实现root
在大多数情况下都遵循以下步骤:
需要使用漏洞的原因:
中文版的/system路径是只读权限,我们是不能完成写入或者copy操作的
chmod命令是需要拥有Root权限后才可以使用的,我们的在操作的时候是没有Root权限的,所以这个命令在我们Root过程中是无法使用的。
某些厂商定制的系统在系统重新启动的时候会自动将su的权限从4755改成755或者直接删除了su,正是因为这个原因我们经常会碰到,明明我们是已经Root过的手机,但是手机重启后就没有Root权限了。这种只是临时获得的Root权限。
其中Exploit在Root过程中扮演着关键角色;exp可能是一个工具,也有可能是一整套,它是对于系统漏洞或者Android源码漏洞加以利用的工具,突破上文的逻辑闭环的工作就是由它完成。根据不同的版本,都会有不同的exploit,比如早期的ratc,psneuter等。
示例:
刷recovery方式来实现root
通过pc端工具,连接手机也可以进行root。
pc端工具会根据机型选择对应的修改后的recovery(其中认同度最高的是ClockWorkMod的recovery),通过cat或dd命令将su刷入recovery对应的硬件地址。
recovery其实是一个小型的手机系统,也是linux内核的。也就是说,可以理解为手机上装了双系统,一个是android系统,一个是recovery。如果android系统被毁了(比如删了rom中的/system分区),手机还是可以进入recovery的。
通过recovery怎样获取root权限呢?原理很简单,进入recovery后,/system分区就变成了rom中的一个硬件盘块,对它当然可以自由修改。我们把su放到/system/xbin文件夹下,赋予rwsr-sr-x权限,基本就大功告成了。
刷ROM方式获取得到root
一般只有非常少的机型支持从SD卡boot来进行root或刷机,这里就简单介绍一下这种情况root的思路:因为是从SD卡boot,所以SD卡上会有对应的boot.img。修改这里的boot.img,就可以达到我们的目的。
用于提权的漏洞
漏洞CVE号/名称
简介...
dr0v
blog.drov.com.cn一个人碎碎念。
A lazy security employee.