Native Windows Event Logs are the baseline telemetry for Windows endpoint detection. Before adding Sysmon or EDR, you should understand what the OS already provides and how to extract maximum signal from it.
Audit Policy: The Gate to Security Events
Windows Security events only appear if the relevant audit policy is enabled. There are two configuration layers:
Basic Audit Policy (9 categories, binary on/off per category):
Computer Configuration → Windows Settings → Security Settings → Local Policies → Audit Policy
Advanced Audit Policy (58 sub-categories, configurable per sub-category, Success/Failure independently):
Computer Configuration → Windows Settings → Security Settings → Advanced Audit Policy Configuration
Always use Advanced Audit Policy. It lets you, for example:
- Enable “Audit Logon” for both Success and Failure (to catch both 4624 and 4625)
- Enable “Audit Process Creation” for Success only (4688 — you don’t need “Failed process creation”)
- Enable “Audit Object Access” for Failure only on sensitive paths (catch unauthorized access attempts without flooding on successful reads)
Minimum recommended audit policy for detection
Account Logon:
✓ Audit Credential Validation — Success, Failure
✓ Audit Kerberos Authentication Service — Success, Failure
Logon/Logoff:
✓ Audit Logon — Success, Failure
✓ Audit Special Logon — Success
✓ Audit Account Lockout — Failure
Detailed Tracking:
✓ Audit Process Creation — Success (+ enable command line)
✓ Audit Process Termination — Success
Object Access:
✓ Audit File System — Failure (on sensitive paths via SACL)
✓ Audit Removable Storage — Success, Failure
Account Management:
✓ Audit Security Group Management — Success
✓ Audit User Account Management — Success, Failure
Policy Change:
✓ Audit Audit Policy Change — Success
System:
✓ Audit Security System Extension — Success
The Logon Type Taxonomy
Event 4624 (Successful Logon) includes a LogonType field that tells you how the user authenticated. This is critical for lateral movement detection:
| LogonType | Value | What it means | Detection significance |
|---|---|---|---|
| Interactive | 2 | Physical console or Fast User Switch | Normal user activity |
| Network | 3 | Net use, SMB, WinRM (non-interactive) | Lateral movement via SMB; PsExec prep |
| Batch | 4 | Scheduled task ran | Task scheduler persistence (T1053.005) |
| Service | 5 | Service account startup | Service installation persistence (T1543.003) |
| Unlock | 7 | Screen unlock | Normal |
| NetworkCleartext | 8 | Network logon with plaintext password | Legacy auth, credential exposure |
| CachedInteractive | 11 | Offline cached credentials | Normal on laptops |
| RemoteInteractive | 10 | RDP | Lateral movement via RDP |
| CachedRemoteInteractive | 12 | RDP with cached creds | Same |
The Critical Event ID Reference
These are the events every detection engineer must know by ID, not just by description:
Authentication
| EventID | Description | Detection use |
|---|---|---|
| 4624 | Successful logon | Lateral movement (Type 3/10), new accounts |
| 4625 | Failed logon | Brute force, password spray (many failures, many accounts) |
| 4627 | Group membership at logon | Admin group membership at logon time |
| 4648 | Logon using explicit credentials | RunAs, PsExec, Mimikatz pass-the-hash |
| 4672 | Special privileges assigned | Admin logon |
| 4776 | DC validated credentials | Kerberoasting patterns at DC |
Process Execution
| EventID | Description | Detection use |
|---|---|---|
| 4688 | Process created | Command line analysis (with auditing on) |
| 4689 | Process exited | Short-lived process detection |
Object Access
| EventID | Description | Detection use |
|---|---|---|
| 4663 | Attempt to access object | File/registry access on sensitive paths |
| 4670 | Permissions on object changed | ACL modification (persistence) |
Account Management
| EventID | Description | Detection use |
|---|---|---|
| 4720 | User account created | Backdoor account creation |
| 4722 | User account enabled | Enabling dormant account |
| 4732 | Member added to security group | Privilege escalation |
| 4756 | Member added to universal group | Domain admin group additions |
Scheduled Tasks & Services
| EventID | Description | Detection use |
|---|---|---|
| 4698 | Scheduled task created | Persistence (T1053.005) |
| 4702 | Scheduled task updated | Persistence modification |
| 7045 | New service installed | Service-based persistence (T1543.003) |
| 7036 | Service changed state | Unusual service starts |
Log Integrity
| EventID | Description | Detection use |
|---|---|---|
| 1102 | Security audit log cleared | Anti-forensics (T1070.001) |
| 4719 | System audit policy changed | Audit policy disabled |