Sysmon Event ID 1: process creation
What Sysmon Event ID 1 (process creation) means, the fields to check, what is normal and what is suspicious, with PowerShell and KQL queries to find it.
Sysmon Event ID 1 is process creation, like Windows 4688 but with much more detail: file hashes, the parent's command line and the original file name compiled into the program. That original name catches attackers who rename tools to look harmless.
The fields that matter
| Field | What it tells you |
|---|---|
| Image / CommandLine | The program and its arguments. |
| ParentImage / ParentCommandLine | What started it, with its own arguments. |
| Hashes | MD5, SHA1, SHA256 or IMPHASH, depending on your Sysmon config. You can check them against threat intelligence. |
| OriginalFileName | The name inside the file. svchost.exe whose original name is psexec.c was renamed. |
| User / IntegrityLevel | Who ran it, and whether it was elevated. |
| CurrentDirectory | Where it ran from. |
What is normal
The same programs your machines run every day. Building a baseline of common parent and child pairs makes the odd ones stand out.
When Sysmon Event ID 1 is suspicious
- OriginalFileName that doesn't match Image: a renamed tool.
- Office, PDF readers or browsers starting script interpreters.
- Hashes flagged by threat intelligence.
- Programs started from temporary or user folders with network activity soon after (Sysmon 3).
Common false positive: Installers unpack and run files from Temp all the time. Signed installers from known publishers are rarely the problem.
Find Sysmon Event ID 1 with PowerShell
Get-WinEvent -FilterHashtable @{LogName='Microsoft-Windows-Sysmon/Operational'; Id=1; StartTime=(Get-Date).AddDays(-7)} -MaxEvents 50 |
ForEach-Object {
$d = [ordered]@{ Time = $_.TimeCreated; Computer = $_.MachineName }
([xml]$_.ToXml()).Event.EventData.Data | ForEach-Object { $d[$_.Name] = $_.'#text' }
[pscustomobject]$d
} | Format-List
Microsoft Sentinel (KQL)
Event
| where TimeGenerated > ago(7d) and Source == "Microsoft-Windows-Sysmon" and EventID == 1
| project TimeGenerated, Computer, RenderedDescription, EventData
| order by TimeGenerated desc
Related events
- Event ID 4688: New process created
- Sysmon Event ID 10: process access
- PowerShell Event ID 4104: PowerShell script block logged
FAQ
Which Sysmon configuration should I start with?
A well-known community baseline such as SwiftOnSecurity's sysmon-config or Olaf Hartong's sysmon-modular, then tune it for your noise.
How do I check the hashes quickly?
Look them up in VirusTotal or MalwareBazaar. IOC Triage checks a hash against both with a right-click.
Windows Event Triage reads a CSV, EVTX-to-JSON or XML export in your browser and flags brute force, new admins, suspicious services and log clearing.
IOC Triage, our free browser extension: right-click it for a verdict from 15 threat-intel sources, then copy a ready ticket note.