渗透测试Hacker Tecnology

Steam游戏客户端 本地提权 0day

2019-08-09  本文已影响23人  54a422aceb11

​'''

通过注册表提权这个姿势有水平...

--- 鲁迅

'''

文章内容来源amonitoring.ru

下面为编译内容

介绍:

俺挖漏洞也挖了好几年了,自我感觉也撸了很多,但有个问题俺一直想不通也不能接受。那就是厂商非常不情愿,去了解漏洞或者问题的信息。俺知道,如果其他人直接得指出,哦,你弄了个bug,哦哦,不止一个,那当然很不爽。实质上,通过公开的信息,很难去判断某个员工是犯了某些错,然鹅,俺不明白为什么漏洞报告还是会被拒。。。

算鸟,说回Valve Software 公司的Steam。

漏洞:

这个漏洞本身很简单,Steam 安装了个服务,名叫: “Steam Clinet Service”, 用来做一些程序内部的事情。

检查一下这个服务的SDDL(安全描述符定义语言):

参考:https://habr.com/ru/company/pm/blog/442662/(俄文的,咱不会翻译...)

```

O:SYG:SYD:(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;RPWP;;;BU)

```

最有趣的部分是(A;;RPWP;;;BU),这意味着,任何“Users”这个组里的成员都允许去启动和停止这个服务。

现在,来检查一下这个服务器启动时的动作。实质上,这有点无聊。然鹅,某些注册表动作看起来有点奇怪。这个服务枚举了

'''

HKLM\Software\Wow6432Node\Valve\Steam\Apps

'''

里的所有子键,每个都设了些安全描述符。

这些安全描述符到底是啥?俺创建了个测试键 :

```

HKLM\Software\Wow6432Node\Valve\Steam\Apps\test

```

然后启动这个服务(Procmon 日志在上方),并检查这个注册表键的权限。在这里俺发现这个键

```

HKLM\SOFTWARE\Wow6432Node\Valve\Steam

```

直截了当地,对于“Users”组就是“Full control”权限有木有,然后这权限也会直接让它的所有子键继承。俺寻思着应该是RegSetKeySecurity设置了同样的权限,然后当出现个软连接的时候,有趣的事情发生了!

俺创建了个软链接

```

HKLM\SOFTWARE\Wow6432Node\Valve\Steam\Apps\test

```

指向

```

HKLM\SOFTWARE\test2

```

然后又重启这个服务。

Steam 的服务给咱的目标键也设置了安全描述符!!!检查一下这个键的SDDL(部分不感兴趣的内容就略过了)

```

(A;ID;KA;;;BU)(A;OICIIOID;GA;;;BU)

```

用人话说,就是,对所有用户的完全(读和写)访问权限。这就是这个服务给这个键设的安全描述符。

所以,俺们就有了一个初始的手段,去控制注册表里几乎每一个键。这很容易就能做到了EoP(提权)。俺选择了这个键:

```

HKLM\SYSTEM\ControlSet001\Services\msiserver

```

呃,是关于Windows 安装( “Windows Installer”)服务的(系统安装任务程序都用到它),系统里每个用户都可以启动它,就跟Steam的服务一样一样的,但是呢,是"NT AUTHORITY\SYSTEM"权限执行滴。

在获得控制之后(通过Steam上述的漏洞,把这个键被改为所有人可以写之后),剩下需要做的就很简单了,把

'''

HKLM\SYSTEM\ControlSet001\Services\msiserve

'''

这个键的ImagePath 值改为你的程序路径,随后启动"Windows Installer"就行。ImagePath指定的程序就会以"NT AUTHORITY\SYSTEM"这个系统最高权限启动啦。。。。

综上所述,对于装了Steam游戏软件的Windows机器,把上面堆东西全都用起来,那么,(尽管是最渣渣的用户)俺们也可以以最高权限运行俺们喜欢的程序囖。。,

·····

然后是一段很长很长的漏洞披(撕)露(逼)过程....呃,这段不翻译,早点碎觉。

.....

就在前天(2019年8月6号,美国时间),Steam 更新了,但是,但是... bug没修!!!版本号是versions: 5.27.59.20


编译:HackerHub

原作:Vasily Kravets

原文:https://amonitoring.ru/article/steamclient-0day/

HackerHub
上一篇下一篇

猜你喜欢

热点阅读