Detect Silver Ticket in Google Chronicle
Adversaries who have obtained the NTLM password hash of a target service account may forge Kerberos Ticket Granting Service (TGS) tickets, known as silver tickets. Silver tickets are more limited in scope than golden tickets — they only grant access to a specific service on a specific host — but are significantly harder to detect because they bypass the Key Distribution Center (KDC) entirely, generating no KDC-side authentication logs. Service account hashes are typically obtained via OS Credential Dumping (T1003) or Kerberoasting (T1558.003). Common tooling includes Mimikatz (kerberos::silver), Rubeus (silver), and Empire/Invoke-Mimikatz. AADInternals can forge tickets using the AZUREADSSOACC account hash to attack Azure AD Seamless SSO.
MITRE ATT&CK
- Tactic
- Credential Access
- Technique
- T1558 Steal or Forge Kerberos Tickets
- Sub-technique
- T1558.002 Silver Ticket
- Canonical reference
- https://attack.mitre.org/techniques/T1558/002/
YARA-L Detection Query
rule t1558_002_silver_ticket {
meta:
author = "Argus Detection Engineering"
description = "Detects Silver Ticket attacks via Mimikatz/Rubeus/PowerShell tool execution (PROCESS_LAUNCH) and Kerberos RC4 downgrade (Event 4769). Covers AADInternals Azure AD SSO silver ticket variant."
mitre_attack_tactic = "Credential Access"
mitre_attack_technique = "T1558.002"
severity = "CRITICAL"
confidence = "HIGH"
reference = "https://attack.mitre.org/techniques/T1558/002/"
events:
(
/* Method 1a: Mimikatz or Rubeus direct binary execution */
(
$e.metadata.event_type = "PROCESS_LAUNCH"
and (
re.regex($e.target.process.file.full_path, `(?i)(mimikatz(64)?\.exe$|rubeus\.exe$)`)
or re.regex($e.principal.process.file.full_path, `(?i)(mimikatz(64)?\.exe$|rubeus\.exe$)`)
)
and re.regex($e.target.process.command_line, `(?i)(kerberos::silver|kerberos::ptt|\/ptt|sekurlsa::tickets|s4u|asktgs|createnetonly)`)
)
or
/* Method 1b: PowerShell Invoke-Mimikatz / Rubeus loader / AADInternals */
(
$e.metadata.event_type = "PROCESS_LAUNCH"
and re.regex($e.target.process.file.full_path, `(?i)(powershell|pwsh)\.exe$`)
and re.regex($e.target.process.command_line, `(?i)(invoke-mimikatz|invoke-kerberoast|rubeus|new-aadintkerberosticket)`)
and re.regex($e.target.process.command_line, `(?i)(silver|kerberos::ptt|\/ptt|\/target:|\/rc4:|azureadssoacc|seamlesssso)`)
)
or
/* Method 2: Kerberos RC4 downgrade — Windows Security Event 4769 */
/* TicketEncryptionType is mapped to extensions.auth.auth_details by the Chronicle */
/* Windows Security Event Log parser; verify field mapping in your environment. */
(
$e.metadata.product_event_type = "4769"
and (
$e.extensions.auth.auth_details = "0x17"
or $e.extensions.auth.auth_details = "0x18"
)
and not re.regex($e.target.resource.name, `.*\$$`)
and $e.target.resource.name != "krbtgt"
and $e.target.resource.name != "UNKNOWN"
and $e.target.resource.name != "-"
and not re.regex($e.principal.user.userid, `.*\$$`)
and $e.principal.user.userid != "-"
)
)
condition:
$e
} Chronicle YARA-L 2.0 rule detecting Silver Ticket attacks (T1558.002) using UDM event matching. Covers PROCESS_LAUNCH events for Mimikatz/Rubeus direct execution and PowerShell-based loaders (Invoke-Mimikatz, Rubeus PS loader, AADInternals AZUREADSSOACC), and Windows Security Event 4769 with RC4 encryption types mapped to extensions.auth.auth_details. Note: verify TicketEncryptionType UDM field mapping in your Chronicle environment — if not mapped to extensions.auth.auth_details, check about.labels or request a parser update from Google SecOps support.
Data Sources
Required Tables
False Positives & Tuning
- Services using Kerberos constrained delegation (S4U2Self/S4U2Proxy) in .NET middleware, IIS application pools, or Java application servers will generate PROCESS_LAUNCH events with 's4u' in command-line arguments
- RC4 Kerberos encryption (0x17) from legacy domain clients not yet migrated to AES encryption types (Windows XP/Server 2003 era, some embedded control systems, or misconfigured GPO environments) will generate Event 4769 continuously at high volume
- Internal security teams running detection validation or YARA/sigma rule testing frameworks that reference Mimikatz or Kerberos attack terminology in test string literals or rule comments
Other platforms for T1558.002
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.
- Test 1Mimikatz Silver Ticket — CIFS Service Forge and Inject
Expected signal: Sysmon Event ID 1: Process Create with Image=mimikatz.exe, CommandLine containing 'kerberos::silver', '/target:', '/rc4:', '/ptt'. Security Event ID 4688 (if command-line auditing enabled) with same command line. Sysmon Event ID 10 (ProcessAccess) targeting lsass.exe if ticket injection triggers LSASS interaction. No Event ID 4769 at the Domain Controller — the absence of this expected event is itself a detection signal for mature monitoring programs.
- Test 2Rubeus Silver Ticket — MSSQLSvc SPN Forge with Pass-the-Ticket
Expected signal: Sysmon Event ID 1: Two process creation events — one for Rubeus.exe createnetonly (spawning cmd.exe), one for Rubeus.exe silver with /target: /service: /rc4: arguments. Sysmon Event ID 3: Network connection from Rubeus.exe if it contacts the DC for domain SID resolution (can be mitigated with /sid flag). Security Event ID 4648 may appear on the local host if ticket injection triggers explicit credential logon logging.
- Test 3Invoke-Mimikatz Silver Ticket via PowerShell (In-Memory)
Expected signal: Sysmon Event ID 1: Process Create for powershell.exe with CommandLine containing 'Invoke-Mimikatz' and 'kerberos::silver'. PowerShell ScriptBlock Log Event ID 4104 showing the deobfuscated Invoke-Mimikatz call with full kerberos::silver arguments. Security Event ID 4688 with PowerShell command line if command-line auditing is enabled. Sysmon Event ID 10 (ProcessAccess) targeting lsass.exe from powershell.exe during ticket injection.
- Test 4Kerberos RC4 Encryption Request — Kerberoasting Precursor Simulation
Expected signal: Security Event ID 4769 on the Domain Controller with TicketEncryptionType=0x17 (RC4_HMAC_MD5), ServiceName=MSSQLSvc/sqlserver01.lab.local:1433, and the requesting user's account name. This event is the primary indicator captured by the Kerberos RC4 Anomaly detection method. TargetUserName will be the current user running the PowerShell command. ClientAddress will be the requesting machine's IP.
References (10)
- https://attack.mitre.org/techniques/T1558/002/
- https://adsecurity.org/?p=2011
- https://adsecurity.org/?p=1515
- https://github.com/GhostPack/Rubeus
- https://github.com/gentilkiwi/mimikatz
- https://github.com/dirkjanm/BloodHound
- https://medium.com/threatpunter/detecting-attempts-to-steal-passwords-from-memory-558f16dce4ea
- https://learn.microsoft.com/en-us/windows/security/threat-protection/auditing/event-4769
- https://learn.microsoft.com/en-us/defender-endpoint/advanced-hunting-deviceprocessevents-table
- https://o365blog.com/post/azureadkerberos/
Unlock Pro Content
Get the full detection package for T1558.002 including response playbook, investigation guide, and atomic red team tests.