菜单

微信公众号:Android安全中文站

文章

Home APP漏洞挖掘 中兴手机助手本地提权与WIFI远程管理的认证机制绕过
Home APP漏洞挖掘 中兴手机助手本地提权与WIFI远程管理的认证机制绕过

中兴手机助手本地提权与WIFI远程管理的认证机制绕过

APP漏洞挖掘 by

点评:一篇十分精彩的Android App权限泄露漏洞分析。

简要描述:

包括两个漏洞:
(1)组件暴露,导致本地提权和远程访问
(2)远程管理认证机制绕过

详细说明:

中兴手机助手是中兴官方的安卓智能手机管理软件,官方下载地址为http://joinme.ztems.com/,我们测试的安卓版本为最新版2.1.66.3224,百度搜索显示下载量已有86万,不知中兴手机是否内置该应用。

包括两个漏洞:

第一个漏洞:本地组件暴露导致提权,只要用户安装中兴手机助手,无需任何权限的本地恶意应用就可在用户不知情的情况下启动供远程访问的FTP服务,且该FTP服务具有默认的用户名和密码。

暴露的两个安卓组件分别为 com.joinme.ftp.FtpServerService和JoinMeServiceReceiver。通过如下代码,

code 区域

或者

code 区域

之一即可启动手机助手内置的FTP服务。

正常情况下启用服务需要用户干预,如图

中兴手机助手本地提权与WIFI远程管理的认证机制绕过

在用户不知情的情况下开启服务(只需要手机安装中兴手机助手)

中兴手机助手本地提权与WIFI远程管理的认证机制绕过

FTP服务还具有内置的默认用户名和密码,并在端口2121监听。如下图,见位于

FtpServerService中的代码片段。

加载FTP服务设置

中兴手机助手本地提权与WIFI远程管理的认证机制绕过

跟入Defaults类,得到默认username、password为JoinMe,port为2121

中兴手机助手本地提权与WIFI远程管理的认证机制绕过

第二个漏洞:在手机助手后台运行的情况下,泄露SecretKey,导致可在WIFI环境远程控制手机

在分析第一个漏洞的时候,发现了第二个漏洞,与这个漏洞相比,上一个漏洞简直不算啥。

漏洞位于 JoinMeUdpService,该服务打开udp的65532端口监听,接收特定的命令字后可返回手机的敏感信息,包括SecretKey

如图,JoinMeUdpService的doListen方法

中兴手机助手本地提权与WIFI远程管理的认证机制绕过

跟入doComm,可发现特定的命令为“JoinMe Broadcast”

中兴手机助手本地提权与WIFI远程管理的认证机制绕过

漏洞证明:

第一个漏洞的证明:

利用默认用户名和密码远程访问FTP服务,非root条件下可浏览、下载/sdcard等目录中的文件。

中兴手机助手本地提权与WIFI远程管理的认证机制绕过

该FTP服务支持的命令

中兴手机助手本地提权与WIFI远程管理的认证机制绕过

第二个漏洞的证明:

中兴手机助手本地提权与WIFI远程管理的认证机制绕过

注意上面的SecretKey,就是中兴手机助手PC端管理手机的验证码。当手机助手在后台运行的情况下,可在PC端通过验证码完全管理手机,获得所有通信录、短信、照片及应用信息,并具有手机助手所有的添加、删改权限!!

中兴手机助手本地提权与WIFI远程管理的认证机制绕过

中兴手机助手本地提权与WIFI远程管理的认证机制绕过

比较有杀伤力的场景是在公共WIFI场所,在用户手机助手运行的情况下,通过以下脚本可以扫描获得SecretKey,并利用PC端进行远控!

scan.sh

code 区域

扫描结果

中兴手机助手本地提权与WIFI远程管理的认证机制绕过

PC端远控相应手机

中兴手机助手本地提权与WIFI远程管理的认证机制绕过

修复方案:

针对漏洞一: 设置com.joinme.ftp.FtpServerService、 JoinMeServiceReceiver为exported:false,或者设置自定义权限,并将保护级别设为signature。FTP服务的用户名和密码,不要硬编码在代码中,可以设置在配置文件中读取。或者由用户在PC端手机助手临时指定。

针对漏洞二:禁用远程回显SecretKey

转载自:http://www.wooyun.org/bugs/wooyun-2015-094537 作者:小荷才露尖尖角

 

04 2015-03