报告编号:B6-2018-012301
报告来源:360网络安全响应中心
报告作者: MerJerson,SuperXX
更新日期:2018年01月23日
0x00背景介绍
谷歌安全研究人员,发现某游戏平台存在漏洞。该平台应用中嵌套着 Blizzard Update Agent 组件,采用内建RPC代理的方式对应用进行维护,并随主程序一起启动。该组件在监听本地1120端口的JSON RPC服务时,有受DNS Rebinding攻击的风险。
0x01漏洞影响
漏洞详情如下:
攻击流程如下:
0x02技术分析
DNS rebinding攻击
DNS是互联网核心协议之一,在一次网络请求中,先根据域名查出IP地址,再向IP地址请求资源。
DNS rebinding 攻击步骤:
- 则是当用户第一次请求时,解析域名获取IP地址A;
- 域名持有者改变域名地址对应IP改为B;
- 用户再次请求,获取IP地址为B
用户两次请求相同域名获取的IP地址不同,在没有对IP地址做足够验证的情况下,很容易造成安全问题,DNS rebinding常用在服务端请求伪造中。在此漏洞中,服务端没有对本地请求做权限认证,攻击者可以通过将域名重定向到本地IP,进行攻击
RPC代理服务器没有进行DNS Rebinding攻击的防护
一些程序会采用内建RPC代理的方式进行应用维护。接口如果没有进行安全防护,会带来安全隐患。结合DNS Rebinding攻击,甚至可以向本地Agent代理发送特权命令。
在某游戏平台客户端中,未对Blizzard Update Agent进行任何安全防护,访问localhost:1120/agent可以得到本地RPC代理服务器信息。同时也可以通过发送向RPC代理服务器发送json格式的控制命令进行操作。
在结合DNS Rebinding攻击,任何网站可以将某个域名解析为本地主机。这意味着任何网站都可以向本地Agent代理发送特权命令。
0x03漏洞复现
将本地127.0.0.1和攻击网站地址199.241.29.227进行绑定。
在攻击网站上构建软件更新的RPC指令,指定目录到C:/exploit:
- {
- “uid”: “battle.net”,
- “instructions_product”: “Bna”,
- “game_dir”: “C:/exploit”,
- “finalized”: true
- }
攻击成功后:
0x04安全建议
相关厂家未对该漏洞推送补丁。请受影响的用户关注补丁推送,及时更新。
0x05时间线
2017年12月8日 taviso\@google将漏洞提交到暴雪
2018年1月23日 暴雪确定漏洞
2018年1月23日 360CERT发布相关预警
0x06参考链接
https://bugs.chromium.org/p/project-zero/issues/detail?id=1471&desc=3