1 简介:
对于Android系统来说,应用程序可以通过获取Androidroot权限,来越过Android系统的限制,从而访问到系统底层或其它应用程序的数据或文件,进程等。这和iOS的越狱的概念差不多。
2 AndroidRoot的本质:
可执行程序su能够在shell命令行执行,并且切换到root用户。从shell终端界面来看,提示符由%(或$)变为了#。
通常,在手机制造商出厂的手机不会开放root权限,而且获取root权限的方法也不受官方支持。因此,获取root权限的方法都是利用android系统漏洞来实现的。由于Android系统的开放性,各个厂商的rom存在的漏洞也不同,所以,漏洞也不尽相同。但是,最基本的底层原理是一样的。即,最终都是将重新编译过的su命令能够通过shell来运行,并且能切换到root用户。
3 知名漏洞:
(1)zergRush: 具有root权限的vold进程使用了libsysutils.so库,该库的一个函数存在栈溢出,因此可以在root权限执行输入的shellcode。
(2)Gingerbreak:在Android 3.0版本和2.3.4之前的2.x版本上的volume守护进程(vold)由于信任从PF_NETLINK套接字接收到的消息,因此允许以root权限执行任意代码,利用方法是通过一个负数索引绕过只针对最大值的有符号整数检测。(3)psneuter
4 常用工具,命令或软件:
常用工具,命令:
(1)busybox:是一个工具集,集成了很多linux命令,其中的一些命令在Android原油系统中是没有的;在提权时,可能用到这些命令;
(2)mount,unmount等命令:挂载和卸载手机中的相关目录,尤其是system相关的目录;
(3)adb:adb命令;
常用软件:
运行在pc端的:
(1) SuperOneClick: 目前最著名的root工具。官网: http://shortfuse.org/?page_id=2
(2) 360root: 奇虎360公司推出的root工具。官网:http://shouji.360.cn/root/
(3) unlockroot: 官网:http://www.unlockroot.com/运行在手机端的:
(4) z4root:网址:http://forum.xda-developers.com/showthread.php?t=833953
(5) Universal Androot: 网址:http://forum.xda-developers.com/showthread.php?t=747598
5 参考资料:
-
^root為什麼不受官方支持. DroidLessons. 2011-02-15[18-12-2011].
- ^CVE-2011-3874: zergRush 漏洞的詳細描述. National Cyber-Alert System. 2012-01-27[21-10-2012].
- ^CVE-2011-1823: Gingerbreak 漏洞的詳細描述. National Cyber-Alert System. 2011-06-09[21-10-2012].
- ^CVE-2011-1149: psneuter 漏洞的詳細描述. National Cyber-Alert System. 2011-04-21[21-10-2012].
- ^zergRush源代碼. The Revolutionary development team. 2012-01-27[21-10-2012].