Collect Microsoft Windows Sysmon logs
This document:
- describes the deployment architecture and installation steps, plus any required configuration that produce logs supported by the Google Security Operations Parser for Microsoft Windows Sysmon events. For an overview of Google Security Operations data ingestion, see Data ingestion to Google Security Operations .
- includes information about how the parser maps fields in the original log to Google Security Operations Unified Data Model fields.
Information in this document applies to the parser with the WINDOWS_SYSMON ingestion label. The ingestion label identifies which parser normalizes raw log data to structured UDM format.
Before you begin
Review the recommended deployment architecture
This diagram represents the recommended core components in a deployment architecture to collect and send Microsoft Windows Sysmon data to Google Security Operations. Compare this information with your environment to be sure these components are installed. Each customer deployment will differ from this representation and may be more complex. The following is required:
- Systems in the deployment architecture are configured with the UTC time zone.
- Sysmon is installed on servers, endpoints, and domain controllers.
- The collector Microsoft Windows server receives logs from servers, endpoints, and domain controllers.
-
Microsoft Windows systems in the deployment architecture use:
- Source Initiated Subscriptions to collect events across multiple devices.
- WinRM service for remote system management.
-
NXLog is installed on the collector Window server to forward logs to Google Security Operations forwarder.
-
Google Security Operations forwarder is installed on a central Microsoft Windows server or Linux server.
Review the supported devices and versions
The Google Security Operations parser supports logs generated by the following Microsoft Windows server versions. Microsoft Windows Server is released with the following editions: Foundation, Essentials, Standard, and Datacenter. The event schema of logs generated by each edition does not differ.
- Microsoft Windows Server 2019
- Microsoft Windows Server 2016
- Microsoft Windows Server 2012
Google Security Operations parser supports logs generated by:
- Microsoft Windows 7 and higher client systems
- Sysmon version 13.24.
Google Security Operations parser supports logs collected by NXLog Community or Enterprise Edition.
Review the supported log types
The Google Security Operations parser supports the following log types generated by Microsoft Windows Sysmon. For more information about these log types, see the Microsoft Windows Sysmon documentation . It supports logs generated with English language text and is not supported with logs generated in non-English languages.
Log Type | Description |
---|---|
Sysmon Logs | Sysmon channel contains 27 Event Ids. (Event Id: 1 to 26, and 255). For a description of this log type, see the Microsoft Windows Sysmon Events documentation |
Configure Microsoft Windows servers, endpoints, and domain controllers
- Install and configure the servers, endpoints, and domain controllers. For information, see Microsoft Windows Sysmon Configuration documentation .
- Set up a collector Microsoft Windows server to parse the collected logs from multiple systems.
- Set up the central Microsoft Windows or Linux server
- Configure all systems with the UTC time zone.
- Configure the devices to forward logs to the collector Microsoft Windows server.
- Configure Source Initiated Subscriptions on Microsoft Windows systems. For information, see Setting up a Source Initiated Subscription .
- Enable WinRM on Microsoft Windows servers and clients. For information, see Installation and configuration for Microsoft Windows Remote Management .
Configure the Bindplane Agent
Collect the Windows Sysmon logs by using the Bindplane Agent.
After installation, the Bindplane Agent service appears as the observerIQ
service in the list of Windows services.
- Install the Bindplane Agent on a Windows server running the collector: For more information about installing the Bindplane Agent, see the Bindplane Agent installation instructions .
-
Create a configuration file for the Bindplane Agent with the following contents.
receivers: windowseventlog/sysmon: channel: Microsoft-Windows-Sysmon/Operational raw: true processors: batch: exporters: chronicle/winsysmon: endpoint: https://malachiteingestion-pa.googleapis.com creds: '{ "type": "service_account", "project_id": "malachite-projectname", "private_key_id": ` PRIVATE_KEY_ID `, "private_key": ` PRIVATE_KEY `, "client_email":"` SERVICE_ACCOUNT_NAME `@malachite-` PROJECT_ID `.iam.gserviceaccount.com", "client_id": ` CLIENT_ID `, "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://oauth2.googleapis.com/token", "auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs", "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/` SERVICSERVICE_ACCOUNT_NAME `%40malachite-` PROJECT_ID `.iam.gserviceaccount.com", "universe_domain": "googleapis.com" }' log_type: 'WINDOWS_SYSMON' override_log_type: false raw_log_field: body customer_id: ` CUSTOMER_ID ` service: pipelines: logs/winsysmon: receivers: - windowseventlog/sysmon processors: [batch] exporters: [chronicle/winsysmon]
-
Replace the
PRIVATE_KEY_ID
,PRIVATE_KEY
SERVICSERVICE_ACCOUNT_NAME
,PROJECT_ID
,CLIENT_ID
andCUSTOMER_ID
with the respective values from the service account JSON file which you can download from Google Cloud Platform. For more information about service account keys, see Create and delete service account keys documentation . -
To start the observerIQ agent service, select Services > Extended > the observerIQ Service > start.
Configure NXLog and Google Security Operations forwarder
- Install NXLog on the collector that is running on a Windows server. Follow the NXLog documentation , including information about configuring NXLog to collect logs from Sysmon .
-
Create a configuration file for NXLog. Use the im_msvistalog input module. Here is an example NXLog configuration. Replace
HOSTNAME
andPORT
values with information about the destination central Microsoft Windows or Linux server. For more information, see NXLog documentation about the om_tcp module .define ROOT C:\Program Files\nxlog define SYSMON_OUTPUT_DESTINATION_ADDRESS HOSTNAME define SYSMON_OUTPUT_DESTINATION_PORT PORT define CERTDIR %ROOT%\cert define CONFDIR %ROOT%\conf define LOGDIR %ROOT%\data define LOGFILE %LOGDIR%\nxlog.log LogFile %LOGFILE% Moduledir %ROOT%\modules CacheDir %ROOT%\data Pidfile %ROOT%\data\nxlog.pid SpoolDir %ROOT%\data <Extension _json> Module xm_json </Extension> <Input windows_sysmon_eventlog> Module im_msvistalog <QueryXML> <QueryList> <Query Id="0"> <Select Path="Microsoft-Windows-Sysmon/Operational">*</Select> </Query> </QueryList> </QueryXML> ReadFromLast False SavePos False </Input> <Output out_chronicle_sysmon> Module om_tcp Host %SYSMON_OUTPUT_DESTINATION_ADDRESS% Port %SYSMON_OUTPUT_DESTINATION_PORT% Exec $EventTime = integer($EventTime) / 1000; Exec $EventReceivedTime = integer($EventReceivedTime) / 1000; Exec to_json(); </Output> <Route r2> Path windows_sysmon_eventlog => out_chronicle_sysmon </Route>
-
Install the Google Security Operations forwarder on the central Microsoft Windows or Linux server. See the Installing and configuring the forwarder on Linux or Installing and configuring the forwarder on Microsoft Windows for information about installing and configuring the forwarder.
-
Configure the Google Security Operations forwarder to send logs to Google Security Operations. Here is an example forwarder configuration.
- syslog: common: enabled: true data_type: WINDOWS_SYSMON Data_hint: batch_n_seconds: 10 batch_n_bytes: 1048576 tcp_address: 0.0.0.0:10518 connection_timeout_sec: 60
-
Start the NXLog service.
Supported Windows Sysmon log formats
The Windows Sysmon parser supports logs in JSON and XML formats.
Supported Windows Sysmon sample logs
-
JSON:
{ "EventTime": 1611175283, "Hostname": "dummy10-1.user12.local", "Keywords": -9223372036854775808, "EventType": "INFO", "SeverityValue": 2, "Severity": "INFO", "EventID": 1, "SourceName": "Microsoft-Windows-Sysmon", "ProviderGuid": "{5770385F-C22A-43E0-BF4C-06F5698FFBD9}", "Version": 5, "Task": 1, "OpcodeValue": 0, "RecordNumber": 8846, "ProcessID": 1184, "ThreadID": 2568, "Channel": "Microsoft-Windows-Sysmon/Operational", "Domain": "NT AUTHORITY", "AccountName": "SYSTEM", "UserID": "S-1-2-3", "AccountType": "User", "Message": "Process Create:\\r\\nRuleName: -\\r\\nUtcTime: 2021-09-13 06:34:03.015\\r\\nProcessGuid: {de2dee9a-f0db-613e-7017-000000001100}\\r\\nProcessId: 5440\\r\\nImage: C:\\\\Program Files\\\\WindowsApps\\\\Microsoft.WindowsCalculator_10.2103.8.0_x64__8wekyb3d8bbwe\\\\Calculator.exe\\r\\nFileVersion: -\\r\\nDescription: -\\r\\nProduct: -\\r\\nCompany: -\\r\\nOriginalFileName: -\\r\\nCommandLine: \\"C:\\\\Program Files\\\\WindowsApps\\\\Microsoft.WindowsCalculator_10.2103.8.0_x64__8wekyb3d8bbwe\\\\Calculator.exe\\" -ServerName:App.AppXsm3pg4n7er43kdh1qp4e79f1j7am68r8.mca\\r\\nCurrentDirectory: C:\\\\Program Files\\\\WindowsApps\\\\Microsoft.WindowsCalculator_10.2103.8.0_x64__8wekyb3d8bbwe\\\\\\r\\nUser: DUMMY10-1\\\\admin\\r\\nLogonGuid: {de2dee9a-8d8d-6138-3c16-120000000000}\\r\\nLogonId: 0x12163C\\r\\nTerminalSessionId: 1\\r\\nIntegrityLevel: AppContainer\\r\\nHashes: SHA256=1BE51B1664853ACCA05B402FBB441456D0A6FA57D70BAED476434CF8F686E15F\\r\\nParentProcessGuid: {de2dee9a-8a98-6138-0d00-000000001100}\\r\\nParentProcessId: 924\\r\\nParentImage: C:\\\\Windows\\\\System32\\\\svchost.exe\\r\\nParentCommandLine: C:\\\\Windows\\\\system32\\\\svchost.exe -k DcomLaunch -p", "Category": "Process Create (rule: ProcessCreate)", "Opcode": "Info", "RuleName": "-", "UtcTime": "2021-09-13 06:34:03.015", "ProcessGuid": "{de2dee9a-f0db-613e-7017-000000001100}", "Image": "C:\\\\Program Files\\\\WindowsApps\\\\Microsoft.WindowsCalculator_10.2103.8.0_x64__8wekyb3d8bbwe\\\\Calculator.exe", "FileVersion": "-", "Description": "-", "Product": "-", "Company": "-", "OriginalFileName": "-", "CommandLine": "\\"C:\\\\Program Files\\\\WindowsApps\\\\Microsoft.WindowsCalculator_10.2103.8.0_x64__8wekyb3d8bbwe\\\\Calculator.exe\\" -ServerName:App.AppXsm3pg4n7er43kdh1qp4e79f1j7am68r8.mca", "CurrentDirectory": "C:\\\\Program Files\\\\WindowsApps\\\\Microsoft.WindowsCalculator_10.2103.8.0_x64__8wekyb3d8bbwe\\\\", "User": "DUMMY10-1\\\\admin", "LogonGuid": "{de2dee9a-8d8d-6138-3c16-120000000000}", "LogonId": "0x12163c", "TerminalSessionId": "1", "IntegrityLevel": "AppContainer", "Hashes": "SHA256=1BE51B1664853ACCA05B402FBB441456D0A6FA57D70BAED476434CF8F686E15F", "ParentProcessGuid": "{de2dee9a-8a98-6138-0d00-000000001100}", "ParentProcessId": "924", "ParentImage": "C:\\\\Windows\\\\System32\\\\svchost.exe", "ParentCommandLine": "C:\\\\Windows\\\\system32\\\\svchost.exe -k DcomLaunch -p", "EventReceivedTime": 1611175286, "SourceModuleName": "windows_sysmon_eventlog", "SourceModuleType": "im_msvistalog" }
-
XML:
<Event xmlns='http://schemas.microsoft.com/win/2004/08/events/event'> <System> <Provider Name='Microsoft-Windows-Sysmon' Guid='{5770385f-c22a-43e0-bf4c-06f5698ffbd9}'/> <EventID>7</EventID> <Version>3</Version> <Level>4</Level> <Task>7</Task> <Opcode>0</Opcode> <Keywords>0x8000000000000000</Keywords> <TimeCreated SystemTime='2024-11-14T15:41:55.9275040Z'/> <EventRecordID>15560430</EventRecordID> <Correlation/> <Execution ProcessID='2124' ThreadID='6004'/> <Channel>Microsoft-Windows-Sysmon/Operational</Channel> <Computer>testcomputer.example.org</Computer> <Security UserID='S-1-5-18'/> </System> <EventData> <Data Name='RuleName'>technique_id=T1047,technique_name=Windows Management Instrumentation</Data> <Data Name='UtcTime'>2024-11-14 15:41:55.918</Data> <Data Name='ProcessGuid'>{de61df1c-1a43-6736-a863-00000000ad00}</Data> <Data Name='ProcessId'>20728</Data> <Data Name='Image'>C:\\Program Files\\SourceFile\\SourceFile.exe</Data> <Data Name='ImageLoaded'>C:\\Windows\\System32\\wbem\\imagename.dll</Data> <Data Name='FileVersion'>10.0.22621.3672 (WinBuild.160101.0800)</Data> <Data Name='Description'>WMI</Data> <Data Name='Product'>Microsoft® Windows® Operating System</Data> <Data Name='Company'>Microsoft Corporation</Data> <Data Name='OriginalFileName'>originalimagename.dll</Data> <Data Name='Hashes'>SHA1=AB20D0B71E38A3BF130100BE2F85D32F29D04697,MD5=2C6D07DCF4CDD6177B67F210019D5C61,SHA256=413CDAACD75C19725591059F70CB7F1C0C1AEAA6E1D43C70A687310859C1813F,IMPHASH=472A202488B9A8A8072E75ADE4EC1496</Data> <Data Name='Signed'>true</Data> <Data Name='Signature'>Microsoft Windows</Data> <Data Name='SignatureStatus'>Valid</Data> <Data Name='User'>Test\\TestUser</Data> </EventData> </Event>
Field mapping reference: device event fields to UDM fields
This section describes how the parser maps original device log fields to Unified Data Model (UDM) fields. The field mapping may differ by Event Id.
Field mapping reference: Event Identifier to Event Type
The following table lists theWINDOWS_SYSMON
log types and their corresponding UDM event types. Event Identifier | Event Type | Security Category |
---|---|---|
1
|
PROCESS_LAUNCH
|
|
2
|
FILE_MODIFICATION
|
|
3
|
NETWORK_CONNECTION
|
|
4
|
SETTING_MODIFICATION
|
|
5
|
PROCESS_TERMINATION
|
|
6
|
PROCESS_MODULE_LOAD
|
|
7
|
PROCESS_MODULE_LOAD
|
|
8
|
PROCESS_MODULE_LOAD
|
|
9
|
FILE_READ
|
|
10
|
PROCESS_OPEN
|
|
11
|
FILE_CREATION
|
|
12
|
If the Message
log field value matches the regular expression pattern CreateKey|CreateValue
then, the metadata.event_type
UDM field is set to REGISTRY_CREATION
.Else if the Message
log field value matches the regular expression pattern DeleteKey|DeleteValue
then, the target.resource.name
UDM field is set to REGISTRY_DELETION
.Else, the target.resource.name
UDM field is set to REGISTRY_MODIFICATION
. |
|
13
|
REGISTRY_MODIFICATION
|
|
14
|
REGISTRY_MODIFICATION
|
|
15
|
FILE_CREATION
|
|
16
|
SETTING_MODIFICATION
|
|
17
|
PROCESS_UNCATEGORIZED
|
|
18
|
PROCESS_UNCATEGORIZED
|
|
19
|
USER_RESOURCE_ACCESS
|
|
20
|
USER_RESOURCE_ACCESS
|
|
21
|
USER_RESOURCE_ACCESS
|
|
22
|
NETWORK_DNS
|
|
23
|
FILE_DELETION
|
|
24
|
RESOURCE_READ
|
|
25
|
PROCESS_LAUNCH
|
|
26
|
FILE_DELETION
|
|
255
|
SERVICE_UNSPECIFIED
|
|
Field mapping reference: WINDOWS_SYSMON
The following table lists the log fields of the WINDOWS_SYSMON
log type and their corresponding UDM fields.
SourceName
metadata.vendor_name
metadata.vendor_name
UDM field is set to Microsoft
.
metadata.product_name
metadata.product_name
UDM field is set to Microsoft-Windows-Sysmon
.UtcTime
metadata.event_timestamp
EventID
metadata.product_event_type
EventID
log field value is equal to 255
then, the metadata.product_event_type
UDM field is set to Error - [255]
.Else
EventID
log field is mapped to the metadata.product_event_type
UDM field.RecordNumber
metadata.product_log_id
EventRecordID
metadata.product_log_id
Version
metadata.product_version
EventID
log field value is equal to 4
then, Version
log field is mapped to the metadata.product_version
UDM field.QueryResults
network.dns.answers.data
type_value
and data_value
fields are extracted from QueryResults
log field using the Grok pattern.If the EventID
log field value is equal to 22
then, the data_value
log field is mapped to the network.dns.answers.data
UDM field.QueryResults
network.dns.answers.type
type_value
and data_value
fields are extracted from QueryResults
log field using the Grok pattern.If the EventID
log field value is equal to 22
then, the type_value
log field is mapped to the network.dns.answers.type
UDM field.QueryName
network.dns.questions.name
EventID
log field value is equal to 22
then, QueryName
log field is mapped to the network.dns.questions.name
UDM field.Protocol
network.ip_protocol
EventID
log field value is equal to 3
then, Protocol
log field is mapped to the network.ip_protocol
UDM field.ParentCommandLine
principal.process.command_line
EventID
log field value is equal to 1
then, ParentCommandLine
log field is mapped to the principal.process.command_line
UDM field.User
principal.administrative_domain
principal_user_userid
and principal_administrative_domain
fields are extracted from User
log field using the Grok pattern.If the principal_administrative_domain
log field value is not
empty and the User
log field value is not
empty then, principal_administrative_domain
extracted field is mapped to the principal.administrative_domain
UDM field.Else
Domain
log field is mapped to the principal.administrative_domain
UDM field.Domain
principal.administrative_domain
principal_user_userid
and principal_administrative_domain
fields are extracted from User
log field using the Grok pattern.If the principal_administrative_domain
log field value is not
empty and the User
log field value is not
empty then, principal_administrative_domain
extracted field is mapped to the principal.administrative_domain
UDM field.Else
Domain
log field is mapped to the principal.administrative_domain
UDM field.HostName
principal.hostname
Hostname
log field value is empty then, Computer
log field is mapped to the principal.hostname
UDM field.Else
HostName
log field is mapped to the principal.hostname
UDM field and Hostname
log field is mapped to the principal.hostname
UDM field.Computer
principal.hostname
Hostname
log field value is empty then, Computer
log field is mapped to the principal.hostname
UDM field.Else
HostName
log field is mapped to the principal.hostname
UDM field and Hostname
log field is mapped to the principal.hostname
UDM field.HostName
principal.asset.hostname
Hostname
log field value is empty then, Computer
log field is mapped to the principal.asset.hostname
UDM field.Else
HostName
log field is mapped to the principal.asset.hostname
UDM field and Hostname
log field is mapped to the principal.asset.hostname
UDM field.Computer
principal.asset.hostname
Hostname
log field value is empty then, Computer
log field is mapped to the principal.asset.hostname
UDM field.Else
HostName
log field is mapped to the principal.asset.hostname
UDM field and Hostname
log field is mapped to the principal.asset.hostname
UDM field.SourceIp
principal.ip
EventID
log field value is equal to 3
then, SourceIp
log field is mapped to the principal.ip
UDM field.SourcePort
principal.port
EventID
log field value is equal to 3
then, SourcePort
log field is mapped to the principal.port
UDM field.ImageLoaded
principal.process.file.full_path
EventID
log field value is equal to 6
then, ImageLoaded
log field is mapped to the principal.process.file.full_path
UDM field.Image
principal.process.file.full_path
EventID
log field value contain one of the following values: -
2
-
3
-
7
-
9
-
11
-
12
-
13
-
14
-
15
-
22
-
23
-
26
Image
log field is mapped to the principal.process.file.full_path
UDM field.SourceImage
principal.process.file.full_path
EventID
log field value contain one of the following values: -
8
-
10
SourceImage
log field is mapped to the principal.process.file.full_path
UDM field.ParentImage
principal.process.file.full_path
EventID
log field value is equal to 1
then, ParentImage
log field is mapped to the principal.process.file.full_path
UDM field.ProcessId
principal.process.pid
EventID
log field value contain one of the following values: -
2
-
3
-
7
-
9
-
11
-
12
-
13
-
14
-
15
-
22
-
23
-
24
-
25
-
26
ExecutionProcessID
log field value is not
empty then, ExecutionProcessID
log field is mapped to the principal.process.pid
UDM field.Else
ProcessId
log field is mapped to the principal.process.pid
UDM field.SourceProcessId
principal.process.pid
EventID
log field value is equal to 8
then, SourceProcessId
log field is mapped to the principal.process.pid
UDM field.ParentProcessId
principal.process.pid
EventID
log field value is equal to 1
then, ParentProcessId
log field is mapped to the principal.process.pid
UDM field.ProcessID
observer.process.pid
ProcessGuid
principal.process.product_specific_process_id
EventID
log field value contain one of the following values: -
2
-
3
-
5
-
7
-
9
-
11
-
12
-
13
-
14
-
15
-
22
-
23
-
26
principal.process.product_specific_process_id
UDM field is set to SYSMON:%{ProcessGuid}
.ParentProcessGuid
principal.process.product_specific_process_id
EventID
log field value is equal to 1
then, principal.process.product_specific_process_id
UDM field is set to SYSMON:%{ParentProcessGuid}
.SourceProcessGuid
principal.process.product_specific_process_id
EventID
log field value is equal to 8
then, principal.process.product_specific_process_id
UDM field is set to SYSMON:%{SourceProcessGuid}
.SourceProcessGUID
principal.process.product_specific_process_id
EventID
log field value is equal to 10
then, principal.process.product_specific_process_id
UDM field is set to SYSMON:%{SourceProcessGUID}
.User
principal.user.userid
principal_user_userid
and principal_administrative_domain
fields are extracted from User
log field using the Grok pattern.If the EventID
log field value is not
equal to 24
and if the principal_user_userid
log field value is not
empty and the User
log field value is not
empty then, principal_user_userid
extracted field is mapped to the principal.user.userid
UDM field.ClientInfo
principal.user.userid
host
and user_id
fields are extracted from ClientInfo
log field using the Grok pattern.If the EventID
log field value is equal to 24
and if the user_id
log field value is not
empty and the ClientInfo
log field value is not
empty then, user_id
extracted field is mapped to the principal.user.userid
UDM field.Else
ClientInfo
log field is mapped to the principal.user.userid
UDM field.AccountName
principal.user.userid
principal_user_userid
and principal_administrative_domain
fields are extracted from User
log field using the Grok pattern.If the EventID
log field value is not
equal to 24
and if the principal_user_userid
log field value is not
empty and the User
log field value is not
empty then, principal_user_userid
extracted field is mapped to the principal.user.userid
UDM field.Else
AccountName
log field is mapped to the principal.user.userid
UDM field.SourceUser
principal.user.userid
UserID
principal.user.windows_sid
Description
security_result.description
EventID
log field value is equal to 255
and if the Description
log field value is not
equal to -
then, Description
log field is mapped to the security_result.description
UDM field.RuleName
security_result.rule_name
EventID
security_result.rule_name
security_result.rule_name
UDM field is set to EventID: %{EventID}
.
security_result.severity
Level
log field value contain one of the following values: -
0
-
3
-
4
Level
log field value is equal to Information
then, the security_result.severity
UDM field is set to INFORMATIONAL
.Else, If
Level
log field value is equal to 2
or the Level
log field value is equal to Error
then, the security_result.severity
UDM field is set to ERROR
.If the SeverityValue
log field value does not contain one of the following values: -
Empty
-
-
SeverityValue
log field value contain one of the following values: -
1
-
2
-
3
security_result.severity
UDM field is set to INFORMATIONAL
. Else, if SeverityValue
log field value is equal to 4
then, the security_result.severity
UDM field is set to ERROR
. Else, if SeverityValue
log field value is equal to 5
then, the security_result.severity
UDM field is set to CRITICAL
.Category
about.labels[Category ID]
category_id
and category_tag
fields are extracted from Category
log field using the Grok pattern. category_id
extracted field is mapped to the about.labels.Category ID
UDM field.QueryStatus
security_result.summary
EventID
log field value is equal to 22
then, the security_result.summary
UDM field is set to QueryStatus: %{QueryStatus}
.ID
security_result.summary
EventID
log field value is equal to 255
then, ID
log field is mapped to the security_result.summary
UDM field.Category
security_result.summary
category_id
and category_tag
fields are extracted from Category
log field using the Grok pattern.If the category_id
log field value is not
empty then, category_tag
extracted field is mapped to the security_result.summary
UDM field.Else
Category
log field is mapped to the security_result.summary
UDM field.CurrentDirectory
additional.fields[current_directory]
EventID
log field value is equal to 1
then, CurrentDirectory
log field is mapped to the additional.fields.current_directory
UDM field.OriginalFileName
src.file.full_path
EventID
log field value is equal to 1
then, OriginalFileName
log field is mapped to the src.file.full_path
UDM field.TargetObject
src.registry.registry_key
EventID
log field value is equal to 14
then, TargetObject
log field is mapped to the src.registry.registry_key
UDM field.Name
target.application
EventID
log field value is equal to 19
then, Name
log field is mapped to the target.application
UDM field.If the EventID
log field value is equal to 255
then, the target.application
UDM field is set to Microsoft Sysmon
.Description
target.asset.software.description
EventID
log field value contain one of the following values: -
1
-
7
Description
log field value is not
equal to -
then, Description
log field is mapped to the target.asset.software.description
UDM field.Product
target.asset.software.name
EventID
log field value contain one of the following values: -
1
-
7
Product
log field value is not
equal to -
then, Product
log field is mapped to the target.asset.software.name
UDM field.Company
target.asset.software.vendor_name
EventID
log field value contain one of the following values: -
1
-
7
Company
log field value is not
equal to -
then, Company
log field is mapped to the target.asset.software.vendor_name
UDM field.FileVersion
target.asset.software.version
EventID
log field value contain one of the following values: -
1
-
7
FileVersion
log field value is not
equal to -
then, FileVersion
log field is mapped to the target.asset.software.version
UDM field.EventNamespace
target.file.full_path
EventID
log field value is equal to 19
then, EventNamespace
log field is mapped to the target.file.full_path
UDM field.Device
target.file.full_path
EventID
log field value is equal to 9
then, Device
log field is mapped to the target.file.full_path
UDM field.TargetFilename
target.file.full_path
EventID
log field value contain one of the following values: -
2
-
11
-
15
-
23
-
26
TargetFilename
log field is mapped to the target.file.full_path
UDM field.DestinationHostname
target.asset.hostname
EventID
log field value is equal to 3
then, DestinationHostname
log field is mapped to the target.asset.hostname
UDM field.ClientInfo
target.asset.hostname
host
and user_id
fields are extracted from ClientInfo
log field using the Grok pattern. The target_ip
and host
fields are extracted from ClientInfo
log field using the Grok pattern.If the EventID
log field value is equal to 24
then, host
extracted field is mapped to the target.asset.hostname
UDM field.DestinationHostname
target.hostname
EventID
log field value is equal to 3
then, DestinationHostname
log field is mapped to the target.hostname
UDM field.ClientInfo
target.hostname
host
and user_id
fields are extracted from ClientInfo
log field using the Grok pattern. The target_ip
and host
fields are extracted from ClientInfo
log field using the Grok pattern.If the EventID
log field value is equal to 24
then, host
extracted field is mapped to the target.hostname
UDM field.ClientInfo
target.ip
target_ip
and host
fields are extracted from ClientInfo
log field using the Grok pattern.If the EventID
log field value is equal to 24
then, target_ip
extracted field is mapped to the target.ip
UDM field.DestinationIp
target.ip
EventID
log field value is equal to 3
then, DestinationIp
log field is mapped to the target.ip
UDM field.DestinationPort
target.port
EventID
log field value is equal to 3
then, DestinationPort
log field is mapped to the target.port
UDM field.CommandLine
target.process.command_line
EventID
log field value is equal to 1
then, CommandLine
log field is mapped to the target.process.command_line
UDM field.Configuration
target.process.command_line
EventID
log field value is equal to 16
and if the ConfigurationFileHash
log field value contain one of the following values: -
Empty
-
-
Configuration
log field is mapped to the target.process.command_line
UDM field.ImageLoaded
target.process.file.full_path
EventID
log field value is equal to 7
then, ImageLoaded
log field is mapped to the target.process.file.full_path
UDM field.TargetImage
target.process.file.full_path
EventID
log field value contain one of the following values: -
8
-
10
TargetImage
log field is mapped to the target.process.file.full_path
UDM field.Image
target.process.file.full_path
EventID
log field value contain one of the following values: -
1
-
5
-
17
-
18
-
24
-
25
Image
log field is mapped to the target.process.file.full_path
UDM field.Configuration
target.process.file.full_path
EventID
log field value is equal to 16
and if the ConfigurationFileHash
log field value does not contain one of the following values: -
Empty
-
-
Configuration
log field is mapped to the target.process.file.full_path
UDM field.Hashes
target.process.file.md5
MD5
from the Hashes
log field.If the
EventID
log field value contain one of the following values: -
1
-
6
-
7
-
15
-
16
-
23
-
24
-
26
MD5
extracted field is mapped to the target.process.file.md5
UDM field.Hash
target.process.file.md5
MD5
from the Hashe
log field.If the
EventID
log field value contain one of the following values: -
1
-
6
-
7
-
15
-
16
-
23
-
24
-
26
MD5
extracted field is mapped to the target.process.file.md5
UDM field.ConfigurationFileHash
target.process.file.md5
MD5
from the ConfigurationFileHash
log field.If the
EventID
log field value contain one of the following values: -
1
-
6
-
7
-
15
-
16
-
23
-
24
-
26
MD5
extracted field is mapped to the target.process.file.md5
UDM field.Hashes
target.process.file.sha1
SHA1
from the Hashes
log field.If the
EventID
log field value contain one of the following values: -
1
-
6
-
7
-
15
-
16
-
23
-
24
-
26
SHA1
extracted field is mapped to the target.process.file.sha1
UDM field.Hash
target.process.file.sha1
SHA1
from the Hash
log field.If the
EventID
log field value contain one of the following values: -
1
-
6
-
7
-
15
-
16
-
23
-
24
-
26
SHA1
extracted field is mapped to the target.process.file.sha1
UDM field.ConfigurationFileHash
target.process.file.sha1
SHA1
from the ConfigurationFileHash
log field.If the
EventID
log field value contain one of the following values: -
1
-
6
-
7
-
15
-
16
-
23
-
24
-
26
SHA1
extracted field is mapped to the target.process.file.sha1
UDM field.Hashes
target.process.file.sha256
SHA256
from the Hashes
log field.If the
EventID
log field value contain one of the following values: -
1
-
6
-
7
-
15
-
16
-
23
-
24
-
26
SHA256
extracted field is mapped to the target.process.file.sha256
UDM field.Hash
target.process.file.sha256
SHA256
from the Hash
log field.If the
EventID
log field value contain one of the following values: -
1
-
6
-
7
-
15
-
16
-
23
-
24
-
26
SHA256
extracted field is mapped to the target.process.file.sha256
UDM field.ConfigurationFileHash
target.process.file.sha256
SHA256
from the ConfigurationFileHash
log field.If the
EventID
log field value contain one of the following values: -
1
-
6
-
7
-
15
-
16
-
23
-
24
-
26
SHA256
extracted field is mapped to the target.process.file.sha256
UDM field.Hashes
target.process.file.file_metadata.pe.import_hash
IMPHASH
from the Hashes
log field.IMPHASH
extracted field is mapped to the target.process.file.file_metadata.pe.import_hash
UDM field.Hash
target.process.file.file_metadata.pe.import_hash
IMPHASH
from the Hash
log field.IMPHASH
extracted field is mapped to the target.process.file.file_metadata.pe.import_hash
UDM field.ConfigurationFileHash
target.process.file.file_metadata.pe.import_hash
IMPHASH
from the ConfigurationFileHash
log field.IMPHASH
extracted field is mapped to the target.process.file.file_metadata.pe.import_hash
UDM field.TargetProcessId
target.process.pid
EventID
log field value contain one of the following values: -
8
-
10
TargetProcessId
log field is mapped to the target.process.pid
UDM field.ProcessId
target.process.pid
EventID
log field value contain one of the following values: -
1
-
5
-
16
-
17
-
18
ExecutionProcessID
log field value is not
empty then, ExecutionProcessID
log field is mapped to the target.process.pid
UDM field.Else
ProcessId
log field is mapped to the target.process.pid
UDM field.ProcessID
target.process.pid
EventID
log field value contain one of the following values: -
1
-
5
-
16
-
17
-
18
ExecutionProcessID
log field value is not
empty then, ExecutionProcessID
log field is mapped to the target.process.pid
UDM field.Else
ProcessID
log field is mapped to the target.process.pid
UDM field.TargetProcessGuid
target.process.product_specific_process_id
EventID
log field value is equal to 8
then, the target.process.product_specific_process_id
UDM field is set to SYSMON:%{TargetProcessGuid}
.TargetProcessGUID
target.process.product_specific_process_id
EventID
log field value is equal to 10
then, the target.process.product_specific_process_id
UDM field is set to SYSMON:%{TargetProcessGUID}
.ProcessGuid
target.process.product_specific_process_id
EventID
log field value contain one of the following values: -
1
-
17
-
18
-
24
-
25
target.process.product_specific_process_id
UDM field is set to SYSMON:%{ProcessGuid}
.NewName
target.registry.registry_key
EventID
log field value is equal to 14
then, NewName
log field is mapped to the target.registry.registry_key
UDM field.TargetObject
target.registry.registry_key
EventID
log field value contain one of the following values: -
12
-
13
TargetObject
log field is mapped to the target.registry.registry_key
UDM field.Details
target.registry.registry_value_data
EventID
log field value is equal to 13
then, Details
log field is mapped to the target.registry.registry_value_data
UDM field.PreviousCreationUtcTime
target.resource.attribute.labels.key[PreviousCreationUtcTime]
EventID
log field value is equal to 2
then, PreviousCreationUtcTime
log field is mapped to the target.resource.attribute.labels
UDM field.Archived
target.resource.attribute.labels[Archived]
EventID
log field value contain one of the following values: -
23
-
24
Archived
log field is mapped to the target.resource.attribute.labels
UDM field.Consumer
target.resource.attribute.labels[Consumer]
EventID
log field value is equal to 21
then, Consumer
log field is mapped to the target.resource.attribute.labels
UDM field.CreationUtcTime
target.resource.attribute.labels[CreationUtcTime]
EventID
log field value contain one of the following values: -
2
-
15
CreationUtcTime
log field is mapped to the target.resource.attribute.labels
UDM field.IsExecutable
target.resource.attribute.labels[IsExecutable]
EventID
log field value contain one of the following values: -
23
-
26
IsExecutable
log field is mapped to the target.resource.attribute.labels
UDM field.Name
target.resource.attribute.labels[Name]
EventID
log field value is equal to 20
then, Name
log field is mapped to the target.resource.attribute.labels
UDM field.Operation
target.resource.attribute.labels[Operation]
EventID
log field value contain one of the following values: -
19
-
20
-
21
Operation
log field is mapped to the target.resource.attribute.labels
UDM field.Signature
target.resource.attribute.labels[Signature]
EventID
log field value contain one of the following values: -
6
-
7
Signature
log field is mapped to the target.resource.attribute.labels
UDM field.SignatureStatus
target.resource.attribute.labels[SignatureStatus]
EventID
log field value contain one of the following values: -
6
-
7
SignatureStatus
log field is mapped to the target.resource.attribute.labels
UDM field.Signed
target.resource.attribute.labels[Signed]
EventID
log field value contain one of the following values: -
6
-
7
Signed
log field is mapped to the target.resource.attribute.labels
UDM field.Type
target.resource.attribute.labels[Type]
EventID
log field value is equal to 20
then, Type
log field is mapped to the target.resource.attribute.labels
UDM field.Type
additional.fields[Type]
EventID
log field value is equal to 25
then, Type
log field is mapped to the additional.fields
UDM field.State
target.resource.name
EventID
log field value is equal to 4
then, State
log field is mapped to the target.resource.name
UDM field.CreationUtcTime
target.resource.name
EventID
log field value is equal to 11
then, CreationUtcTime
log field is mapped to the target.resource.name
UDM field.PipeName
target.resource.name
EventID
log field value contain one of the following values: -
17
-
18
PipeName
log field is mapped to the target.resource.name
UDM field.Filter
target.resource.name
EventID
log field value is equal to 21
then, Filter
log field is mapped to the target.resource.name
UDM field.Destination
target.resource.name
EventID
log field value is equal to 20
then, Destination
log field is mapped to the target.resource.name
UDM field.Query
target.resource.name
EventID
log field value is equal to 19
then, Query
log field is mapped to the target.resource.name
UDM field.GrantedAccess
target.resource.name
EventID
log field value is equal to 10
and if the GrantedAccess
log field value matches the regular expression pattern ^0x0080$
then, the target.resource.name
UDM field is set to PROCESS_CREATE_PROCESS
.Else, If the
GrantedAccess
log field value matches the regular expression pattern ^0x0002$
then, the target.resource.name
UDM field is set to PROCESS_CREATE_THREAD
.Else, If the
GrantedAccess
log field value matches the regular expression pattern ^0x0040$
then, the target.resource.name
UDM field is set to PROCESS_DUP_HANDLE
.Else, If the
GrantedAccess
log field value matches the regular expression pattern ^0x0400$
then, the target.resource.name
UDM field is set to PROCESS_QUERY_INFORMATION
.Else, If the
GrantedAccess
log field value matches the regular expression pattern ^0x1000$
then, the target.resource.name
UDM field is set to PROCESS_QUERY_LIMITED_INFORMATION
.Else, If the
GrantedAccess
log field value matches the regular expression pattern ^0x0200$
then, the target.resource.name
UDM field is set to PROCESS_SET_INFORMATION
.Else, If the
GrantedAccess
log field value matches the regular expression pattern ^0x0100$
then, the target.resource.name
UDM field is set to PROCESS_SET_QUOTA
.Else, If the
GrantedAccess
log field value matches the regular expression pattern ^0x0800$
and if the GrantedAccess
log field value matches the regular expression pattern ^0x0001$
then, the target.resource.name
UDM field is set to PROCESS_TERMINATE
.Else, If the
GrantedAccess
log field value matches the regular expression pattern ^0x0008$
then, the target.resource.name
UDM field is set to PROCESS_VM_OPERATION
.Else, If the
GrantedAccess
log field value matches the regular expression pattern ^0x0010$
then, the target.resource.name
UDM field is set to PROCESS_VM_READ
.Else, If the
GrantedAccess
log field value matches the regular expression pattern ^0x0020$
then, the target.resource.name
UDM field is set to PROCESS_VM_WRITE
.Else, If the
GrantedAccess
log field value matches the regular expression pattern ^0x00100000L$
then, the target.resource.name
UDM field is set to SYNCHRONIZE
.
target.resource.resource_type
EventID
log field value contain one of the following values: -
4
-
16
target.resource.resource_type
UDM field is set to SETTING
.Else, If
EventID
log field value contain one of the following values: -
17
-
18
target.resource.resource_type
UDM field is set to PIPE
.
target.resource.resource_subtype
EventID
log field value is equal to 11
then, the target.resource.resource_subtype
UDM field is set to CreationUtcTime
.Else, If
EventID
log field value is equal to 10
then, the target.resource.resource_subtype
UDM field is set to GrantedAccess
.Else, If
EventID
log field value is equal to 4
then, the target.resource.resource_subtype
UDM field is set to State
.TargetUser
target.user.userid
network.direction
EventID
log field value is equal to 3
then, the network.direction
UDM field is set to OUTBOUND
.
security_result.action
EventID
log field value is equal to 3
then, the security_result.action
UDM field is set to ALLOW
.ProviderGuid
observer.asset_id
ProviderGuid
log field is mapped to the observer.asset_id
UDM field.Keywords
additional.fields[Keywords]
ThreadID
additional.fields[thread_id]
ThreadID
additional.fields[ThreadID]
Channel
additional.fields[channel]
Opcode
additional.fields[Opcode]
LogonId
principal.network.session_id
LogonGuid
additional.fields[LogonGuid]
TerminalSessionId
additional.fields[TerminalSessionId]
SourcePortName
additional.fields[SourcePortName]
SourceIsIpv6
additional.fields[SourceIsIpv6]
DestinationPortName
additional.fields[DestinationPortName]
DestinationIsIpv6
additional.fields[DestinationIsIpv6]
Initiated
additional.fields[Initiated]
SchemaVersion
additional.fields[SchemaVersion]
CallTrace
additional.fields[CallTrace]
network.application_protocol
EventID
log field value is equal to 22
then, the network.application_protocol
UDM field is set to DNS
.NewThreadId
additional.fields[NewThreadId]
StartAddress
additional.fields[StartAddress]
StartFunction
additional.fields[StartFunction]
StartModule
additional.fields[StartModule]
ParentUser
additional.fields[ParentUser]
IntegrityLevel
target.process.integrity_level_rid
EventID
log field value contain one of the following values: -
18
-
17
-
16
-
5
-
4
-
1
IntegrityLevel
log field value matches the regular expression pattern (?i)(Untrusted)
then, the target.process.integrity_level_rid
UDM field is set to 0
.Else, if
IntegrityLevel
log field value matches the regular expression pattern (?i)(Low)
then, the target.process.integrity_level_rid
UDM field is set to 4096
.Else, if
IntegrityLevel
log field value matches the regular expression pattern (?i)(Medium)
then, the target.process.integrity_level_rid
UDM field is set to 8192
.Else, if
IntegrityLevel
log field value matches the regular expression pattern (?i)(High)
then, the target.process.integrity_level_rid
UDM field is set to 12288
.Else, if
IntegrityLevel
log field value matches the regular expression pattern (?i)(System)
then, the target.process.integrity_level_rid
UDM field is set to 16384
.Else, if
IntegrityLevel
log field value matches the regular expression pattern (?i)(Protected)
then, the target.process.integrity_level_rid
UDM field is set to 20480
.IntegrityLevel
principal.process.integrity_level_rid
EventID
log field value does not contain one of the following values: -
18
-
17
-
16
-
5
-
4
-
1
IntegrityLevel
log field value matches the regular expression pattern (?i)(Untrusted)
then, the principal.process.integrity_level_rid
UDM field is set to 0
.Else, if
IntegrityLevel
log field value matches the regular expression pattern (?i)(Low)
then, the principal.process.integrity_level_rid
UDM field is set to 4096
.Else, if
IntegrityLevel
log field value matches the regular expression pattern (?i)(Medium)
then, the principal.process.integrity_level_rid
UDM field is set to 8192
.Else, if
IntegrityLevel
log field value matches the regular expression pattern (?i)(High)
then, the principal.process.integrity_level_rid
UDM field is set to 12288
.Else, if
IntegrityLevel
log field value matches the regular expression pattern (?i)(System)
then, the principal.process.integrity_level_rid
UDM field is set to 16384
.Else, if
IntegrityLevel
log field value matches the regular expression pattern (?i)(Protected)
then, the principal.process.integrity_level_rid
UDM field is set to 20480
.Computer
additional.fields[Computer]
HostName
log field value is not
empty or the Hostname
log field value is not
empty then, Computer
log field is mapped to the additional.fields.Computer
UDM field.Task
security_result.summary
Need more help? Get answers from Community members and Google SecOps professionals.