Where to Find Sysmon Logs on Windows and How to Export Them

Where to Find Sysmon Logs on Windows and How to Export Them

SOC Prime Team
SOC Prime Team linkedin icon Follow

Sysmon writes to its own event log channel. In Event Viewer that’s Applications and Services Logs → Microsoft → Windows → Sysmon → Operational. On the command line it’s Microsoft-Windows-Sysmon/Operational, and on disk C:\Windows\System32\winevt\Logs\Microsoft-Windows-Sysmon%4Operational.evtx. To export it, run this from an elevated prompt:

wevtutil epl "Microsoft-Windows-Sysmon/Operational" C:\logs\sysmon.evtx

If the channel doesn’t exist, Sysmon isn’t installed. On most machines it’s still a separate Sysinternals tool that someone has to deploy.

Sysmon is the closest thing Windows has to a flight recorder. It captures process trees with full command lines and hashes, network connections per process, DNS queries, and file and registry changes. Prime Core has 12074 sigma rules written for Sysmon data, mapped to 645 MITRE ATT&CK techniques. Here’s how to check that it’s running, export what it recorded, and investigate it in LogTotal.

Get Started for Free

Before you start

Is it running? Check the service:

sc query sysmon64

On 32-bit systems the service is called sysmon. You want STATE: RUNNING.

What is it recording? Sysmon logs only what its configuration tells it to. Without a config file, you get a small default set built around process creation. Most of the value comes from a tuned config, such as SwiftOnSecurity’s or Olaf Hartong’s sysmon-modular. To see the current one, run sysmon64 -c (the binary lives in C:\Windows). Save that output next to your export. Whoever analyzes the file will ask why there are no network events, and the config answers that.

How far back does it go? Sysmon is chatty, and its channel has a size limit like any other log. Run wevtutil gl “Microsoft-Windows-Sysmon/Operational” and check maxSize. On a busy server, a default-sized log can cover surprisingly little time.

You need an elevated prompt to export.

Export the log

In Event Viewer, right-click Operational under Sysmon and choose Save All Events As…, keeping the .evtx type. From the command line, you can filter while you export:

:: last 24 hours

wevtutil epl "Microsoft-Windows-Sysmon/Operational" C:\logs\sysmon_24h.evtx /q:"*[System[TimeCreated[timediff(@SystemTime) <= 86400000]]]"



:: process creation only

wevtutil epl "Microsoft-Windows-Sysmon/Operational" C:\logs\sysmon_proc.evtx /q:"*[System[(EventID=1)]]"

What to look for

Event IDWhat it recordsWhy you care
1Process creation, with command line, hashes and parentThe backbone of almost every investigation
3Network connection by processOften filtered out in configs because of volume
10One process opening anotherAccess to lsass.exe is the classic credential-dumping signal (T1003.001)
11File createdDropped payloads, staged archives
12,13,14Registry changesRun keys and other persistence
22DNS query by processWhich process looked up that domain
4,16Sysmon service state and config changedAn attacker turning Sysmon off or neutering its config

If the events simply stop at some point, look for event 16 or 4 just before the gap. Then check the System log for the Sysmon service being stopped.

Upload and review in LogTotal

LogTotal reads EVTX natively, so there’s nothing to convert. One thing to know first: LogTotal doesn’t sanitize EVTX files yet. Treat an EVTX upload as handing over the raw file. Use it freely for test machines, but for production hosts, get a yes from whoever owns data handling first.

  1. Upload. Open logtotal.com and drop in the file. 
  2. Review. [PROOF: what the results screen shows for Sysmon data, and how findings map to rules and ATT&CK techniques]

When it goes wrong

SymptomLikely causeFix
The specified channel could not be foundSysmon isn’t installedCheck with sc query sysmon64
Channel exists but holds almost nothingNo config, or a config that filters nearly everythingCheck sysmon64 -c
Process events but no network eventsThe config excludes event 3, which is commonBy design; check the config before assuming nothing happened
Events stop at some pointSysmon stopped, uninstalled or reconfiguredLook for events 4 and 16, and the System log
Only the last few hours are thereThe log is full and overwritingCheck maxSize; for history, use your SIEM
Access is deniedPrompt isn’t elevatedRun as administrator

FAQ

Is Sysmon installed by default?

On most machines, no. It’s a free Sysinternals download that you deploy and configure yourself. Microsoft has announced built-in Sysmon for newer Windows releases, so check what your builds actually ship with.

Does the analyst need my Sysmon config?

Not to read the events, but it explains the gaps. Send the sysmon64 -c output along with the export.

Is there Sysmon for Linux?

Yes. It writes to syslog instead of an EVTX channel; we’ll cover it in a separate guide.

Join SOC Prime's Detection as Code platform to improve visibility into threats most relevant to your business. To help you get started and drive immediate value, book a meeting now with SOC Prime experts.