Pass the Ticket (PtT) Attacks

🎯 Overview

Pass the Ticket (PtT) is a lateral movement technique in Active Directory environments that uses stolen Kerberos tickets instead of NTLM password hashes. Unlike Pass the Hash attacks, PtT leverages the Kerberos authentication protocol to impersonate users and access resources.

Key Concepts

  • TGT (Ticket Granting Ticket) - First ticket obtained, used to request additional service tickets

  • TGS (Ticket Granting Service) - Service-specific tickets that allow access to particular resources

  • KDC (Key Distribution Center) - Domain Controller component that issues tickets

  • LSASS Process - Windows service that processes and stores Kerberos tickets


πŸ”§ Kerberos Protocol Refresher

Authentication Flow

1. User β†’ KDC: Authentication Request (encrypted timestamp with password hash)
2. KDC β†’ User: TGT (if authentication successful)
3. User β†’ KDC: TGS Request (presents TGT)
4. KDC β†’ User: TGS for specific service
5. User β†’ Service: Present TGS for authentication

Ticket Types

  • Service Ticket (TGS) - Access to specific resource/service

  • Ticket Granting Ticket (TGT) - Used to request service tickets for any accessible resource

Advantage: User doesn't need to provide password to every service - tickets handle authentication


🎯 Attack Prerequisites

Required Conditions

  • Local Administrator privileges (to access LSASS)

  • Valid Kerberos tickets on target system

  • Domain-joined Windows machine

  • LSASS access for ticket extraction

Ticket Sources

  1. Currently logged-in users (active sessions)

  2. Cached tickets from previous authentications

  3. Forged tickets using extracted keys

  4. Exported .kirbi files from previous operations


πŸ› οΈ Harvesting Kerberos Tickets

1. Mimikatz Ticket Export

Export All Tickets to .kirbi Files

Ticket Naming Convention

2. Rubeus Ticket Export

Dump All Tickets (Base64 Format)

Note: Rubeus exports tickets in Base64 format instead of files, preventing disk artifacts.

3. Extract Kerberos Encryption Keys

Mimikatz Key Extraction

Key Types Explained:

  • aes256_hmac - Modern AES-256 encryption (preferred)

  • rc4_hmac_nt - Legacy RC4/NTLM hash

  • rc4_hmac_old - Older RC4 implementation


πŸ”„ Pass the Key (OverPass the Hash)

Concept

Pass the Key (aka OverPass the Hash) converts a user's hash/key into a full Ticket Granting Ticket (TGT). This technique bridges hash-based and ticket-based attacks.

1. Mimikatz OverPass the Hash

Using NTLM Hash

Process Details

2. Rubeus OverPass the Hash

Using AES256 Key (Preferred)

Key Advantages

  • No admin privileges required (unlike Mimikatz)

  • Base64 output for easy manipulation

  • Multiple encryption types supported

  • Stealth operation - no new processes

Security Note: Using RC4 instead of AES256 may trigger "encryption downgrade" detection in modern domains.


🎫 Pass the Ticket (PtT) Attacks

1. Rubeus Pass the Ticket

Direct Ticket Import with /ptt

Import .kirbi File

Import Base64 Ticket

2. Mimikatz Pass the Ticket

Import .kirbi File

Launch New CMD with Ticket


πŸ”Œ PowerShell Remoting with PtT

Prerequisites

  • Remote Management Users group membership OR

  • Administrative privileges on target OR

  • Explicit PowerShell Remoting permissions

Default Ports:

  • TCP/5985 - HTTP

  • TCP/5986 - HTTPS

1. Mimikatz + PowerShell Remoting

Method 1: Sequential Import

2. Rubeus + Sacrificial Process

Create LOGON_TYPE 9 Process

Request TGT in New Process


🎯 HTB Academy Lab Exercises

Lab Environment

  • Target: 10.129.164.157 (ACADEMY-PWATTACKS-LM-MS01)

  • Credentials: Administrator : AnotherC0mpl3xP4$$

  • Domain: inlanefreight.htb

  • DC: DC01.inlanefreight.htb

Exercise 1: Ticket Collection

Question: "Connect to the target machine using RDP and the provided creds. Export all tickets present on the computer. How many users TGT did you collect?"

Answer: 3 user TGTs (julio, john, david)

Exercise 2: John's Share Access

Question: "Use john's TGT to perform a Pass the Ticket attack and retrieve the flag from the shared folder \DC01.inlanefreight.htb\john"

Expected Output:

Exercise 3: PowerShell Remoting

Question: "Use john's TGT to perform a Pass the Ticket attack and connect to the DC01 using PowerShell Remoting. Read the flag from C:\john\john.txt"

Expected Session:

Key Lab Insights

Ticket Identification Patterns

Critical Command Sequence

Success Indicators

  • Exercise 1: Count = 3 (julio, john, david)

  • Exercise 2: Successful SMB share access to john folder

  • Exercise 3: Remote PowerShell session established as john

Optional: Tool Comparison

Objective: Perform attacks using both Mimikatz and Rubeus independently

Mimikatz-Only Approach:

Rubeus-Only Approach:


πŸ›‘οΈ Detection and Defense

Detection Indicators

Defensive Measures


Comparison Matrix

Technique
Auth Method
Requirements
Stealth Level

Pass the Hash

NTLM

Admin + Hash

Medium

Pass the Ticket

Kerberos

Valid Ticket

High

Pass the Key

Kerberos

Key/Hash

High

Golden Ticket

Kerberos

krbtgt Hash

Very High

Silver Ticket

Kerberos

Service Hash

Very High

Lateral Movement Chain


πŸ“š References

  • HTB Academy: Password Attacks Module - Pass the Ticket

  • Mimikatz Documentation: Kerberos attacks and ticket manipulation

  • Rubeus Documentation: .NET tool for Kerberos abuse

  • Microsoft: Kerberos Authentication Technical Reference

  • NIST: Guidelines for Kerberos implementations

Last updated