Operator On The Wire
Join
← Back to Knowledge Base
BLUE TEAM / THREAT HUNT / ACTIVE DIRECTORY / KERBEROS

Silver Ticket

This note documents detection patterns related to Silver Ticket within Active Directory environments.


Direct Indicators

LogEvent IDMeaningForensic ValueNotes
Security4624Successful logonCriticalLogonType 3 (Network) using Kerberos on target host without corresponding 4769 on DC is the strongest indicator. Silver tickets are presented directly to the service.
Security4769Kerberos service ticket requestCriticalAbsence of 4769 for a service where access occurred is the key detection gap. Silver tickets bypass KDC, so no TGS request is logged.
Security4672Special privileges assignedHighForged PAC may include admin groups → immediate privileged session on target host.
Security5140Share accessedCriticalSMB access (\\host\C$, ADMIN$) using Kerberos with no matching 4769 (cifs/SPN) strongly suggests silver ticket usage.
Security5145Detailed share accessHighConfirms file-level interaction after authentication. Combine with missing TGS for stronger signal.
System4Kerberos error (KRB_AP_ERR_MODIFIED)HighIndicates service could not decrypt ticket → often failed silver ticket attempt (wrong key/SPN).
Security4688Process creationHighPost-auth activity (e.g., cmd.exe, powershell.exe, psexecsvc.exe) immediately after Kerberos logon suggests lateral movement via forged ticket.
Sysmon1Process creationHighDetection of tooling: mimikatz, rubeus, .kirbi, ptt, asktgs, s4u, /service:cifs, etc.
Sysmon3Network connectionMediumOutbound connections to specific service hosts (445, 5985, 1433, 80/443) tied to suspicious Kerberos sessions.
Sysmon10Process accessHighLSASS access prior to ticket activity → potential credential/key extraction used to forge silver ticket.
Security4625Failed logonMediumMay appear if attacker misuses forged ticket or attempts fallback authentication.
Security4770Ticket renewalLowRarely seen in silver ticket scenarios → absence may reinforce anomaly chain.

Indirect Indicators

IndicatorWhat To Look ForForensic ValueNotes
Service authentication without KDC activity4624 on target host but no matching 4769 on DCCriticalCore silver ticket detection pattern. No DC visibility → service-only authentication.
PAC privilege mismatchUser performs admin-level actions but AD shows no such membershipCriticalForged PAC allows attacker to inject fake group SIDs (e.g., Domain Admins).
Service-scoped authentication onlyUser successfully accesses one service (CIFS/HTTP/MSSQL) but fails elsewhereHighSilver tickets are tied to a specific SPN, not full domain trust like golden tickets.
Abnormal user-to-host relationshipUser authenticates to server they never accessed beforeHighEspecially strong if from workstation instead of admin jump host.
Privileged activity immediately after logon4624 → 4672 → 4688 chain within secondsCriticalIndicates attacker using forged PAC with elevated privileges.
Kerberos success + NTLM fallback patternsMixed Kerberos + NTLM behavior from same host/sessionMediumAttacker testing authentication paths or compensating for failed tickets.
KRB_AP_ERR_MODIFIED spikesRepeated Kerberos decryption failures on specific serverHighIndicates incorrect ticket forging attempts or SPN/key mismatch.
Lack of full Kerberos chainMissing 4768 → 4769 → 4624 sequenceCriticalSilver ticket breaks normal Kerberos flow — only final step observed.
Lateral movement without credential exposureNo password use but successful remote executionHighSuggests ticket-based authentication (Pass-the-Ticket / Silver Ticket).
Inconsistent encryption typesUnusual TicketEncryptionType values (e.g., RC4 in modern AES env)MediumAttackers often rely on RC4 hashes for forging tickets.
Service log anomaliesIIS / MSSQL / WinRM logs show authenticated user without DC traceHighService accepts PAC without KDC validation.
Short-lived, targeted access burstsSingle-service access followed by quick execution and exitHighTypical attacker behavior using forged ticket for specific objective.
Ticket injection artifacts.kirbi files, ptt, memory injection patternsHighIndicates manual ticket injection prior to service access.
Authentication succeeds but delegation failsService works but constrained delegation scenarios breakMediumForged ticket lacks proper delegation chain.

Common Tools

ToolUsage
MimikatzCreates forged Kerberos service tickets (Silver Tickets).
RubeusGenerates and injects service tickets.
Impacket ticketer.pyCreates forged Kerberos tickets.
KekeoKerberos manipulation toolkit.
Invoke-MimikatzPowerShell interface to Mimikatz.

Relevant Artifacts

  • Domain controller Security logs (4769, 4624)
  • Service host logs (file server, SQL server, IIS)
  • Sysmon logs (1, 3)
  • Kerberos operational logs
  • LSASS memory artifacts
  • EDR telemetry identifying ticket forgery tools
  • Network authentication telemetry
  • Prefetch artifacts showing execution of Mimikatz or Rubeus

MITRE ATT&CK References

  • T1558 Steal or Forge Kerberos Tickets
  • T1558.002 Silver Ticket
  • T1078 Valid Accounts

Decision Tree

  1. Is the suspicious event present?
    • Identify service ticket usage (4769) without corresponding TGT request.
  2. What host generated the event?
    • Identify the workstation using forged service ticket.
  3. Is the account expected to perform this action?
    • Investigate whether account normally accesses this service.
  4. Pivot:
    • Source host → inspect execution of Mimikatz or Rubeus.
    • Account → review privilege level and access patterns.
    • Network → inspect service access logs for anomalies.
  5. Confirm exploitation
    • Determine whether attacker forged service ticket using service account hash.

Example Detection Templates

KQL

SecurityEvent
| where EventID == 4769
| summarize count() by ServiceName, TargetUserName, IpAddress, bin(TimeGenerated, 5m)
SecurityEvent
| where EventID == 4624 and LogonType == 3
| project TimeGenerated, TargetUserName, IpAddress, WorkstationName

EQL

any where event.code == "4769"

Sigma

title: Suspicious Kerberos Service Ticket Activity
id: silver-ticket-detection
status: experimental
description: Detects abnormal Kerberos service ticket activity potentially indicating Silver Ticket abuse
logsource:
  product: windows
  service: security
detection:
  selection:
    EventID: 4769
  condition: selection
fields:
  - TargetUserName
  - ServiceName
falsepositives:
  - Legitimate Kerberos service authentication
level: medium
tags:
  - attack.credential_access
  - attack.t1558.002

Splunk

# Kerberos logon on host with NO 4769
index=main source="WinEventLog:Security" EventCode=4624 Logon_Type=3 Authentication_Package=Kerberos  
| eval user=lower(TargetUserName), src_ip=coalesce(IpAddress,Source_Network_Address)  
| table _time host user src_ip Logon_ID  
| join type=left user  
[  
search index=main source="WinEventLog:Security" EventCode=4769 earliest=-5m  
| eval user=lower(mvindex(split(Account_Name,"@"),0))  
| table _time user Service_Name  
]  
| where isnull(Service_Name)

# Kerberos logon WITHOUT prior 4768 (no TGT activity)
index=main source="WinEventLog:Security" EventCode=4624 Authentication_Package=Kerberos  
| eval user=lower(TargetUserName)  
| join type=left user  
[  
search index=main source="WinEventLog:Security" EventCode=4768 earliest=-10m  
| eval user=lower(mvindex(split(Account_Name,"@"),0))  
| table user  
]  
| where isnull(user)

# SMB Access 5140 with NO CIFS TGS
index=main source="WinEventLog:Security" EventCode=5140  
| eval user=lower(Account_Name)  
| table _time host ShareName user IpAddress  
| join type=left user host  
[  
search index=main source="WinEventLog:Security" EventCode=4769 earliest=-5m  
| eval user=lower(mvindex(split(Account_Name,"@"),0))  
| search Service_Name="cifs/*"  
| rex field=Service_Name "cifs/(?<host>[^@]+)"  
| table user host  
]  
| where isnull(host)

# Kerberos logon immediately followed by privilege assignment
index=main source="WinEventLog:Security" EventCode IN (4624,4672)  
| eval user=lower(coalesce(TargetUserName,SubjectUserName))  
| stats values(EventCode) as events min(_time) as time by user host Logon_ID  
| where mvfind(events,"4624")>=0 AND mvfind(events,"4672")>=0

# Kerberos error (bad forged ticket attempts)
index=main source="WinEventLog:System" EventCode=4 SourceName=Kerberos
| search "KRB_AP_ERR_MODIFIED"
| stats count by host

# Suspicious Kerberos tooling (Rubeus / Mimikatz)
index=main source="WinEventLog:Security" EventCode=4688  
| eval cmd=lower(CommandLine)  
| search cmd="*rubeus*" OR cmd="*mimikatz*" OR cmd="*kerberos::golden*" OR cmd="*ptt*" OR cmd="*.kirbi*"  
| table _time host SubjectUserName New_Process_Name CommandLine

Mitigation & Hardening

Control AreaMitigationEffectivenessNotes
Service account securityRotate service account passwords regularlyCriticalSilver tickets rely on service account keys (NTLM/AES). Rotation instantly invalidates forged tickets. Prioritize high-value SPNs (CIFS, MSSQL, HTTP).
gMSA adoptionUse Group Managed Service Accounts (gMSA)CriticalAutomatically rotates strong passwords and prevents manual key exposure. Best defense for service accounts.
Kerberos hardeningEnforce AES-only Kerberos (disable RC4)HighAttackers commonly use RC4 hashes for ticket forging. Forcing AES increases difficulty and reduces attack surface.
SPN hygieneAudit and remove duplicate/misconfigured SPNsHighReduces risk of KRB_AP_ERR_MODIFIED confusion and limits attack surface for service impersonation.
PAC validationEnable/ensure PAC validation where supportedHighForces services to validate PAC with KDC, reducing trust in forged authorization data. Not universally enforced by default.
Least privilegeMinimize privileges of service accountsHighEven if ticket is forged, blast radius is limited. Avoid Domain Admin or excessive group membership on service accounts.
Tiered admin modelEnforce admin tiering (Tier 0/1/2 separation)CriticalPrevents service accounts from being used across trust boundaries (e.g., workstation → DC pivot).
Credential protectionEnable LSASS protections (RunAsPPL, Credential Guard)HighPrevents dumping of service account hashes used to forge tickets.
Secrets managementStore service credentials in secure vaults (Key Vault, etc.)HighAvoids plaintext or config-based credential leakage.
EDR / XDR monitoringDetect Kerberos tooling (Rubeus, Mimikatz, Impacket)HighStops attack at ticket creation/injection stage before usage.
Endpoint hardeningBlock LSASS access & suspicious memory readsHighPrevents attackers from extracting keys required for silver ticket creation.
Kerberos telemetryMonitor 4624 ↔ 4769 correlation gapsHighDetects service usage without KDC visibility, the core silver ticket behavior.
Network segmentationRestrict lateral movement paths (SMB, WinRM, MSSQL)HighLimits where forged tickets can be used even if attacker succeeds.
Logging & retentionEnsure full DC + endpoint log coverage (4768/4769/4624)CriticalWithout full visibility, silver tickets become nearly invisible.
Time synchronizationMaintain strict time sync across domainMediumPrevents attackers abusing skew and avoids false positives in correlation logic.
Service isolationRun services under dedicated accounts (not shared)HighReduces impact if one service account is compromised.
Disable unconstrained delegationAvoid unconstrained delegation where possibleHighReduces abuse paths tied to Kerberos trust relationships.
Constrained delegation auditingMonitor and restrict delegation configurationsMediumPrevents abuse chains combined with forged tickets.
Detection engineeringBuild service-specific detections (CIFS, HTTP, MSSQL)HighSilver tickets are SPN-specific, so detections must be too.
Incident response readinessPlaybooks for rapid service account resetCriticalFast response = immediate invalidation of attacker access.