魔兽世界中招:一条命令行就能劫持你的游戏(附劫持代码和视频)

WoW

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

新型攻击

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

陷阱

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

/run RemoveExtraSpaces=RunScript

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

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

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

RemoveExtraSpaces  是一个内置函数用于去除文本中多余的空隔

RunScript  是Lua中的代码执行函数,类似于/run 命令

为什么这会是个威胁?

当游戏玩家接收到一个新的聊天信息之后,函数RemoveExtraSpaces就会被调用,而上面所提到的那条命令功能是用RunScript函数代替RemoveExtraSpaces函数,这种替换动作,就类似于软件开发中的钩子程序,结果就是,玩家收到的聊天信息将被当做 Lua 代码命令执行,这就是所谓的“界面劫持”

骗子攻击者会说这段代码是某个绝版坐骑的兑换码,一些大意的玩家在被“说服”、“蛊惑“甚至是引诱下运行上述命令行之后,就陷入了骗局当中。攻击者此时就可以远程控制玩家的聊天界面,通过让玩家迷惑的Lua代码执行界面,隐藏执行其恶意操作,效果就像利用远程木马控制受害者电脑一样。以下就是我们的Test测试实例,但是真实骗局中,执行代码是会比Test更具危害性的命令。

图:执行命令行
图:执行命令行
图:攻击者向受害玩家发送消息
图:攻击者向受害玩家发送消息
图:聊天消息通过Lua编程语言解释执行
图:聊天消息通过Lua编程语言解释执行

 

短暂持久性和隐藏代码

受害者玩家执行上述命令行后,聊天系统不管用了,别人发来的信息都会变为Lua代码报错界面显示,但只要玩家重启游戏,前述的劫持功能就会失效。所以,骗子攻击者接着发送下面这段代码命令给玩家,实现远程重启玩家聊天程序,让其恢复正常聊天功能。之后,攻击者再以隐蔽方式继续执行“更具危害性的代码”。

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

 

功能说明

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

更具危害性的代码

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

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

 

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

视频:模拟场景

模拟引诱受害者玩家执行劫持命令后的效果:

视频地址:http://v.youku.com/v_show/id_XMTY2NTU1NTkwMA==.html

影响

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

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

暴雪发布在线修正版本

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

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

如何保护自己

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

删除字段:SET AllowDangerousScripts “1”

文件名: config-cache.wtf

文件位置: World of Warcraft\WTF\Account\<ACCOUNTNAME>\

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

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

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

劫持代码

链接: http://pan.baidu.com/s/1dFFjiox 密码: laod

**代码仅供研究,请勿非法使用**

原创文章,作者:老D,如若转载,请注明出处:https://laod.cn/2348.html

(0)
上一篇 2016-07-29 21:01
下一篇 2016-08-03 02:07

相关推荐

发表回复

登录后才能评论

评论列表(4条)

  • Miao
    Miao 2016-08-01 23:26

    让你在游戏中一无所有,包括你的信誉。想起多弗朗明哥。

  • Lucky
    Lucky 2016-08-01 19:35

    我真的只是拿去做研究的

  • 香港vps
    香港vps 2016-08-01 15:38

    一条命令挟持你的游戏,怎么感觉有点像被黑客盯上了,这种情形相信很多人都能感受到

  • Fenger
    Fenger 2016-08-01 15:27

    暴雪自带插件,是在搞笑吗,而且7.0之后有脚本执行提示