forensicate.net

notes from the trenches

UTC

Windows Event IDs for Incident Response

Table of Contents
  1. Interpreting event IDs
  2. Authentication and logon
    1. LogonType reference for 4624 / 4625
  3. Domain authentication (Domain Controllers)
  4. Account and group management
  5. Process execution
  6. PowerShell activity
  7. Services and drivers
  8. Scheduled tasks
  9. Remote access and lateral movement
    1. RDP
    2. SMB / file shares
    3. WinRM / PowerShell Remoting
  10. Defense evasion and log tampering
  11. Microsoft Defender
  12. Windows Firewall
  13. AppLocker
  14. Sysmon essentials
  15. References

Event logs are commonly one of the first places analysts turn to during triage. When they are available (and properly configured), few artifacts on a Windows host are as rich. This cheatsheet groups commonly referenced event IDs by the investigative question they help answer.

Interpreting event IDs

A log channel (Windows sometimes calls it a provider) is the named event log that an event is written to: Security, System, Application, or one of the many Microsoft-Windows-* channels like Microsoft-Windows-PowerShell/Operational.

Windows event IDs are not unique. The same integer can mean very different things depending on the provider that emitted it. For example, event ID 104 in the System log (via the Microsoft-Windows-Eventlog provider) means the log file was cleared, a high-signal anti-forensics indicator (T1070.001).

The same integer 104 appears in other channels (for example, Microsoft-Windows-TaskScheduler/Operational) with a completely unrelated meaning. Because of this, every row in this cheatsheet pairs the channel (or provider) with the numeric ID.

Authentication and logon

These Security events can help answer who touched the host, how they authenticated (console, network, RDP, runas, etc.), and when they came and went. Together with the logon-type codes, they are often a great place to look when reconstructing attacker access or validating insider activity.

IDLogDescription
4624SecuritySuccessful logon. LogonType tells you how the account authenticated.
4625SecurityFailed logon. Status and SubStatus codes explain the reason.
4634SecurityLogon session ended. Not always a user-initiated logoff (timeouts, token cleanup, and system actions also trigger it).
4647SecurityUser-initiated logoff (explicit action, e.g., Start → Sign out).
4648SecurityCredentials were supplied for a new logon attempt (e.g., runas, scheduled tasks, remote-auth tooling). Does not imply that authentication succeeded.
4672SecuritySpecial privileges assigned at logon. Token carries powerful rights like SeDebugPrivilege, typically for SYSTEM, administrator, or service accounts.
4778SecuritySession reconnected (RDP, fast user switching).
4779SecuritySession disconnected (e.g., closed RDP window). The user has not logged off.
4800SecurityWorkstation locked.
4801SecurityWorkstation unlocked.

LogonType reference for 4624 / 4625

The LogonType field records how the authentication happened. Without it, a raw 4624 cannot distinguish a human logon from a service start or a network auth.

TypeMeaning
2Interactive (console, keyboard).
3Network (SMB, WMI, RPC, most remote authentication). The broadest and noisiest type.
4Batch (scheduled task context).
5Service account start.
7Unlock (screen unlock).
8NetworkCleartext. Windows received the raw password (e.g., IIS Basic Auth) rather than a hash or ticket.
9NewCredentials (runas /netonly, common in lateral movement toolkits).
10RemoteInteractive (RDP).
11CachedInteractive (interactive logon using cached creds, offline DC).

For the full field-by-field reference, see Microsoft’s documentation on event 4624 and event 4625.

Domain authentication (Domain Controllers)

Domain Controllers broker Kerberos and NTLM authentication for the whole domain, so these events are a useful hunting ground for ticket abuse (golden/silver), Kerberoasting, AS-REP roasting, NTLM validation traces, and password-spray activity.

IDLogDescription
4768Security (DC)Kerberos TGT request (AS-REQ). Look for unusual client machines, encryption types, or abnormal request patterns.
4769Security (DC)Kerberos service ticket request (TGS-REQ). Primary visibility point for Kerberoasting detection. Golden-ticket detection is indirect and relies on anomalies such as inconsistent ticket patterns, unusual encryption, or missing expected authentication chains.
4770Security (DC)Kerberos service ticket renewed.
4771Security (DC)Kerberos pre-authentication failed. A high volume of failures can suggest password spraying or credential guessing. AS-REP roasting does not trigger 4771; those attempts succeed as 4768 events because pre-authentication is skipped entirely.
4776Security (DC)NTLM credential validation (MSV1_0). Records source workstation and success/failure status.
4624 (type 3)Security (DC)A network logon hit a service on the DC (SMB, LDAP, RPC, and similar). This is a useful context and correlation signal, but it is not a forged-ticket detector on its own.

Account and group management

These events track lifecycle changes to accounts and group membership, which makes them a reliable signal for persistence (attacker-created accounts), privilege escalation (additions to Administrators or Remote Desktop Users), and identity-object tampering.

They live in the Security log, on a Domain Controller for domain objects or on the local host for local accounts.

IDLogDescription
4720SecurityUser account created.
4722SecurityUser account enabled.
4723SecurityUser attempted to change own password.
4724SecurityAdministrator reset another account’s password.
4725SecurityUser account disabled.
4726SecurityUser account deleted.
4738SecurityUser account changed (any attribute).
4740SecurityUser account locked out (records the source workstation).
4767SecurityUser account unlocked.
4781SecurityAccount name changed.
4728 / 4729Security (DC)Member added / removed, security-enabled global group.
4732 / 4733SecurityMember added / removed, security-enabled local group (watch Administrators, Remote Desktop Users).
4756 / 4757Security (DC)Member added / removed, security-enabled universal group.
4798SecurityUser’s local group membership enumerated.
4799SecuritySecurity-enabled local group membership enumerated.

Process execution

Process execution events can record details such as the binary, command-line arguments, user context, and parent process for each new process on the host. They can help reconstruct execution timelines, hunt living-off-the-land abuse, and flag anomalous parent-child relationships.

Windows can be configured to record process creation as event ID 4688 in the Security channel.

Sysmon, part of the Sysinternals suite, can be installed to provide richer and more configurable process-creation telemetry under event ID 1 in Microsoft-Windows-Sysmon/Operational.

Note: Process execution and command-line auditing are not enabled on Windows by default.

IDLogDescription
4688SecurityProcess creation. NewProcessName, ParentProcessName, CommandLine (if enabled), and TokenElevationType.
4689SecurityProcess termination with exit code.
1Microsoft-Windows-Sysmon/
Operational
Process create with hashes, parent info, user, and integrity level.
5Microsoft-Windows-Sysmon/
Operational
Process terminated.
10Microsoft-Windows-Sysmon/
Operational
ProcessAccess. Handle opens to lsass.exe are a classic credential-dumping signal (T1003.001).

PowerShell activity

PowerShell telemetry is split across two providers:

  • The modern Microsoft-Windows-PowerShell/Operational channel
  • The legacy Windows PowerShell log

Script block logging (Microsoft-Windows-PowerShell/Operational 4104) is the highest-signal event for post-exploitation because it captures the decoded script text even when the attacker delivered it obfuscated or base64-encoded.

Note: The high-value modern PowerShell events (4103, 4104, 4105 / 4106) are not enabled by default.

IDLogDescription
4103Microsoft-Windows-PowerShell/OperationalPipeline / module logging.
4104Microsoft-Windows-PowerShell/OperationalScript block logging. Captures decoded script text, including deobfuscated payloads.
4105 / 4106Microsoft-Windows-PowerShell/OperationalScript block invocation start / stop. Off by default and noisy when enabled.
400Windows PowerShellPowerShell engine started (state changed to Available).
403Windows PowerShellPowerShell engine stopped.
600Windows PowerShellProvider lifecycle (useful for custom providers).
800Windows PowerShellPipeline execution (legacy, noisy).

Services and drivers

Services run as SYSTEM and survive reboots, which makes them a popular landing spot for persistence and privilege escalation. Driver loads are worth watching for the same reason: a malicious or vulnerable driver gives an attacker kernel-level execution and a foothold that survives most remediation short of reimaging.

IDLogDescription
7045SystemService installed. Includes ServiceFileName and StartType (T1543.003).
7036SystemService state change (start / stop). Noisy but useful for known-evil service names.
7034SystemService terminated unexpectedly.
7040SystemService start type changed (e.g., Disabled to Auto).
4697SecurityService installed (requires audit policy).
6Microsoft-Windows-Sysmon/
Operational
Driver loaded. Pair with signature validation.

Scheduled tasks

Scheduled tasks are a favourite persistence and privilege-escalation mechanism (T1053.005) because they run on a trigger, can execute as SYSTEM, and survive reboots.

Lifecycle events live in the Security log:

IDLogDescription
4698SecurityScheduled task created.
4699SecurityScheduled task deleted.
4700SecurityScheduled task enabled.
4701SecurityScheduled task disabled.
4702SecurityScheduled task updated.

Note: These Security events depend on Audit Other Object Access Events, which is off by default, so they are often missing.

Execution-level detail (registration, action start, per-task PID) surfaces in Microsoft-Windows-TaskScheduler/Operational:

IDLogDescription
106TaskScheduler/OperationalTask registered.
140TaskScheduler/OperationalTask updated.
141TaskScheduler/OperationalTask deleted.
200TaskScheduler/OperationalAction started.
201TaskScheduler/OperationalAction completed.
129TaskScheduler/OperationalTask launched a new process (includes PID).

Remote access and lateral movement

Once an attacker has a foothold, they usually need to reach other hosts to escalate impact or move toward higher-value targets. Each remote-access transport (RDP, SMB, WinRM, and others) writes to its own channel, so reconstructing the movement path typically means correlating events across several logs by timestamp, source IP, and account.

RDP

RDP activity is split across two Terminal Services channels:

  • RemoteConnectionManager/Operational handles the initial network-level authentication to the listener
  • LocalSessionManager/Operational records the full lifecycle of the resulting session (logon, shell start, disconnect, reconnect, logoff).

Correlating events across both is usually necessary to reconstruct a full RDP session.

IDLogDescription
1149Microsoft-Windows-TerminalServices-
RemoteConnectionManager/Operational
User authenticated to RDP listener.
21Microsoft-Windows-TerminalServices-
LocalSessionManager/Operational
Session logon.
22Microsoft-Windows-TerminalServices-
LocalSessionManager/Operational
Shell start.
23Microsoft-Windows-TerminalServices-
LocalSessionManager/Operational
Session logoff.
24Microsoft-Windows-TerminalServices-
LocalSessionManager/Operational
Session disconnected.
25Microsoft-Windows-TerminalServices-
LocalSessionManager/Operational
Session reconnection.
39Microsoft-Windows-TerminalServices-
LocalSessionManager/Operational
Session disconnected by another session.
40Microsoft-Windows-TerminalServices-
LocalSessionManager/Operational
Session disconnection reason codes.

SMB / file shares

SMB is a common lateral-movement vector (admin shares like ADMIN$ and C$, tool staging, psexec-style service installs over the network) and all of the relevant activity lands in the Security log.

IDLogDescription
5140SecurityA network share was accessed.
5142SecurityNetwork share added.
5144SecurityNetwork share deleted.
5145SecurityDetailed file share access check (per-object, very noisy but invaluable for specific-file hunts).

WinRM / PowerShell Remoting

WinRM carries Invoke-Command, Enter-PSSession, and the WS-Management protocol underneath them, making it a frequent vehicle for interactive lateral movement without dropping a shell on the remote host.

Connection-level activity shows up in Microsoft-Windows-WinRM/Operational, but the actual commands run over the session are logged on the target side via the PowerShell events covered earlier (Microsoft-Windows-PowerShell/Operational 4104 in particular).

You typically need both sides of the coin to reconstruct what an attacker did.

IDLogDescription
91Microsoft-Windows-WinRM/OperationalSession created.
142Microsoft-Windows-WinRM/OperationalWS-Management operation failed.
169Microsoft-Windows-WinRM/OperationalUser authenticated successfully.

Defense evasion and log tampering

Log tampering is one of the strongest single indicators of deliberate attacker activity, since log clears, audit-policy changes, and logging-service shutdowns rarely have benign causes on a production host.

IDLogDescription
1100SecurityEvent log service shutting down.
1102SecuritySecurity log was cleared. Nearly always worth alerting on.
104SystemSystem log cleared.
4719SecuritySystem audit policy changed.
4739SecurityDomain policy changed.
4907SecurityObject audit settings changed.

Associated ATT&CK coverage: T1070.001 (Clear Windows Event Logs), T1562.002 (Disable Windows Event Logging).

Microsoft Defender

Defender activity is logged to Microsoft-Windows-Windows Defender/Operational and captures both malware detections and configuration changes. The configuration events are often the higher-signal half for DFIR, since disabling real-time protection or tampering with Defender settings is a well-known pre-ransomware staging step.

Microsoft publishes the complete Defender Antivirus event ID reference with full field-level detail for every event.

IDLogDescription
1116Microsoft-Windows-Windows
Defender/Operational
Malware detected.
1117Microsoft-Windows-Windows
Defender/Operational
Action taken against detected malware.
1118Microsoft-Windows-Windows
Defender/Operational
Action failed.
1119Microsoft-Windows-Windows
Defender/Operational
Critical action failed.
1121Microsoft-Windows-Windows
Defender/Operational
Blocked by attack surface reduction rule.
1122Microsoft-Windows-Windows
Defender/Operational
Attack surface reduction rule in audit mode triggered.
5001Microsoft-Windows-Windows
Defender/Operational
Real-time protection disabled.
5004Microsoft-Windows-Windows
Defender/Operational
Real-time protection configuration changed.
5007Microsoft-Windows-Windows
Defender/Operational
Defender configuration changed.
5010Microsoft-Windows-Windows
Defender/Operational
Scanning for malware and unwanted software is disabled.
5013Microsoft-Windows-Windows
Defender/Operational
Tamper protection blocked a change to Defender settings.

Windows Firewall

Firewall rule and profile changes surface in the Microsoft-Windows-Windows Firewall With Advanced Security/Firewall event log and can be a strong lateral-movement indicator. Attackers routinely add inbound rules to open SMB, RDP, or WinRM for pivoting, disable profiles, or allow outbound traffic to stage C2 (T1562.004).

IDLogDescription
2003Microsoft-Windows-Windows Firewall
With Advanced Security/Firewall
Profile changed.
2097 / 2004Microsoft-Windows-Windows Firewall
With Advanced Security/Firewall
Rule added to the exception list.
2099 / 2005Microsoft-Windows-Windows Firewall
With Advanced Security/Firewall
Rule modified.
2052 / 2006Microsoft-Windows-Windows Firewall
With Advanced Security/Firewall
Rule deleted from the exception list.
2009Microsoft-Windows-Windows Firewall
With Advanced Security/Firewall
Firewall disabled for a profile.
2011Microsoft-Windows-Windows Firewall
With Advanced Security/Firewall
Inbound connection allowed by a rule.
4946 / 4947 / 4948SecurityRule added, modified, or deleted. Requires Audit MPSSVC Rule-Level Policy Change.

AppLocker

AppLocker is the built-in Windows application control feature, and its events are split across four sub-channels under Microsoft-Windows-AppLocker/*:

  • Microsoft-Windows-AppLocker/EXE and DLL
  • Microsoft-Windows-AppLocker/MSI and Script
  • Microsoft-Windows-AppLocker/Packaged app-Deployment
  • Microsoft-Windows-AppLocker/Packaged app-Execution

Even in audit-only mode these events reveal what users and attackers attempted to run, which makes them valuable forensic breadcrumbs regardless of whether enforcement is turned on.

IDLogDescription
8002Microsoft-Windows-AppLocker/EXE and DLLExecutable allowed.
8003Microsoft-Windows-AppLocker/EXE and DLLExecutable would have been blocked (audit mode).
8004Microsoft-Windows-AppLocker/EXE and DLLExecutable blocked.
8005Microsoft-Windows-AppLocker/MSI and ScriptScript or MSI allowed.
8006Microsoft-Windows-AppLocker/MSI and ScriptScript or MSI would have been blocked (audit mode).
8007Microsoft-Windows-AppLocker/MSI and ScriptScript or MSI blocked.

Sysmon essentials

Sysmon (System Monitor) is a Sysinternals tool that extends Windows’ native logging with detailed process, network, file, registry, and image-load telemetry, and it is arguably the single most valuable telemetry source on a Windows host once properly configured.

Sysmon events are found in Microsoft-Windows-Sysmon/Operational, but default installs provide little investigative value. Community baselines like SwiftOnSecurity’s sysmon-config and Olaf Hartong’s sysmon-modular are a very approachable starting point for organizations of any size.

SwiftOnSecurity/sysmon-configPublic

Sysmon configuration file template with default high-quality event tracing

5.5k1.8k
olafhartong/sysmon-modularPublic

A repository of sysmon configuration modules

PowerShell3.0k645
IDDescription
1Process create (hashes, command line, parent, user, and integrity level).
3Network connection (per-process).
6Driver loaded (BYOVD signal when paired with signature and hash context).
7Image (DLL) loaded.
8CreateRemoteThread (process injection, T1055).
10ProcessAccess (handle opens, LSASS access detection lives here).
11FileCreate.
12 / 13 / 14Registry event (object create and delete / value set / key and value rename).
22DNSEvent (per-process DNS queries).
25ProcessTampering (process hollowing / herpaderping).

For the complete list of Sysmon event IDs, see the Sysmon documentation.

References