ID | Name |
---|---|
T1550.001 | Application Access Token |
T1550.002 | Pass the Hash |
T1550.003 | Pass the Ticket |
T1550.004 | Web Session Cookie |
Adversaries may "pass the ticket" using stolen Kerberos tickets to move laterally within an environment, bypassing normal system access controls. Pass the ticket (PtT) is a method of authenticating to a system using Kerberos tickets without having access to an account's password. Kerberos authentication can be used as the first step to lateral movement to a remote system.
When preforming PtT, valid Kerberos tickets for Valid Accounts are captured by OS Credential Dumping. A user's service tickets or ticket granting ticket (TGT) may be obtained, depending on the level of access. A service ticket allows for access to a particular resource, whereas a TGT can be used to request service tickets from the Ticket Granting Service (TGS) to access any resource the user has privileges to access.[1][2]
A Silver Ticket can be obtained for services that use Kerberos as an authentication mechanism and are used to generate tickets to access that particular resource and the system that hosts the resource (e.g., SharePoint).[1]
A Golden Ticket can be obtained for the domain using the Key Distribution Service account KRBTGT account NTLM hash, which enables generation of TGTs for any account in Active Directory.[3]
Adversaries may also create a valid Kerberos ticket using other user information, such as stolen password hashes or AES keys. For example, "overpassing the hash" involves using a NTLM password hash to authenticate as a user (i.e. Pass the Hash) while also using the password hash to create a valid Kerberos ticket.[4]
ID | Name | Description |
---|---|---|
G0016 | APT29 | |
G0050 | APT32 |
APT32 successfully gained remote access by using pass the ticket.[6] |
G0060 | BRONZE BUTLER |
BRONZE BUTLER has created forged Kerberos Ticket Granting Ticket (TGT) and Ticket Granting Service (TGS) tickets to maintain administrative access.[7] |
S0002 | Mimikatz |
Mimikatz’s |
S0192 | Pupy | |
S0053 | SeaDuke |
Some SeaDuke samples have a module to use pass the ticket with Kerberos for authentication.[13] |
ID | Mitigation | Description |
---|---|---|
M1015 | Active Directory Configuration |
To contain the impact of a previously generated golden ticket, reset the built-in KRBTGT account password twice, which will invalidate any existing golden tickets that have been created with the KRBTGT hash and other Kerberos tickets derived from it.[14] For each domain, change the KRBTGT account password once, force replication, and then change the password a second time. Consider rotating the KRBTGT account password every 180 days.[15] |
M1027 | Password Policies |
Ensure that local administrator accounts have complex, unique passwords. |
M1026 | Privileged Account Management |
Limit domain admin account permissions to domain controllers and limited servers. Delegate other admin functions to separate accounts.[1] |
M1018 | User Account Management |
Do not allow a user to be a local administrator for multiple systems. |
ID | Data Source | Data Component |
---|---|---|
DS0026 | Active Directory | Active Directory Credential Request |
DS0028 | Logon Session | Logon Session Creation |
DS0002 | User Account | User Account Authentication |
Audit all Kerberos authentication and credential use events and review for discrepancies. Unusual remote authentication events that correlate with other suspicious activity (such as writing and executing binaries) may indicate malicious activity.
Event ID 4769 is generated on the Domain Controller when using a golden ticket after the KRBTGT password has been reset twice, as mentioned in the mitigation section. The status code 0x1F indicates the action has failed due to "Integrity check on decrypted field failed" and indicates misuse by a previously invalidated golden ticket.[16]