T1558.001 Sumo Logic CSE · Sumo

Detect Golden Ticket in Sumo Logic CSE

Adversaries who have obtained the KRBTGT account password hash may forge Kerberos ticket-granting tickets (TGT), known as golden tickets. Golden tickets enable adversaries to generate authentication material for any account in Active Directory with arbitrary group memberships, privilege levels, and ticket lifetimes — including non-existent accounts. The KRBTGT hash is typically obtained via OS Credential Dumping (DCSync or direct LSASS dump) against a domain controller. Tools including Mimikatz (kerberos::golden), Rubeus (golden /rc4: or /aes256:), Impacket ticketer.py, and the Empire/Sliver frameworks can generate forged TGTs locally without contacting the KDC. The forged ticket is then injected into memory (Pass-the-Ticket) and used to request Kerberos Service Tickets (TGS) for any resource in the domain. Golden tickets are highly persistent: they remain valid until the KRBTGT password is reset twice, and the attacker can regenerate them at will as long as the KRBTGT hash is known.

MITRE ATT&CK

Tactic
Credential Access
Technique
T1558 Steal or Forge Kerberos Tickets
Sub-technique
T1558.001 Golden Ticket
Canonical reference
https://attack.mitre.org/techniques/T1558/001/

Sumo Detection Query

Sumo Logic CSE (Sumo)
sql
// Component 1: Tool execution — Sysmon Event ID 1 via Sumo Logic
(_sourceCategory="windows/sysmon" OR _sourceCategory="*sysmon*")
| parse "<EventID>*</EventID>" as EventID
| where EventID = "1"
| parse "<Image>*</Image>" as ProcessImage
| parse "<CommandLine>*</CommandLine>" as CommandLine
| parse "<ParentImage>*</ParentImage>" as ParentImage
| parse "<ParentCommandLine>*</ParentCommandLine>" as ParentCommandLine
| parse "<User>*</User>" as UserAccount
| parse "<Computer>*</Computer>" as HostName
| where (
    toLowerCase(ProcessImage) matches "*\\mimikatz.exe"
    or toLowerCase(ProcessImage) matches "*\\rubeus.exe"
    or toLowerCase(CommandLine) matches "*kerberos::golden*"
    or toLowerCase(CommandLine) matches "*kerberos::silver*"
    or toLowerCase(CommandLine) matches "*kerberos::ptt*"
    or toLowerCase(CommandLine) matches "*kerberos::purge*"
    or toLowerCase(CommandLine) matches "*sekurlsa::krbtgt*"
    or toLowerCase(CommandLine) matches "*golden /rc4:*"
    or toLowerCase(CommandLine) matches "*golden /aes256:*"
    or toLowerCase(CommandLine) matches "*golden /aes128:*"
    or toLowerCase(CommandLine) matches "*ptt /ticket:*"
    or toLowerCase(CommandLine) matches "*asktgt /user:*"
)
| eval DetectionType = "GoldenTicket_ToolExecution"
| eval ToolIndicator = if(toLowerCase(CommandLine) matches "*kerberos::golden*", "Mimikatz_kerberos::golden",
    if(toLowerCase(CommandLine) matches "*kerberos::silver*", "Mimikatz_kerberos::silver",
    if(toLowerCase(CommandLine) matches "*kerberos::ptt*", "Mimikatz_Pass-the-Ticket",
    if(toLowerCase(CommandLine) matches "*golden /rc4:*", "Rubeus_golden_RC4",
    if(toLowerCase(CommandLine) matches "*golden /aes256:*", "Rubeus_golden_AES256",
    if(toLowerCase(CommandLine) matches "*ptt /ticket:*", "Rubeus_PTT",
    if(toLowerCase(ProcessImage) matches "*mimikatz.exe", "Mimikatz_binary",
    if(toLowerCase(ProcessImage) matches "*rubeus.exe", "Rubeus_binary",
    "Unknown_KerberosTool"))))))))
| fields _messageTime, HostName, UserAccount, ProcessImage, CommandLine, ParentImage, DetectionType, ToolIndicator

// Run separately — Component 2: RC4 Kerberos TGS requests (Event ID 4769)
(_sourceCategory="windows/security" OR _sourceCategory="*WinEventLog*Security*")
| parse "EventCode=*" as EventCode
| where EventCode = "4769"
| parse "Service Name:\t*\n" as ServiceName
| parse "Ticket Encryption Type:\t*\n" as TicketEncryptionType
| parse "Client Address:\t*\n" as ClientAddress
| parse "Result Code:\t*\n" as Status
| where TicketEncryptionType = "0x17"
| where Status = "0x0"
| where !(ServiceName matches "*$")
| where !(ServiceName = "krbtgt" or ServiceName = "kadmin/changepw")
| where !(ClientAddress = "::1" or ClientAddress = "127.0.0.1" or ClientAddress = "-")
| eval DetectionType = "GoldenTicket_KerberosRC4Encryption"
| eval ToolIndicator = "RC4-HMAC_TGS_Request"
| fields _messageTime, _sourceHost, ServiceName, ClientAddress, TicketEncryptionType, DetectionType, ToolIndicator
| sort by _messageTime desc
critical severity high confidence

Sumo Logic detection for Golden Ticket attacks using two search components. The first targets Sysmon Event ID 1 process creation logs matching Mimikatz and Rubeus command-line patterns. The second targets Windows Security Event 4769 Kerberos TGS requests using RC4-HMAC (0x17) encryption, which is the default for golden tickets when the attacker possesses only the NT hash. Both exclude machine accounts, KDC internals, and loopback sources.

Data Sources

Windows Security Event Log via Sumo Logic Installed CollectorSysmon Operational Log via Sumo Logic Installed CollectorSumo Logic Cloud SIEM Enterprise normalized events

Required Tables

_sourceCategory=windows/sysmon_sourceCategory=windows/security

False Positives & Tuning

  • Environments with a significant number of Windows XP, Server 2003, or other legacy systems that cannot negotiate AES Kerberos will generate constant RC4 TGS requests — segment these by source host and exclude known legacy assets
  • Third-party Kerberos implementations (Samba, MIT Kerberos on Linux) may request RC4 tickets by default when interoperating with Active Directory domains that have not disabled RC4
  • Security awareness or red team toolkits bundled with corporate endpoint security testing suites may include Mimikatz or Rubeus binaries that trigger tool execution alerts during scheduled tests
Download portable Sigma rule (.yml)

Other platforms for T1558.001


Testing Methodology

Validate this detection against 4 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.

  1. Test 1Mimikatz Golden Ticket Creation and Pass-the-Ticket

    Expected signal: Sysmon Event ID 1: Process Create with Image=mimikatz.exe and CommandLine containing 'kerberos::golden'. Sysmon Event ID 10: ProcessAccess targeting lsass.exe from mimikatz.exe (during /ptt injection). Windows Security Event 4769 on DC: TGS requests with TicketEncryptionType=0x17 from the test machine after ticket injection. No corresponding Event 4768 (TGT request) for GoldenUser from the test machine IP since the TGT was forged locally.

  2. Test 2Rubeus Golden Ticket Generation with AES256

    Expected signal: Sysmon Event ID 1: Process Create with Image=Rubeus.exe and CommandLine containing 'golden /aes256:'. Windows Security Event 4769 on DC after ticket use: TicketEncryptionType=0x12 (AES256-CTS-HMAC-SHA1-96) — NOTE: this variant does NOT trigger the RC4 detector, demonstrating the importance of the TGS-without-TGT hunt and process execution detection as complementary layers. No Event 4768 from the test machine for GoldenUser.

  3. Test 3Mimikatz kerberos::list — Inspect Existing Kerberos Tickets

    Expected signal: Sysmon Event ID 1: Process Create with Image=mimikatz.exe and CommandLine containing 'kerberos::list'. Sysmon Event ID 11: File creation events for .kirbi ticket files exported to the current directory. No Kerberos events on DC since this only reads the local ticket cache.

  4. Test 4Impacket ticketer.py Golden Ticket (Linux/Windows)

    Expected signal: Linux syslog/auditd: process execution of python3 with ticketer.py arguments including '-nthash' and '-domain-sid'. On the target Windows DC, Security Event 4769 with TicketEncryptionType=0x17 (RC4) when the golden ticket is used to authenticate, and notably NO preceding Event 4768 from the Linux host's IP. Network: Kerberos (UDP/TCP port 88) traffic from the Linux attacker IP to the DC for TGS requests.

Unlock Pro Content

Get the full detection package for T1558.001 including response playbook, investigation guide, and atomic red team tests.

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections