首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >魔兽世界中招:一条命令行就能劫持你的游戏!

魔兽世界中招:一条命令行就能劫持你的游戏!

作者头像
FB客服
发布2018-02-08 14:09:31
2.5K0
发布2018-02-08 14:09:31
举报
文章被收录于专栏:FreeBufFreeBuf

最近出现了一种涉及社工技术的新型游戏攻击骗局,攻击者利用了魔兽世界(World of Warcraft,WoW)游戏插件中一个隐藏的功能。

新型攻击

想象一下这种场景:游戏中一个貌似某知名公会的角色成员,接近你在游戏中的角色,和你套近乎,并声称要和你分享一些很酷的东西,如稀有坐骑、武器等。但最终结果可能是,骗子根本没有这些东西和兑换码,当然,你也会落得两手空空。

陷阱

攻击者说服玩家在聊天窗口中输入一条命令行:

/run RemoveExtraSpaces=RunScript

WoW的客户端界面(动作切换条,聊天窗口,其它图形化的2D模式元素)和插件(图像增强工具)都是用Lua脚本语言编写的。以上命令行中涉及的RemoveExtraSpacesRunScript都是WoW Lua API的合法函数,这条命令行一旦被执行,WoW界面的操作将被改变,被攻击者劫持。

这条命令实际上是干啥的?

/run 是解释执行Lua脚本命令

为什么这会是个威胁?

当游戏玩家接收到一个新的聊天信息之后,函数RemoveExtraSpaces就会被调用,而上面所提到的那条命令功能是用RunScript函数代替RemoveExtraSpaces函数,这种替换动作,就类似于软件开发中的钩子程序。

结果就是,玩家收到的聊天信息将被当做 Lua 代码命令执行,这就是所谓的“界面劫持”。

骗子攻击者会说这段代码是某个绝版坐骑的兑换码,一些大意的玩家在被“说服”、“蛊惑“甚至是引诱下运行上述命令行之后,就陷入了骗局当中。

攻击者此时就可以远程控制玩家的聊天界面,通过让玩家迷惑的Lua代码执行界面,隐藏执行其恶意操作,效果就像利用远程木马控制受害者电脑一样。以下就是我们的Test测试实例,但是真实骗局中,执行代码是会比Test更具危害性的命令。

图:执行命令行

图:攻击者向受害玩家发送消息

图:聊天消息通过Lua编程语言解释执行

短暂持久性和隐藏代码

受害者玩家执行上述命令行后,聊天系统不管用了,别人发来的信息都会变为Lua代码报错界面显示,但只要玩家重启游戏,前述的劫持功能就会失效。

所以,骗子攻击者接着发送下面这段代码命令给玩家,实现远程重启玩家聊天程序,让其恢复正常聊天功能。之后,攻击者再以隐蔽方式继续执行“更具危害性的代码”。

图:攻击者远程发送代码重启受害者聊天程序

功能说明

以上命令行和代码能实现的原因,就是因为WOW插件”CHAT_MSG_ADDON“事件功能内置了一种隐藏通信接口(或插件通信接口),该通信接口可以在本地和远程使用。攻击者利用该接口发送给受害者的信息,不会在聊天窗口显示,只会在其后台执行。

更具危害性的代码

以下就是攻击者实现完全控制受害者玩家游戏界面的完整代码样例。脚本第2行创建了一个可设置不同属性的frame,脚本通过向事件功能CHAT_MSG_ADDON注册了一个特定的命名空间前缀 (第6行和第25行)。

图:实现完全劫持受害者玩家游戏界面的代码样例

就这样,攻击者可以把所有代码发送到对方的聊天客户端里,由于利用了CHAT_MSG_ADDON隐藏通信功能,代码命令默认在后台执行,不会显示。最终实现无声无息完全劫持玩家游戏界面。

影响

由于WOW中可以彼此进行物品交易,如果攻击者实现完全控制受害者玩家的游戏界面之后,就可以查看并靠近对方在虚拟地图中的准确位置,通过远程启动和控制对方的交易窗口,输入交易物品或金额,点击”接受交易“,真正实现对玩家的“抢劫”。

攻击者控制了受害者玩家之后,向其它熟悉玩家发送具有说服力的恶意信息,可以实现控制更多游戏角色。看吧,就是这么简单而有效的脚本,就可能让你在游戏中一无所有。

暴雪发布在线修正版本

近期,暴雪游戏运营商针对该Bug推出了一个修正版本,新版本在命令行中输入以 /run 或其他字段开头的脚本命令,会弹出一个询问对话框,提示玩家正在使用自定义脚本,可能会导致游戏金币损失,是否继续执行。

图:修正版本的聊天窗口命令执行情况

如何保护自己

1、删除以下文件代码段:

删除字段:SET AllowDangerousScripts "1"

2、不要在聊天窗口中运行脚本命令,尤其是以 /run 开头的脚本命令;

3、看清与你交流或交易的游戏角色名称,小心被钓鱼攻击;

4、下载第三方插件时请小心,2014年时WoW就曾出现过“ElvUI Backdoor”事件,请尽量使用暴雪自带插件。

视频:模拟场景

模拟引诱受害者玩家执行劫持命令后的效果:http://v.youku.com/v_show/id_XMTY2NTU1NTkwMA==.html

劫持代码

wowhijackcode (提取码:e7f0)代码仅供研究,请勿非法使用。

*本文译者:clouds,编译来源:Gdata,本文禁止转载

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-08-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 新型攻击
  • 陷阱
  • 这条命令实际上是干啥的?
  • 为什么这会是个威胁?
  • 短暂持久性和隐藏代码
  • 功能说明
  • 更具危害性的代码
  • 影响
  • 暴雪发布在线修正版本
  • 如何保护自己
  • 视频:模拟场景
  • 劫持代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档