写点什么

Steam 被曝 0day 漏洞,超 1 亿用户受到影响

  • 2019-08-16
  • 本文字数:1405 字

    阅读完需:约 5 分钟

Steam被曝 0day 漏洞,超1亿用户受到影响

Windows 版本的高人气游戏客户端 Steam 曝出零日权限提升漏洞,该漏洞使得本不具备相关高权限的攻击者能够以管理员身份运行程序。


权限提升漏洞属于一类 bug,可使原本权限较低的用户以更高权限或者管理员权限启动可执行文件。随着 Steam 迎来超过 1 亿注册用户且同时在线人数多达数百万,这一严重风险很可能被恶意软件滥用,从而执行各类预料之外的操作。


权限提升漏洞

在 Valve 方面确定该漏洞“不适用”后,两位研究人员公开披露了此项 Steam 客户端零日漏洞。看来这回 Vavle 有点“作死”了——之前研究人员在 HackerOne 大会上将其提交至 Valve 的 bug 赏金计划时,该公司表示不予支持资金或者表示将进行修复,同时要求研究人员不得透露相关信息。


在昨天发布的一份报告中,安全研究员 Felix 对与 Steam 客户端相关的 Windows 服务(即「Steam 客户端服务」)进行了分析。在启动时,此服务会在 Windows 系统中以 SYSTEM 权限启动其可执行文件。研究人员还注意到,该服务可以由“用户”组进行启动与停止——所谓“用户”组,几乎涵盖一切能够登录计算机的使用者。


不过,此服务的注册表项无法由“用户”组写入,因此攻击者无法通过修改利用该服务以管理员权限启动其它可执行文件。


但在此之后,这位研究人员发现了某些奇怪的情况。当该服务启动及停止时,它会为“用户”组提供对 HKLM\Software\Wow6432Node\Valve\Steam\Apps 注册表项下各子项的完全写入权限。


“我创建了测试键 HKLM\Software\Wow6432Node\Valve\Steam\Apps\test 并重启该服务并检查了注册表键权限。我发现“用户”组对于 HKLM\SOFTWARE\Wow6432Node\Valve\Steam 拥有“全面控制”权限,而且这些权限能够继承至所有子键及其更低一级的子键。我假设 RegSetKeySecurity 设置了相同的权限,如果存在 symlink,那么肯定会发生有趣的情况。我创建了一条从 HKLM\SOFTWARE\Wow6432Node\Valve\Steam\Apps\test 到 HKLM\SOFTWARE\test2 and restarted the service 的链接。”


在此之后,该研究人员尝试将其中一个子键的 symlink 配置为另一个没有足够权限的键。在重新启动服务之后,他发现自己已经能够修改该键。


了解到这些,研究人员意识到他已经能够通过 HKLM\Software\Wow6432Node\Valve\Steam\Apps 之下的子键轻松创建 symlink,从而对原本安全的注册表键进行修改并随后重启服务。


这可能允许攻击者对具有 SYSTEM 权限的服务进行修改,并利用它启动其它原本权限较低的程序。


如此一来,权限提升漏洞也就出现了。

另一位研究人员披露概念验证

在 Felix 发布披露文章之后,另一位名叫 Matt Nelson 的研究人员又在 enigma0x3 别名之下发现了另一权限提升漏洞,他还通过 GitHub 发布了该漏洞的一份概念验证脚本。



Nelson 的概念验证是创建一个指回 HKLM:\SYSTEM\CurrentControlSet\Services\Steam Client Service 的 symlink,以确保它能够在更改服务重新启动时所实际启动的可执行文件。


如果该概念验证成功,则后台即会运行一个具有管理员权限的 Windows 命令提示符,如下图所示。



具有提升权限的命令提示符


Nelson 表示,他也曾经向 Valve 披露这一问题。



熟悉此事的消息人士表示,HackerOne 方面已决定重新审查这份 bug 报告以做出进一步调查。


我们也与 Valve 方面取得联系,希望了解该项漏洞尚未修复的具体原因,但截至发稿之时对方仍未给出答复。


原文链接:


https://www.bleepingcomputer.com/news/security/steam-zero-day-vulnerability-affects-over-100-million-users/


2019-08-16 15:535557

评论

发布
暂无评论
发现更多内容

【Redis 故障排查】「连接失败问题排查和解决」带你总体分析CPU及内存的使用率高问题排查指南及方案

洛神灬殇

redis 性能调优 缓存服务 2月日更

软件测试/测试开发 | web 控件的交互进阶

测试人

软件测试 自动化测试 测试开发 Web自动化测试

关于使用消息队列今天被面试官问倒了

做梦都在改BUG

面试官:谈谈你对JVM内存结构的理解

做梦都在改BUG

Java JVM

用户卖家平台三方螺旋成长 如何让商品推荐更智能

阿里技术

全球化技术能力

上架的时候怎么向某个版本添加构建版本

雪奈椰子

apple ios开发

银行业上云进行时,OLAP 云服务如何解决传统数仓之痛?

Kyligence

OLAP技术 传统数仓

音乐APP用户争夺战,火山引擎VeDI助力用户体验升级!

字节跳动数据平台

大数据 增长 音乐 企业号 2 月 PK 榜

OneFlow源码解析:Eager模式下的SBP Signature推导

OneFlow

人工智能 深度学习 框架解析

5 如何优雅的告诉老板复制 ChatGPT几乎是“impossible”的?

涛哥 数字产品和业务架构

ChatGPT 业务架构师

智能汽车商业化、产业化演进及投资机会分析

不脱发的程序猿

汽车电子 智能汽车商业化 汽车行业投资机会分析

Sentinel 是如何实现分布式限流的?

做梦都在改BUG

sentinel 分布式限流

秒云加入金兰组织,携手共建信创新生态

MIAOYUN

信创 信创云 信创产业 金兰组织

啊啊啊!小程序小游戏也可以在自己的App上架❗️❗️

没有用户名丶

微信小程序 小程序游戏

活动预告|Triton Meetup 2023

AI Infra

AI

新年伊始,谈谈开源软件供应链安全的新趋势

安势信息

开源软件 清源CleanSource SCA 安势信息 ChatGPT 开源软件供应链安全

只用了半个Redisson的Semaphore实现并发控制

做梦都在改BUG

Java 并发控制 Semaphore redisson

2023年第一季度汽车行业行情预测分析

不脱发的程序猿

汽车电子 2023年第一季汽车行业分析

线程私有变量ThreadLocal详解

Java随想录

Java 线程 并发

ChatGPT时代的打工人众生相

白洞计划

ChatGPT

SpringBoot 如何保证接口安全?老鸟们都是这么玩的!

做梦都在改BUG

Java Spring Boot 接口

Svelte框架结合SpreadJS实现表格协同文档

葡萄城技术团队

软件测试/测试开发 | 网页 frame 与多窗口处理

测试人

软件测试 自动化测试 测试开发 Web自动化测试

中美ChatGPT的商业化分野

脑极体

ChatGPT

Java 发展史

kcodez

Java 后端

探讨丨传统行业必须数字化转型吗?

优秀

数字化转型

一文盘点,ZBC的应用场景与通缩场景

鳄鱼视界

进击中的 Zebec 生态,Web2 与 Web3 世界的连接器

BlockChain先知

瑞萨RH850 CS+环境下设置堆和栈空间

不脱发的程序猿

嵌入式 汽车电子 MCU RH850 瑞萨IDE

热点面试题: Array中有哪些非破坏性方法?

Immerse

JavaScript array 前端面试题 Javascript框架 超全前端面试题

2022Q4手机银行运营亮点:“新版本迭代潮”叠加“个人养老金账户争夺战”

易观分析

金融 银行 经济

Steam被曝 0day 漏洞,超1亿用户受到影响_安全_Lawrence Abrams_InfoQ精选文章