暴雪游戏存在DNS重绑定漏洞可导致玩家电脑被远程劫持

谷歌安全研究员Tavis Ormandy发现暴雪游戏存在一个严重漏洞,攻击者利用该漏洞针对游戏玩家电脑可实现远程恶意代码执行。“魔兽世界”、“守望先锋”、“暗黑破坏神3”、“炉石传说”和“星际争霸2”等由暴雪娱乐公司创造的流行网络游戏,每月的在线玩家数量都达5亿人次。

漏洞信息

如果要用网络浏览器在线玩暴雪游戏,用户需要在自己电脑系统中安装一个名为‘Blizzard Update Agent’的客户端程序,利用它来运行HTTP协议和1120端口的JSON-RPC服务,以便执行‘命令安装、卸载、设置更改、更新和其他维护相关的选项’动作。

Tavis Ormandy发现这个安装在玩家系统中的Blizzard Update Agent,存在一种名为’DNS Rebinding‘(DNS重绑定)的漏洞,这种漏洞实现的攻击允许用任何网站充当外部服务器和玩家本地主机之间的中转桥梁。

漏洞分析及PoC

当攻击者简单地创建了一个DNS入口,并把某个可控制的URL页面绑定了客户端IP 127.0.0.1之后,迷惑电脑玩家访问该构造的URL页面,在此过程中,DNS重绑定技术的利用导致DNS发起的请求破坏浏览器同源策略(SSO),可使攻击者各客户端Blizzard Update Agent程序发起一些JavaScript方式的执行命令。

尽管浏览器中运行的随机网站通常不能向自己以外的主机域名发起请求,但由于本地的Blizzard Update Agent服务不会验证客户端请求的主机名,也不会响应此类请求,所以导致了该漏洞的可利用。

利用DNS重绑定技术,可以把某个可控URL,解析到玩家本地主机,进而与之进行通信。也就是说任何可控的URL都能向客户端发送命令。由此,我使用以下页面来生成测试名为7f000001.c0a80001.rbndr.us的主机名。

https://lock.cmpxchg8b.com/rebinder.html

因此,我在7f000001.c0a80001.rbndr.us域名中绑定了127.0.0.1和199.241.29.227两个IP:

通过上述信息可知,主机名在两个IP之间进行解析处理,但当DNS Response中的TTL字段足够短时,将不会从本地DNS缓存中读取,而是重新发起DNS请求,当两个IP绑定到同一主机名上后,浏览器就会认为该两个IP都来自同一源地址,由此突破同源策略实现攻击。以下为一个简单地PoC测试页面,它可以实现对Blizzard客户端的攻击,利用网络驱动或目标设定来在玩家浏览器中和系统中“下载”或安装恶意dll以及数据文件等。

http://lock.cmpxchg8b.com/yah4od7N.html

修复过程

Ormandy最初于去年12月向暴雪公司报告了该漏洞,并催促暴雪公司尽快制作补丁以免玩家电脑系统受到影响。但在初次沟通之后,暴雪公司却停止了对Ormandy的邮件回应,并偷偷地在客户端版本5996中加入了部分缓解措施。

“暴雪公司在12月22日就突然停止了和我的邮件交流,他们不再回复我任何问题,但却悄悄在5996客户端中加入了一种奇怪的解决方案。” “他们的解决方案似乎是查询客户端命令行,获取exename的32位FNV-1a哈希值,然后检查它是否在黑名单中,我建议他们把主机名列入白名单,但显然该解决方案过于简单。暴雪在不通知或咨询我的情况下就释出这个补丁,我非常不高兴。

但当Ormandy在此公开了该漏洞之后,暴雪公司却主动联系他并声称,将会采取更多稳定的主机白名单机制来修复该漏洞,相关补丁正在研发部署之中。针对该漏洞,Ormandy还对其它大型网游是否进行了检查测试。Ormandy还于上周发现了开源下载工具Transmission BitTorrent中存在的一个RCE漏洞,该漏洞同样可致使攻击者在Transmission客户端远程执行恶意代码,进而控制客户端系统。

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2018-01-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小狼的世界

[每天五分钟,备战架构师-10]数据库系统

事务是数据库系统运行的基本工作单位,相当于操作系统中的进程,事务具有ACID特性。从用户的角度来看,事务中的操作要么都做,要么都不做。

12620
来自专栏李想的专栏

腾讯云负载均衡CLB的那些“独门利器”

今天就聊一聊腾讯云的负载均衡提供给客户的那些独有的特性,大家也可以了解下腾讯云负载均衡器的优势所在。

1.6K120
来自专栏腾讯云数据库(TencentDB)

腾讯云新一代自研数据库CynosDB技术详解——架构设计

CynosDB是腾讯云新一代分布式数据库,100%兼容MySQL和PostgreSQL,支持存储弹性扩展,一主多从共享数据,性能更是超越社区原生MySQL和Po...

11.8K60
来自专栏农夫安全

用手机轻松刷洞,移动端开源安全测试工具合集

用手机轻松刷洞,移动端开源安全测试工具合集 ? 随着移动互联网的迅速发展,移动安全也慢慢成为了新的热门行业,以往移动应用的安全测试大多是使用在线检测平台或者...

77980
来自专栏SDNLAB

SDNLAB技术分享(十七):Ceph在云英的实践

大家好,我是云英负责存储的研发工程师,杨冠军,很高兴今天能在这里跟大家一起讨论分享下Ceph和Ceph在云英的实践。 首先我先介绍下,Ceph是什么,我们为什么...

67160
来自专栏二次元

萌音影视 - 在线影视应用

虽然在线影视网上也是遍地都是,但这并不影响我自个写一个,这样以后自己看番也方便,毕竟自己动手才能丰衣足食,又能学习到新的知识,岂不美哉。

55220
来自专栏数据和云

DBA生存警示:系统存储级误删除案例及防范建议

编辑手记:对于资深的老DBA们,他们在漫长的职业生涯中养成了很多稀奇古怪的守则,以在复杂多变的环境中“幸存”,这源于无数血泪的教训,我曾经在《数据安全警示录》一...

336100
来自专栏SDNLAB

话说VLAN Tag 的“来龙去脉”

前言 自从上篇文章《三层交换机的工作原理》发布后,有很多的网络爱好者私底下与我取得了联系,针对当前的TCP/IP网络做了很多的探讨,从这些爱好者身上我也学习到了...

491110
来自专栏HansBug's Lab

【前端】ACE Editor(代码编辑器) 简易使用示例

身为一个早已退役的Oier,当然忘不了当年一个个OJ页面上的代码显示和代码编辑器。 其中,洛谷使用的ACE Editor就是之一,非常的简洁美观。以及实际上在前...

84180
来自专栏SEO

SEOer必学网站分析神器(全新解析一)

35890

扫码关注云+社区

领取腾讯云代金券