Root,对于任何手机发烧友、玩机客、从事移动设备研发的人员来说,并不陌生,它代表绝大部分移动设备的使用者能够掌握到的最高权限。
从技术层次来讲,用户拥有了修改系统文件的权限,甚至可以控制账户、增加或删除硬件等,但对普通用户来说,最大的一个用处就是卸载“Root之前无法卸载的软件”,部分品牌商在手机出厂之前内置安装了一些无法卸载的软件,这些软件在手机Root之后,都可以被卸载掉,Root相当于让用户拥有了自由增减软件的权限。
Root一词起源于Linux/Unix系统,众所周知,Linux/Unix系统的文件系统以根“/”出发向下形成一个倒置的树型文件系统结构,Root即根的英文释义,那么Linux/Unix系统就以Root账号所拥有的权限作为系统管理员的权限,口口相传,Root就代表了Linux/Unix上最高的权限。
在移动设备发展的初期,各种移动设备所使用的操作系统各不相同,比较出众的有塞班、Windows Phone、iOS、安卓。随着市场的选择,只有安卓与iOS留存下来,成为普及的手机操作系统。按照POSIX标准协议和开源协议的规定,安卓与iOS都应该保留了Linux/Uinx上的相应的功能。
其中,安卓就是以Linux作为基础进行构建的系统,而iOS则是使用了以xnu为内核的Darwin(Darwin来自于BSD)。按照开源操作系统而言,安卓和iOS都理应保留所有用户使用Root账户去掌控自己设备的权限。
但现实情况是,安卓与iOS不允许用户使用Root权限,尤其是iOS对于Root权限的监控与封锁达到了前所未有的地步,以至于对iOS的Root被称作“越狱”。iOS上的Root过程相对于安卓更为复杂与困难,所以本文主要以安卓系统的Root为主,详细介绍Root的前世今生。
相较于封闭生态的iOS系统,安卓的Root方式可谓是从百花齐放到万物归一。不同安卓系统版本,获取Root权限主流方式不同。
在安卓手机上,获取Root权限主要有三种方式:漏洞、OEM官方解锁、工厂方式。其中通过漏洞方式获取Root,是开发者最早的探索;工厂模式获取Root则是通过如骁龙9008模式通过底层串口将特殊的ROM刷写入手机进而获取Root;官方解锁的方式则是OEM产商提供给一些发烧友的“通道”,通过解锁Bootloader锁获取刷写ROM获取Root。
第一阶段:百家漏洞齐争鸣,先驱CVE-2009-2692漏洞
在安卓系统早期时忽略了安全性问题,许多在Linux中产生的安全问题,都能在安卓得以复现,其中最早有公开记录并可追溯的是Znix利用Linux漏洞CVE-2009-2692编写的安卓版本提权程序,代码如下:
利用蓝牙协议触发sendpage漏洞
权限提升攻击载荷
该漏洞的产生主要是sock_sendpage没有对socket_file_ops数据结构的snedpage字段字段做指针检查,有些模块不具有sendpage功能,将指针初始化为NULL,此时直接调用sendpage会导致直接调用空指针导致报错并进而进行权限提升。Znix直接将现有有效用户id(euig)与有效用户组(egid)的指针赋值为0即Root用户与Root用户组,再将有效用户与有效用户组指针赋给真实的用户指针与真实的用户组指针,从而达到权限提升的目的。然后利用蓝牙协议与send_page的漏洞触发这一攻击载荷。
Znix发布该exploit的时间点在安卓_ndk_r1版本发布后的两个月。在该exploit发布后,人们发现在安卓上通过漏洞的形式获取Root权限方式大为可行,随即越来越多的安全人员与发烧友开始在安卓上挖掘系统漏洞,导致安卓的安全问题呈现井喷式的爆发。不过这场闹剧随着Google不断的修复与SElinux的引入,闹剧在安卓4.4戛然而止,安卓系统进入了一个稳定的时期,安卓的Root也进入了一个新的探索时代。
使用Linux系统的人都知道,在Linux上有一个程序叫/usr/bin/su,用户可以通过su命令来切换身份,安卓的基础是Linux,在安卓版本1.0-4.4中,安卓默认安装了su程序,使用者可以通过使用su进行获取Root,只需要su程序的权限为Access: (4755/-rwsr-xr-x) Uid: ( 0/ Root) Gid: ( 0/ Root)。
第二阶段:混乱中的探索,supersu与superuser
Google在安卓4.4版本,基本上将Linux中可提权的漏洞修复并限制利用漏洞进行提权的方式。安卓4.4及以上,Anroid也不预装su程序,并且加入SElinux,就算拥有4755权限的su也无法达到完美Root。开发者们就尝试将改造后的su写入到安卓的/system下,让需要Root权限的程序通过/system下的su程序进行执行。
而向/system下写入su需要提前解锁(unlock)安卓手机,该方式比利用漏洞提权稳定性更高。许多大神都开始编写不同的su程序,其中比较有名的就是chainsDD的su与chainfire的suspersu,而单有获取Root权限的方式仍然不够,还需要一个分发Root权限的管理工具,koush的superuser恰好补齐了这一缺点,让这一体系得以完善。
不过好景不长,该方法引起了Google的关注,Google在后续发布的版本中对/system等分区进行完整性校验,使得修改system分区变得不可行,在2018年10月,chainfire宣布不再维护supersu。而另一位开发者则以巧妙的方式,让Root又变为可能。
第三阶段:从混乱中受到启发,走向归一的Magisk
一个名叫topjohnwu的开发者,从supersu中受到启发,他仍然使用supersu的原理获得Root权限,但是他并不对/system等分区做额外的修改,他通过尝试发现,虽然/system等分区无法修改,但是可以在/system分区下进行添加挂载点,于是他用了一种overlay的方法,让用户刷写特殊的boot.img,修改启动时的挂载操作,做出了一个overlay版本的system,所有的操作都在这个system上进行,这样就避开了对原有system的修改,完成原有supersu的功能,而这款软件就是现在大部分人熟知的Magisk。Magisk不仅完成了获取Root,并且集成了Root权限的管理器。
随着topjohnwu加入谷歌,magisk的代码需要google安全团队进行审计,magisk某种程度上拥有了官方背书,是目前最稳定的Root方式。
本文将使用TWRP方式教大家如何使用Magisk获得Root权限。在获取Root前,需要解除BootLoader锁,请读者自行联系OEM厂商解除Bootloader锁。
顶象特别提醒:Root有一定的风险,或造成手机无法使用,请谨慎操作,本文不对任何后果承担相应责任。
1、准备adb fastboot命令工具、magisk以及对应的twrp.img(不同厂商需要的twrp镜像不同,请读者自行查询所需的twrp镜像)
2、使用adb命令将Magisk放入到sdcard中,命令如下:
3、进入bootloader界面,输入对应的fastboot命令,进入twrp界面。
4、选择Install,然后选择Magisk.zip。
5、进入安装Magisk的界面,将滑动条从左滑到顶端。如果出现如下界面,则证明安装Magisk成功。
6、重启手机后,使用将maigsk.zip改回magisk.apk,使用如下命令安装Magisk管理器。
随后可以在手机中打开Magisk,发现Magisk已经正常工作。
对于安全从业者与一些需要风控的企业,需要得知用户的手机是否处于风险状态,是否被Root。
1、包名检测。
由于Magisk是通过Maigsk.apk进行管理它的su权限分发的,所以可以使用获取包名的方式检查用户手机是否存在Magisk App来得知用户是否使用了Magisk Root,具体代码如下:
尝试运行程序,得到如下结果。
在上述方法中,虽然能检测到用户安装了Magisk,但是由于法律对用户隐私的保护,获取包名的方式会触及隐私合规红线,所以这种方法需要一定的权限,在使用该方法时要慎之又慎。
2、专业安全产品。
顶象设备指纹、顶象业务感知防御平台能够实时有效识别Root风险。
顶象设备指纹:能精准识别模拟器、root、越狱、调试、代码注入、多开、VPN代理等风险。包含,iOS平台hook、越狱行为,安卓root、debug、内存dump、注入、多开、模拟器、漏洞攻击等风险行为,WEB平台下浏览器颜色深度、分辨率,浏览器与系统、UA的匹配性和一致性、cookie是否禁用等行为。
顶象业务安全感知防御平台:,集设备风险分析、运行攻击识别、异常行为检测、预警、防护处置为一体的主动安全防御平台,能够实时发现摄像头遭劫持、设备伪造、设备Root等恶意行为,有效防控各类人脸识别系统风险。它具有威胁可视化、威胁可追溯、设备关联分析、多账户管理、跨平台支持、主动防御、开放数据接入、防御自定义和全流程防控等特点。
本文从Root的历史出发,讲述了获取Root的发展历史以及轶事,教大家从0到1完成对自己安卓手机的Root,提出了一些有效的检测Root的方式。Root与HOOK一样,是一把双刃剑,在普通人手里,它可以让系统不再受到约束,可以带来更好的手机使用体验,但在黑灰产手里,会变成非法牟利的工具,作为安全从业者,我们要辩证地看待每项技术,对非法行为我们要重拳出击,为安全事业添砖加瓦。
近期,在抖音热评上面总是看到有网友评论主线任务夺回秋雅,很多人看到都很懵,不知道夺回秋雅到底是什么梗什么意思,不用担心,久久派为您带来详细介绍啦!夺回秋雅是什么梗9月15日有博主发了8bit版本的一剪梅曲子风格非常像红 近期,在抖音热评上面总是看到有网友评论主线任务夺回秋雅,很多人看到都很懵,不知...
大家知道在谷歌SEO工具中怎么样去挖掘关键词来选品,在这篇文章中,将给大家带来了常用的谷歌SEO工具挖掘关键词,具体内容看看下文吧!官网:ck139.com。一、GoogleKe 大家知道在谷歌SEO工具中怎么样去挖掘关键词来选品,在这篇文章中,将给大家带来了常用的谷歌SEO工具挖掘关键词,具...
如何给你的照片添加喜欢的文字,让照片变得更好看?赶快看过来,你可能会说用微信就可以,下面给你分享一种方法,效果会更好,操作还简单,更好的是还可以拼长图,赶快点赞关注收藏转发一下,和 如何给你的照片添加喜欢的文字,让照片变得更好看?赶快看过来,你可能会说用微信就可以,下面给你分享一种方法,效果会更好...
由于新冠肺炎,在家工作现在成为趋势。在家工作,也称为远程工作、远程办公、远程工作等,但远程工作并不是什么新鲜事。在家工作最早是在1979年发明的;作为一项实验,五名IBM员 由于新冠肺炎,在家工作现在成为趋势。在家工作,也称为远程工作、远程办公、远程工作等,但远程工作并不是什么新鲜事。在家工作最早...
买奥迪A8的人基本都是老板级别的了,因为奥迪A8本身就不便宜,今年推出新款,也有很多营销出来。不过奥迪A8是属于比较低调的车型,同等价位的都会去买奔驰或者宝马了。买奥迪A8都是什么人奥迪A8的知名度不亚于奔驰S级,车子正 买奥迪A8的人基本都是老板级别的了,因为奥迪A8本身就不便宜,今年推出新款,...
寒衣节是很多北方地区都有的风俗习惯,但由于该节日并不是按照阳历来讲的而是按照阴历,所以农历十月初一是阳历的哪一天成了很多人都好奇的,下面小编就和大家一起看看十月初一节日什么意义。农历十月初一是阳历的哪一天农历十月初一是1 寒衣节是很多北方地区都有的风俗习惯,但由于该节日并不是按照阳历来讲的而是按照...
板栗是秋季比较常见的一种美食,它的吃法比较多,吃起来软糯可口,营养价值高,深受人们喜欢。板栗一般要吃热的,这样比较容易消化吸收,冷掉的熟板栗可以放微波炉加热,一般只要是开口的板栗,短时间加热是不会爆炸的。板栗可以微波炉加 板栗是秋季比较常见的一种美食,它的吃法比较多,吃起来软糯可口,营养价值高,深...
iPhone14pro是今年比较热门的新款手机,不少人都期待双十一能有优惠,一般官网是不会降价的,而其他电商平台会有各种补贴和优惠券,抢到凑满减购买的话应该能便宜300元左右。iPhone14pro双十一会降价吗会的,去 iPhone14pro是今年比较热门的新款手机,不少人都期待双十一能有优惠,...
中秋旅游十大必去景点 中国十大中秋赏月地? 中秋月自古以来就是文人墨客的灵感来源; 在这一天,作为中华民族的后裔,无论身在何处,总是想仰望月亮,想念家人,期待团圆。 下面我就来说说中国十大中秋赏月胜地,看看你的家乡是否在名单上? 1、杭州西湖 杭州西湖是杭州十大名胜之一。...
红薯是生活中很不错的一种粗粮,它的吃法比较多,可以炸着吃,可以煮着吃,可以蒸着吃,还可以烤着吃等,味道都是很不错的。有些人吃红薯会发现红薯冒白色液体,这种一般都是正常的,不含有任何有害物质,可以放心食用。红薯冒乳白色液体 红薯是生活中很不错的一种粗粮,它的吃法比较多,可以炸着吃,可以煮着吃,可以蒸...
红薯是生活中比较常见的一种食物,它的吃法比较多,营养价值高,含有丰富的膳食纤维、矿物质以及其他微量元素等,很多人都会煮红薯吃。煮熟的红薯吃不完是可以放冰箱冷藏的,一般可以放三五天左右,具体看保存的方法。煮熟的红薯能放冰箱 红薯是生活中比较常见的一种食物,它的吃法比较多,营养价值高,含有丰富的膳食纤...
对于短发的女生来讲,最为尴尬的就是留长期,也正是因为这样很多人为了解决这种尴尬纷纷会购买假发片,来使头发变长,所以女生短发用假发片买多长的合适成了大家最为关注的,下面小编就和大家一起看看短发怎么戴长假发片。女生短发用假发 对于短发的女生来讲,最为尴尬的就是留长期,也正是因为这样很多人为了解决这种尴...
红薯是生活中比较常见的一种美食,很多人都会煮着吃,味道很不错,深受人们喜欢。红薯要吃熟透的,没熟的红薯不容易消化吸收,会容易导致积食,引起肠胃不适,最好放锅里面弄熟之后再吃。红薯没熟透可以吃吗虽然可以吃,但是不建议过多的 红薯是生活中比较常见的一种美食,很多人都会煮着吃,味道很不错,深受人们喜欢。...
茭白是生活中比较常见的一种蔬菜,它可以炒各种各样的家常菜,味道鲜嫩可口,吃起来很不错,深受人们喜欢。茭白里面会含有大量的草酸,在炒之前建议放锅里面焯水比较好,这样可以去除草酸,改善茭白的味道和口感。炒茭白时能把茭白用热水 茭白是生活中比较常见的一种蔬菜,它可以炒各种各样的家常菜,味道鲜嫩可口,吃起...
近期海科技食品中有三花淡奶这个词冒出,其实,三花淡奶本身就是冲饮服用的,但是有很多商家利用三花淡奶的特性,直接导入到鱼汤或者羊肉汤中,不需要熬制很久,就会出现鲜嫩且美味的口感,省了不少时间呢!三花淡奶可以直接饮用吗可以 近期海科技食品中有三花淡奶这个词冒出,其实,三花淡奶本身就是冲饮服用的,但是有...