读书人

X-Ray检测Android装置Root漏洞过程分析

发布时间: 2013-03-13 10:56:58 作者: rapoo

X-Ray检测Android设备Root漏洞过程分析
一、序言

到目前为止Android已被发现大量的提权漏洞,虽然这些提权漏洞随着系统版本的升级已被解决,但是市场上还存在着大量使用老版本系统的设备。提权漏洞在被合法
软件利用(比如一键Root工具)的同时也被大量恶意软件利用,恶意软件可以利用这些提权漏洞获取系统Root权限,这样就可以在您不知情的情况下,后台静默下载安装
软件,发送付费短信,上传隐私信息等恶意行为。
用户如何检测自己设备是否存在已知提权漏洞呢?
X-Ray就是一个检测Android系统中是否存在已知提权漏洞的软件。目前支持对8种漏洞的检测。
X-Ray下载地址:http://www.xray.io/
本文将对X-Ray扫描漏洞原理进行分析。

二、软件信息


MD5:D25F41F9E077C85B5F81F1A4C36E736F

package name: com.duosecurity.xray


X-Ray检测Android装置Root漏洞过程分析


三、分析检测原理


部分Android提权漏洞是一定需要执行在ELF文件中的。ELF文件就是关键的查找点。


1、安装包中是否存在ELF文件?

经观察程序安装包中并不存在ELF文件。


2、ELF文件是否在运行过程中动态下载?

运行程序,执行检测任务后,观察程序文件夹变化,发现程序文件夹并没有新增文件。


3、ELF文件是否在动态下载执行后被程序自动删除?

搜索Smali代码,查找删除文件操作,发现程序调用

invoke-virtual {v0, v2}, Lcom/duosecurity/xray/XRAY;->deleteFile(Ljava/lang/String;)Z。

删除该段代码,重新打包签名后,运行程序后,观察程序文件夹变化,发现files文件夹新增如下文件:


X-Ray检测Android装置Root漏洞过程分析
从文件名即可看出,这些ELF文件用于不同的Android提权漏洞检测。如果需要看懂这些ELF文件,需对Android不同提权漏洞有所了解,这里不在对提权漏洞原理进行进一步解释。

通过对Log信息及代码的进一步分析,可以获知X-Ray扫描逻辑如下:

1、联网获取漏洞信息,漏洞信息包含客户端处理检测漏洞的方式

X-Ray检测Android装置Root漏洞过程分析

D/xray    (28792): dynamic: trying request 1 of 3D/xray    (28792): dynamic: rsa signature verification succeededD/xray    (28792): dynamic: wrote lib to: liblevitator_v1.soD/xray    (28792): dynamic: loading jni from: /data/data/com.duosecurity.xray/files/liblevitator_v1.soD/xray    (28792): dynamic: loaded jni from: /data/data/com.duosecurity.xray/files/liblevitator_v1.soD/xray    (28792): dynamic: got result from probe: patched|can't open pvrsrvkm deviceD/xray    (28792): probe: trying request 1 of 3


读书人网 >Android

热点推荐