暂时的持久性和隐藏的命令
当受害者打开他的接口的后门之后,攻击者会发送如下的聊天信息:
攻击者建立了一个新的通信通道
如果之前的命令执行了,对受害者而言,上述消息是看不到的,但是它会立即执行。事实是聊天功能已经不再工作,这看起来可能是可疑的,甚至会让受害者重新启动游戏。我们怀疑攻击者会通过发送如上所示的命令很快地“解决这个问题”,上面的命令建立了一个新的通信通道,然后很可能还可以重新开启受害者的聊天功能。
想要理解这段代码的目的需要知道,魔兽世界的扩展插件有可能通过一个隐藏的通道(本地和远程)进行交流。可以使用“CHAT_MSG_ADDON”事件来建立这个通道。
解释CHAT_MSG_ADDON事件功能的脚本代码
这段脚本创建了一个框架(第2行;z)可以设置不同的属性。这个脚本用一个特殊的前缀注册了CHAT_MSG_ADDON事件(6 - 25行)。只有知道这个特意选择的前缀的人才能控制受害者的被劫持接口。这相当于一个后门的密码。
每次劫持接口接收到包含设定好的秘密前缀的CHAT_MSG_ADDON事件,它就会默默地执行代码,而受害者是看不见的。
结论:只要攻击者不希望你看到他对你的帐户进行的操作,他就不会告诉你到底发生了什么事!
即使我们谈论的是扩展插件可以通过一个隐藏的通道进行通信,不过攻击者并不需要为了攻击而安装任何插件。这是一个新开发的关于魔兽世界游戏内的攻击。
到底能造成什么伤害呢?
随着攻击者获得了受害者接口的完全访问权限,他可以定位受害者的游戏角色目前在虚拟地图中所处的位置,并在游戏内与他接触。攻击者通常不会有机会知道关于其他玩家这么详细的信息。
在魔兽世界中,玩家之间有可能会进行物品交易。为此,两个角色需要在一定的物理距离内,然后才能进行物品交换。如果攻击者知道了受害者的角色的位置,并且自己的角色与受害者的游戏角色在一定范围内,他就可以远程打开交易窗口,在受害者这边添加物品和/或金币,并点击“接受交易”按钮。他实际上可以肆意抢劫受害者。
我们的场景描述了一个配合技术攻击的社会工程学攻击。攻击者可能会用操纵的客户端向其他玩家(例如协会成员,朋友等等)发送令人信服的聊天信息,从而用简单却又高效的脚本来操纵更多的游戏角色。我们都知道,来自朋友和同事的消息一般都是可信赖的。
我们该如何保护自己?
就像听起来那样简单:不要在你的聊天窗口中输入脚本代码!在向你的聊天窗口中输入任何消息之前要问清楚每一个请求。
在给出的例子中,我们讨论了一个攻击者的游戏人物属于一个受欢迎的协会,他提出他是这个受欢迎协会的成员,但实际上他并不是。他选择了一个著名的协会,并复制了他们的名字,用大写的“L”来替代他们名字中的小写的“l”。你可能已经熟悉这种排版错误钓鱼攻击技术。
此外,从第三方下载插件时要小心:使用可信赖的和受欢迎的网站,并且保持你的插件是最新的。可以想象,有些人可能会将问题代码添加到他们的插件中,从而使用这个附加的代码作为一种额外的攻击工具。类似的问题发生在2014年,当时在一个插件中发现了所谓的“ElvUI后门”。
这个问题本身只能由暴雪来修复。他们必须确保覆盖这样一个特殊函数的行为变得不可能。在本文的创作期间,暴雪于昨天为即将到来的扩展插件“Legion”公布了一个预发布版本。他们对脚本攻击做出了反应, 在输入脚本之后,执行之前,会弹出一个警告消息:
暴雪添加到他们的最新补丁中的警告消息
选择“Yes”会永久禁用这个消息,即使重启也不会再次出现——这个询问不会再次弹出。如果想要重新启动它,你必须手动删除配置中的一行代码,真的只有这一行:
需要删除的代码:SET AllowDangerousScripts "1"
文件:config-cache.wtf
路径:World of Warcraft\WTF\Account\\
原文链接:https://blog.gdatasoftware.com/2016/07/28809-world-of-warcraft-one-simple-line-of-code-can-cost-you-dearly
(责任编辑:安博涛)