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

Timeroasting

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


Direct Indicators

LogEvent IDMeaningForensic ValueNotes
Security4768Kerberos TGT requestCriticalTimeroasting abuses Kerberos authentication timing differences. Review TargetUserName, IpAddress, PreAuthType, and FailureCode patterns across many usernames.
Security4771Kerberos pre-authentication failedCriticalPrimary indicator. Timeroasting generates many failed Kerberos preauth attempts. Review FailureCode and ClientAddress.
Security4625Failed logonMediumMay appear when attackers test credentials following enumeration.
Security4688Process creationHighOn compromised hosts may reveal tooling performing timing-based enumeration or Kerberos probing.
Sysmon1Process creationCriticalLook for enumeration tools, scripts, or unusual authentication utilities generating repeated Kerberos traffic.
Sysmon3Network connectionMediumRepeated connections to domain controller Kerberos service (port 88) from unusual endpoints.

Indirect Indicators

IndicatorWhat To Look ForForensic ValueNotes
Large volume of Kerberos failuresHigh frequency of Event 4771 across many usernamesCriticalTimeroasting relies on repeated authentication attempts to measure timing differences.
Enumeration across many accountsSame source host attempting authentication for dozens or hundreds of usernamesHighOften occurs after LDAP user enumeration.
Consistent failure codesRepeated Kerberos failure codes for different usernamesMediumHelps distinguish attack automation from normal login errors.
Unusual authentication sourceKerberos requests from systems not normally performing authentication enumerationHighOften attacker foothold workstation.
Follow-on credential usageSuccessful logons using accounts previously probedCriticalIndicates attacker successfully cracked credentials derived from timing analysis.

Common Tools

ToolUsage
Custom scriptsAttackers often implement custom timing-based Kerberos probing scripts.
Kerberos research toolingProof-of-concept tools used for timing analysis attacks.
Impacket librariesCan be adapted for Kerberos enumeration attacks.
Python scriptsFrequently used to automate authentication timing measurements.

Relevant Artifacts

  • Domain controller Security logs (4768 and 4771)
  • Endpoint process execution telemetry
  • Sysmon network and process logs
  • Kerberos operational logs
  • PowerShell logs if enumeration performed via scripts
  • Prefetch artifacts indicating execution of enumeration tools
  • MFT artifacts for created scripts or tool binaries
  • Network monitoring showing repeated Kerberos authentication attempts

MITRE ATT&CK References

  • T1558 Steal or Forge Kerberos Tickets
  • T1110 Brute Force
  • T1078 Valid Accounts

Decision Tree

  1. Is the suspicious event present?
    • Look for high volumes of Security Event 4771 across many accounts.
  2. What host generated the event?
    • Identify the source IP generating the Kerberos failures.
  3. Is the account expected to perform this action?
    • Determine whether authentication failures correspond to legitimate login attempts.
  4. Pivot:
    • Source host → analyze processes and scripts responsible for Kerberos probing.
    • Account → check for privilege escalation attempts.
    • Network → examine lateral movement following successful credential discovery.
  5. Confirm attack progression
    • Investigate whether previously targeted accounts later show successful authentication events.

Example Detection Templates

KQL

SecurityEvent
| where EventID == 4771
| summarize FailedAttempts=count(), UniqueUsers=dcount(TargetUserName) by IpAddress, bin(TimeGenerated, 5m)
| where UniqueUsers > 20
| order by FailedAttempts desc
SecurityEvent
| where EventID == 4768
| summarize Attempts=count() by IpAddress, bin(TimeGenerated, 1m)
| where Attempts > 30

EQL

any where event.code == "4771"
| stats count(), users=cardinality(winlog.event_data.TargetUserName)
  by source.ip, date_trunc(5 minutes, @timestamp)
| where users >= 20

Sigma

title: Suspicious Kerberos Authentication Failures Across Many Users
id: kerberos-timing-enumeration
status: experimental
description: Detects high volumes of Kerberos authentication failures that may indicate timing-based enumeration attacks
logsource:
  product: windows
  service: security
detection:
  selection:
    EventID: 4771
  timeframe: 5m
  condition: selection | count_distinct(TargetUserName) by IpAddress >= 20
fields:
  - TargetUserName
  - IpAddress
  - FailureCode
falsepositives:
  - Misconfigured authentication systems
  - Password spraying attempts
level: high
tags:
  - attack.credential_access
  - attack.t1110

Mitigation & Hardening

Control AreaMitigationEffectivenessNotes
Authentication monitoringAlert on high volumes of Kerberos authentication failuresHighEarly detection of credential probing activity.
Account lockout policiesImplement lockout thresholdsMediumLimits brute-force attempts but must balance usability.
Kerberos loggingEnable detailed Kerberos auditingHighImproves detection visibility.
Network segmentationRestrict access to domain controllersHighReduces ability of compromised hosts to probe authentication services.
Security monitoringUse SIEM rules to detect authentication anomaliesHighHelps correlate events across systems.