← All Threat Hunting ReportsThreat Hunting Exercise

Threat Hunting Exercise: Analyzing Windows Kerberos Silver Ticket Forgery Dataset

This hunt uses a simulated Windows Security Event Log dataset (win_silver_ticket_2022-11-20T101500.json) capturing T1558.002: Steal or Forge Kerberos Tickets: Silver Ticket, where an attacker who has obtained a service account's NTLM hash forges a Kerberos service ticket (TGS) directly, bypassing the domain controller and Kerberos TGT-issuance entirely for access to that specific service.

Step 1: Hypothesis Formation

Hypothesis: A service-ticket-authenticated access event occurs for a given service account (e.g., a SQL or file-share SPN) with no corresponding TGT request (Event ID 4768) or TGS request (Event ID 4769) logged at the domain controller immediately prior, indicating the ticket was forged offline using the service account's stolen hash rather than legitimately issued by the KDC. Indicators:

Null Hypothesis: The absence of a logged 4769 event is due to DC audit-log gaps, log rotation, or replication delay rather than ticket forgery. Invalidate by checking DC audit-policy health, log-forwarding pipeline status, and confirming the gap is consistent (not just a single missing event) across all DCs.

Rationale: Silver tickets are especially dangerous because they never touch the domain controller at all during forged-ticket use, making DC-centric detections (like abnormal 4769 patterns) blind; detection instead relies on correlating service-side access logs against the complete absence of expected DC-side ticket-issuance events for that access.

Step 2: Data Sources and Scope

Step 3: Key Findings

Parsed events (4 shown) confirm a Kerberos-authenticated logon to SQL-PROD-04 occurred with no corresponding TGS request at any of the organization's three domain controllers, and the ticket carried a non-standard 10-year lifetime.

Timestamp (UTC)HostEventDetailIOC/Why Suspicious?
2022-11-20 10:19:47SQL-PROD-04Windows Security (4624)Logon Type 3, AuthenticationPackageName=Kerberos, AccountName=svc-sql-backup, source 10.66.12.201Unexpected-Source IOC: the service account authenticated from an unmanaged host with no prior authentication history, atypical for a backup service account that normally connects only from the backup server.
2022-11-20 10:15:00 - 10:22:00DC-CORP-01/02/03Windows Security (4769 sweep)Zero TGS-Request events for MSSQLSvc/SQL-PROD-04 across all three domain controllers in this windowMissing-TGS IOC: a Kerberos-authenticated service logon with no corresponding domain-controller ticket-issuance record is the defining signature of an offline-forged silver ticket.
2022-11-20 10:19:47SQL-PROD-04Windows Security (4624, ticket detail)Ticket lifetime field: 3,650 days (10 years); domain default Kerberos policy max lifetime: 10 hoursLifetime-Anomaly IOC: this ticket lifetime vastly exceeds domain policy and matches the well-known default forged-ticket lifetime produced by Mimikatz kerberos::golden/silver modules.
2022-11-20 10:19:50SQL-PROD-04(SQL Audit Log)svc-sql-backup executed xp_cmdshell and queried sys.sql_logins immediately after logonPost-Access IOC: immediate use of a high-privilege stored procedure to enumerate credentials is inconsistent with the account's normal automated-backup-only usage baseline.

Validation:

Step 4: Recommendations & Next Steps

Hypothesis confirmed - an attacker forged a Kerberos silver ticket for the svc-sql-backup service account using its stolen NTLM hash, authenticating directly to SQL-PROD-04 with a 10-year ticket lifetime and no domain-controller ticket-issuance record!