写点什么

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:535926

评论

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

javascript中的内置对象和数据结构

程序那些事

JavaScript 数据结构 ES6 程序那些事

runtime笔记

Conan

ios

Kalm——基于Kubernetes的部署工具

David

开源 Kubernetes DevOps 运维 运维平台

解读云原生技术

xcbeyond

Kubernetes 云原生 服务网格 28天写作

工作多年,如何找到自己更好的职业方向

一笑

28天写作

Linux入门篇 —— Shell详解

若尘

Linux 命令行 linux操作

科大讯飞发布全新一代智能办公本X2

Xue Liang

一口气发布十大建网利器,华为打算煲出怎样的5G味道?

脑极体

诊所数字化:患者数字档案的价值机遇和风险

boshi

数字化医疗 七日更 28天写作

风口上的量子计算机:核聚变一样的赌局,钻石一样的骗局

脑极体

28天瞎写的第二百四十三天:正念冥想可以解决什么问题?

树上

冥想 28天写作 正念

专治小学生作业拖沓

Ian哥

28天写作

区块链电子合同存证,电子合同区块链服务平台

13530558032

为您收录的操作系统系列 - 进程管理(下篇)

鲁米

方法论 操作系统 进程

字节跳动面试官这样问消息队列:高可用、不重复消费、可靠传输、顺序消费、消息堆积,我整理了下

冰河

面试 分布式 中间件 消息队列 一起进大厂

【计算机内功修炼】十:线程间到底共享了哪些进程资源

码农的荒岛求生

c c++ 线程 操作系统 进程

阿里粗排技术体系与最新进展

DataFunTalk

伊卡洛斯象征了什么?「Day 5」

道伟

文化 28天写作

(28DW-S8-Day5) 区块链如何防伪

mtfelix

比特币 区块链 非对称加密 28天写作 防伪技术

基于grpc手撸一个RPC框架

cloudcoder

【2021海量真实校招】软件测试面试真题,(大数据整理)刷完应对各家企业面试完全没有问题!

程序员阿沐

面试 软件测试 自动化测试 黑盒测试 白盒测试

移除数组中的数字,不用额外空间, 实战RxSwift中的Observable, subscribe, dispose, 吴军老师态度读后感 John 易筋 ARTS 打卡 Week 39

John(易筋)

ARTS 打卡计划 吴军的态度 态度读后感

如何有效改变别人的认知和行为?

数列科技杨德华

28天写作

别再这么写代码了,这几个方法不香吗?

楼下小黑哥

Java 重构

腾讯位置服务开发应用

我是哪吒

28天写作 2月春节不断更 腾讯地图 腾讯位置服务开发应用 腾讯位置

简单的网站搭建

很甜回忆

网站

火山翻译:工业级应用与研究

DataFunTalk

优雅编程 | javascript代码优化的4个小技巧

devpoint

递归 命名空间 闭包 函数绑定

翻译:《实用的Python编程》02_05_Collections

codists

Python

感性赢了理性那一面——浅谈峰终定律

Justin

心理学 28天写作

Elasticsearch 查询结果排序

escray

elastic 七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试 2月春节不断更

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