某游戏平台客户端 DNS Rebinding 攻击预警

原文作者:MerJerson, SuperXX

0x00背景介绍

谷歌安全研究人员,发现某游戏平台存在漏洞。该平台应用中嵌套着 Blizzard Update Agent 组件,采用内建RPC代理的方式对应用进行维护,并随主程序一起启动。该组件在监听本地1120端口的JSON RPC服务时,有受DNS Rebinding攻击的风险。

0x01 漏洞影响

漏洞详情如下:

攻击流程如下:

0x02 技术分析

1、 DNS rebinding攻击

DNS是互联网核心协议之一,在一次网络请求中,先根据域名查出IP地址,再向IP地址请求资源。

DNS rebinding 攻击步骤:

a. 则是当用户第一次请求时,解析域名获取IP地址A;

b. 域名持有者改变域名地址对应IP改为B;

c. 用户再次请求,获取IP地址为B

用户两次请求相同域名获取的IP地址不同,在没有对IP地址做足够验证的情况下,很容易造成安全问题,DNS rebinding常用在服务端请求伪造中。在此漏洞中,服务端没有对本地请求做权限认证,攻击者可以通过将域名重定向到本地IP,进行攻击。

2、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:

攻击成功后:

0x04 安全建议

目前,相关厂家未对该漏洞进行修补。请受影响的用户关注补丁推送,及时更新。

0x05 时间线

2017-12-08 taviso@google将漏洞提交到暴雪

2018-01-23 暴雪确定漏洞

2018-01-23 360CERT发布相关预警

0x06 参考链接

1、https://bugs.chromium.org/p/project-zero/issues/detail?id=1471&desc=3

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180123G0YBRM00?refer=cp_1026

扫码关注云+社区