HTC One X AT&T Root漏洞

在HTC One X AT&T 1.85固件及更早的版本上,预装了一款ATT Ready2Go应用,该程序以system用户运行,具有设置wifi、导入联系人、更换壁纸和安装应用程序等功能,我们可以利用此程序存在的漏洞获取设备Root权限。

 

一、漏洞与利用详情

 

漏洞出现在Ready2Go安装应用程序的流程上。

 

Ready2Go安装应用完整程序流程如下:

1、第一次通过Read2Go安装应用时,Read2Go建立下载目录“/data/install”,并且运行“chmod 777 /data/install”,赋予所有用户rwx权限。
2、当用户通过该程序安装应用程序时,Read2Go会把应用程序下载到“/data/install”目录,并且运行“chmod 666 /data/install/<apkfilename>”。
3、下载完成后,Read2Go开始安装下载的程序,安装成功后删除下载的apk文件。

 

利用该漏洞获取Root权限完整流程如下:

1、查看“/data/install”目录是否存在,如不存在,可以通过Ready2Go下载安装任意应用程序的方式来创建该目录。
2、挑选一个已知包名的应用程序,如“com.att.android.markthespot.apk”,然后通过以下命令建立软连接到“/data/local.prop”文件。
     adb shell ls -s /data/local.prop /data/install/com.att.android.markthespot.apk
3、通过Ready2Go下载挑选的应用程序,由于/data/install/com.att.android.markthespot.apk是/data/local.prop文件的软连接,Ready2Go对下载文件的操作的作用在了/data/local.prop文件(Read2Go具有system权限,可以操作/data/local.prop文件),/data/local.prop就被修改为全局可读写。
4、通过adb reboot命令打断Read2Go的安装流程,阻断Read2Go安装成功后的删除apk操作。
5、设备重新启动后,/data/local.prop就被遗留为全局可读写的。
     adb shell “echo ‘ro.kernel.qemu=1′ > /data/local.prop”     

     adb reboot
6、设备重新启动后,由于ro.kernel.qemu=1,所以adb不降权,这样adb shell连接设备就得到了以root身份运行的shell。
(设备启动过程中,系统加载/data/local.prop配置文件设置系统属性,adb最初以root运行,之后调用setuid()降低权限。降权之前,会判断系统属性ro.kernel.qemu,如果该属性位1,则不降权。)

 

二、参考资料

 
http://www.androidpolice.com/2012/05/25/exclusive-how-to-root-the-att-htc-one-x-on-version-1-85-or-earlier/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值