Windows Sysmon

A log shipper designed for files

Configure Winlogbeat to ship Sysmon event logs to Logstash and Elasticsearch.

Install Integration

Please click on the Install Integration button to configure your stack for this source.

Install Sysmon

Download the sysmon package from Microsoft link below:

https://docs.microsoft.com/en-us/sysinternals/downloads/sysmon (opens in a new tab)

Extract the files to C:\Program Files\Sysmon

Now open Powershell as Administrator and change directory to the extracted files.

cd 'C:\Program Files\Sysmon\'

Now run:

.\sysmon.exe -i -accepteula -l -n

Install Winlogbeat

To get started you will need to install winlogbeat. To do this you have two main options:

To successfully install winlogbeat and set up the required Windows service you will need to have administrator access.

If you have chosen to download the zip file:

  • Extract the contents of the zip file into C:\Program Files.
  • Rename the extracted folder to winlogbeat
  • Open a PowerShell prompt as an Administrator (right-click the PowerShell icon and select Run As Administrator).
  • From the PowerShell prompt, run the following commands to install winlogbeat as a Windows service:
cd 'C:\Program Files\@beatname'
.\install-service-@beatname.ps1

If script execution is disabled on your system, you need to set the execution policy for the current session to allow the script to run. For example:

PowerShell.exe -ExecutionPolicy UnRestricted -File .\install-service-@beatname.ps1

For more information about Powershell execution policies see here (opens in a new tab)

If you have chosen to download the winlogbeat.msi file:

  • double-click on it and the relevant files will be downloaded.

At the end of the installation process you'll be given the option to open the folder where winlogbeat has been installed.

  • Open a PowerShell prompt as an Administrator (right-click the PowerShell icon and select Run As Administrator).
  • From the PowerShell prompt, change directory to the location where winlogbeat was installed and run the following command to install winlogbeat as a Windows service:
.\install-service-@beatname.ps1

If script execution is disabled on your system, you need to set the execution policy for the current session to allow the script to run. For example:

PowerShell.exe -ExecutionPolicy UnRestricted -File .\install-service-@beatname.ps1

For more information about Powershell execution policies see here (opens in a new tab)

Update your configuration file

The configuration file below is pre-configured to send data to your Logit.io Stack via Logstash.

Note: Please make sure the 'hosts' field in the Logstash outputs section is correctly populated. If you are logged into your Logit.io account the 'hosts' field should have been pre-populated with the correct values.

Copy the configuration file below (making the above changes as necessary) and overwrite the contents of winlogbeat.yml. (If you used the installer program to install winlogbeat the winlogbeat.yml file may not exist so you'll need to create it and add the details below).

###################### Logit.io Winlogbeat Configuration ########################
# ============================== Winlogbeat specific options ==============================
winlogbeat.event_logs:
- name: Application
    ignore_older: 72h
 
- name: System
 
- name: Security
 
- name: Microsoft-Windows-Sysmon/Operational
    tags: [sysmon]
 
- name: Windows PowerShell
    event_id: 400, 403, 600, 800
 
- name: Microsoft-Windows-PowerShell/Operational
    event_id: 4103, 4104, 4105, 4106
 
- name: ForwardedEvents
    tags: [forwarded]    
 
fields:
    type: wineventlog
 
fields_under_root: true  
 
# ================================== Outputs ===================================
# ------------------------------ Logstash Output -------------------------------
output.logstash:
    hosts: ["@logstash.host:@logstash.sslPort"]
    loadbalance: true
    ssl.enabled: true
 
    pipeline: "winlogbeat-%{[agent.version]}-routing"
 
# ================================= Processors =================================
processors:
    - add_host_metadata:
        when.not.contains.tags: forwarded
    - add_cloud_metadata: ~

Validate Configuration

From the PowerShell prompt, (in the directory where winlogbeat was installed) and run the following command to validate your configuration file:

.\@beatname.exe test config -c .\@beatname.yml -e

If the yml file is valid, winlogbeat will print Config OK. If there's a problem you should get an error message with details of the error.

Start winlogbeat

From the PowerShell prompt, (in the directory where winlogbeat was installed) run the following command:

Start-Service winlogbeat

Check Logit.io for your logs

Data should now have been sent to your Stack.

View My Data

If you don't see take a look at How to diagnose no data in Stack below for how to diagnose common issues.

How to diagnose no data in Stack

If you don't see data appearing in your Stack after following the steps, visit the Help Centre guide for steps to diagnose no data appearing in your Stack or Chat to support now.

Stopping Winlogbeat

Stop the Winlogbeat service with the following command:

Stop-Service winlogbeat

Windows Sysmon Overview

Windows Sysmon (System Monitor) is a powerful logging tool designed to monitor and log system activity to the Windows event log. An extension of the Windows Event Logging system, Sysmon provides detailed information about process creations, network connections, and changes to file creation time, helping administrators and security professionals increase the forensic capabilities of their systems.

Sysmon logs are invaluable for security monitoring and incident response because they provide insights that are not available through other logging mechanisms. The logs help to identify malicious or anomalous activity that can indicate a breach or other security incidents. Sysmon's configuration can be customized extensively to capture only the events that are pertinent to your security needs, minimizing noise and enhancing the relevance of the logged data.

Our platform leverages Sysmon logs to provide a comprehensive security analysis and threat detection suite. It offers centralized log management capabilities designed for easy integration, thorough analysis, and effective troubleshooting within your IT environment. With our tool, you can efficiently sift through vast amounts of Sysmon data to detect suspicious activity and maintain system integrity.

For assistance with configuring or enhancing your Sysmon deployment, or if you need help integrating Sysmon logs with other monitoring tools, the team at Logit.io is here to help. Feel free to visit our Help Centre or contact our support team through live chat for immediate assistance.