Use Alternate Authentication Material: Pass the Ticket

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.

In this technique, 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]

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]

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]

ID: T1550.003
Sub-technique of:  T1550
Tactics: Defense Evasion, Lateral Movement
Platforms: Windows
System Requirements: Kerberos authentication enabled
Data Sources: Authentication logs
Defense Bypassed: System Access Controls
CAPEC ID: CAPEC-645
Contributors: Ryan Becwar; Vincent Le Toux
Version: 1.0
Created: 30 January 2020
Last Modified: 12 March 2020

Procedure Examples

Name Description
APT29

APT29 used Kerberos ticket attacks for lateral movement.[11]

APT32

APT32 successfully gained remote access by using pass the ticket.[13]

BRONZE BUTLER

BRONZE BUTLER has created forged Kerberos Ticket Granting Ticket (TGT) and Ticket Granting Service (TGS) tickets to maintain administrative access.[12]

Mimikatz

Mimikatz’s LSADUMP::DCSync and KERBEROS::PTT modules implement the three steps required to extract the krbtgt account hash and create/use Kerberos tickets.[5][6][7][8]

Pupy

Pupy can also perform pass-the-ticket.[9]

SeaDuke

Some SeaDuke samples have a module to use pass the ticket with Kerberos for authentication.[10]

Mitigations

Mitigation Description
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.[4]

Password Policies

Ensure that local administrator accounts have complex, unique passwords.

Privileged Account Management

Limit domain admin account permissions to domain controllers and limited servers. Delegate other admin functions to separate accounts.[1]

User Account Management

Do not allow a user to be a local administrator for multiple systems.

Detection

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.[14]

References