知识屋:更实用的电脑技术知识网站
所在位置:首页 > 网络安全 > 安全资讯

HTC One X AT&T Root漏洞

发布时间:2014-07-15 11:50:30作者:知识屋

在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/
 
(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜