mirror of
https://github.com/Security-Onion-Solutions/securityonion.git
synced 2025-12-06 17:22:49 +01:00
Merge pull request #12434 from Security-Onion-Solutions/feature/improve-endpoint-columns
Add multiple endpoint features
This commit is contained in:
@@ -65,12 +65,18 @@ soc:
|
|||||||
target: _blank
|
target: _blank
|
||||||
links:
|
links:
|
||||||
- 'https://{:sublime.url}/messages/{:sublime.message_group_id}'
|
- 'https://{:sublime.url}/messages/{:sublime.message_group_id}'
|
||||||
|
- name: actionProcessInfo
|
||||||
|
description: actionProcessInfoHelp
|
||||||
|
icon: fa-person-running
|
||||||
|
target: ''
|
||||||
|
links:
|
||||||
|
- '/#/hunt?q=(process.entity_id:"{:process.entity_id}") | groupby event.dataset | groupby -sankey event.dataset event.action | groupby event.action | groupby process.name | groupby host.name user.name | groupby source.ip source.port destination.ip destination.port | groupby dns.question.name | groupby dns.answers.data | groupby file.path | groupby registry.path | groupby dll.path'
|
||||||
- name: actionProcessAncestors
|
- name: actionProcessAncestors
|
||||||
description: actionProcessAncestorsHelp
|
description: actionProcessAncestorsHelp
|
||||||
icon: fa-people-roof
|
icon: fa-people-roof
|
||||||
target: ''
|
target: ''
|
||||||
links:
|
links:
|
||||||
- '/#/hunt?q=(process.entity_id:"{:process.entity_id}" OR process.entity_id:"{:process.Ext.ancestry|processAncestors}") | groupby process.parent.name | groupby -sankey process.parent.name process.name | groupby process.name | groupby event.module event.dataset | table soc_timestamp event.dataset host.name user.name process.parent.name process.name process.working_directory'
|
- '/#/hunt?q=(process.entity_id:"{:process.entity_id}" OR process.entity_id:"{:process.Ext.ancestry|processAncestors}") | groupby event.dataset | groupby -sankey event.dataset event.action | groupby event.action | groupby process.parent.name | groupby -sankey process.parent.name process.name | groupby process.name | groupby host.name user.name | groupby source.ip source.port destination.ip destination.port | groupby dns.question.name | groupby dns.answers.data | groupby file.path | groupby registry.path | groupby dll.path'
|
||||||
eventFields:
|
eventFields:
|
||||||
default:
|
default:
|
||||||
- soc_timestamp
|
- soc_timestamp
|
||||||
@@ -995,6 +1001,69 @@ soc:
|
|||||||
- tds.header_type
|
- tds.header_type
|
||||||
- log.id.uid
|
- log.id.uid
|
||||||
- event.dataset
|
- event.dataset
|
||||||
|
':endpoint:events_x_api':
|
||||||
|
- soc_timestamp
|
||||||
|
- host.name
|
||||||
|
- user.name
|
||||||
|
- process.name
|
||||||
|
- process.Ext.api.name
|
||||||
|
- process.thread.Ext.call_stack_final_user_module.path
|
||||||
|
- event.dataset
|
||||||
|
':endpoint:events_x_file':
|
||||||
|
- soc_timestamp
|
||||||
|
- host.name
|
||||||
|
- user.name
|
||||||
|
- process.name
|
||||||
|
- event.action
|
||||||
|
- file.path
|
||||||
|
- event.dataset
|
||||||
|
':endpoint:events_x_library':
|
||||||
|
- soc_timestamp
|
||||||
|
- host.name
|
||||||
|
- user.name
|
||||||
|
- process.name
|
||||||
|
- event.action
|
||||||
|
- dll.path
|
||||||
|
- dll.code_signature.status
|
||||||
|
- dll.code_signature.subject_name
|
||||||
|
- event.dataset
|
||||||
|
':endpoint:events_x_network':
|
||||||
|
- soc_timestamp
|
||||||
|
- host.name
|
||||||
|
- user.name
|
||||||
|
- process.name
|
||||||
|
- event.action
|
||||||
|
- source.ip
|
||||||
|
- source.port
|
||||||
|
- destination.ip
|
||||||
|
- destination.port
|
||||||
|
- network.community_id
|
||||||
|
- event.dataset
|
||||||
|
':endpoint:events_x_process':
|
||||||
|
- soc_timestamp
|
||||||
|
- host.name
|
||||||
|
- user.name
|
||||||
|
- process.parent.name
|
||||||
|
- process.name
|
||||||
|
- event.action
|
||||||
|
- process.working_directory
|
||||||
|
- event.dataset
|
||||||
|
':endpoint:events_x_registry':
|
||||||
|
- soc_timestamp
|
||||||
|
- host.name
|
||||||
|
- user.name
|
||||||
|
- process.name
|
||||||
|
- event.action
|
||||||
|
- registry.path
|
||||||
|
- event.dataset
|
||||||
|
':endpoint:events_x_security':
|
||||||
|
- soc_timestamp
|
||||||
|
- host.name
|
||||||
|
- user.name
|
||||||
|
- process.executable
|
||||||
|
- event.action
|
||||||
|
- event.outcome
|
||||||
|
- event.dataset
|
||||||
server:
|
server:
|
||||||
bindAddress: 0.0.0.0:9822
|
bindAddress: 0.0.0.0:9822
|
||||||
baseUrl: /
|
baseUrl: /
|
||||||
@@ -1435,13 +1504,22 @@ soc:
|
|||||||
query: 'event.category: network AND _exists_:process.executable AND (_exists_:dns.question.name OR _exists_:dns.answers.data) | groupby -sankey host.name dns.question.name | groupby event.dataset event.type | groupby host.name | groupby process.executable | groupby dns.question.name | groupby dns.answers.data'
|
query: 'event.category: network AND _exists_:process.executable AND (_exists_:dns.question.name OR _exists_:dns.answers.data) | groupby -sankey host.name dns.question.name | groupby event.dataset event.type | groupby host.name | groupby process.executable | groupby dns.question.name | groupby dns.answers.data'
|
||||||
- name: Host Process Activity
|
- name: Host Process Activity
|
||||||
description: Process activity captured on an endpoint
|
description: Process activity captured on an endpoint
|
||||||
query: 'event.category:process | groupby -sankey host.name user.name* | groupby event.dataset event.action | groupby host.name | groupby user.name | groupby process.working_directory | groupby process.executable | groupby process.command_line | groupby process.parent.executable | groupby process.parent.command_line | groupby -sankey process.parent.executable process.executable | table soc_timestamp event.dataset host.name user.name process.parent.name process.name process.working_directory'
|
query: 'event.category:process | groupby -sankey host.name user.name* | groupby event.dataset event.action | groupby host.name | groupby user.name | groupby process.working_directory | groupby process.executable | groupby process.command_line | groupby process.parent.executable | groupby process.parent.command_line | groupby -sankey process.parent.executable process.executable | table soc_timestamp host.name user.name process.parent.name process.name event.action process.working_directory event.dataset'
|
||||||
- name: Host File Activity
|
- name: Host File Activity
|
||||||
description: File activity captured on an endpoint
|
description: File activity captured on an endpoint
|
||||||
query: 'event.category: file AND _exists_:process.executable | groupby -sankey host.name process.executable | groupby host.name | groupby event.dataset event.action event.type | groupby file.name | groupby process.executable'
|
query: 'event.category: file AND _exists_:process.executable | groupby -sankey host.name process.executable | groupby host.name | groupby event.dataset event.action event.type | groupby file.name | groupby process.executable'
|
||||||
- name: Host Network & Process Mappings
|
- name: Host Network & Process Mappings
|
||||||
description: Network activity mapped to originating processes
|
description: Network activity mapped to originating processes
|
||||||
query: 'event.category: network AND _exists_:process.executable | groupby -sankey event.action host.name | groupby -sankey host.name user.name | groupby event.dataset* event.type* event.action* | groupby host.name | groupby user.name | groupby dns.question.name | groupby process.executable | groupby winlog.event_data.TargetObject | groupby process.name | groupby source.ip | groupby destination.ip | groupby destination.port'
|
query: 'event.category: network AND _exists_:process.executable | groupby -sankey event.action host.name | groupby -sankey host.name user.name | groupby event.dataset* event.type* event.action* | groupby host.name | groupby user.name | groupby dns.question.name | groupby process.executable | groupby winlog.event_data.TargetObject | groupby process.name | groupby source.ip | groupby destination.ip | groupby destination.port'
|
||||||
|
- name: Host API Events
|
||||||
|
description: API (Application Programming Interface) events from endpoints
|
||||||
|
query: 'event.dataset:endpoint.events.api | groupby host.name | groupby -sankey host.name user.name | groupby user.name | groupby process.name | groupby process.Ext.api.name'
|
||||||
|
- name: Host Library Events
|
||||||
|
description: Library events from endpoints
|
||||||
|
query: 'event.dataset:endpoint.events.library | groupby host.name | groupby -sankey host.name user.name | groupby user.name | groupby process.name | groupby event.action | groupby dll.path | groupby dll.code_signature.status | groupby dll.code_signature.subject_name'
|
||||||
|
- name: Host Security Events
|
||||||
|
description: Security events from endpoints
|
||||||
|
query: 'event.dataset:endpoint.events.security | groupby host.name | groupby -sankey host.name user.name | groupby user.name | groupby process.executable | groupby event.action | groupby event.outcome'
|
||||||
- name: Strelka
|
- name: Strelka
|
||||||
description: Strelka file analysis
|
description: Strelka file analysis
|
||||||
query: 'event.module:strelka | groupby file.mime_type | groupby -sankey file.mime_type file.source | groupby file.source | groupby file.name'
|
query: 'event.module:strelka | groupby file.mime_type | groupby -sankey file.mime_type file.source | groupby file.source | groupby file.name'
|
||||||
|
|||||||
@@ -66,6 +66,14 @@
|
|||||||
{% do SOCMERGED.config.server.client.alerts.update({'actions': standard_actions}) %}
|
{% do SOCMERGED.config.server.client.alerts.update({'actions': standard_actions}) %}
|
||||||
{% do SOCMERGED.config.server.client.cases.update({'actions': standard_actions}) %}
|
{% do SOCMERGED.config.server.client.cases.update({'actions': standard_actions}) %}
|
||||||
|
|
||||||
|
{# replace the _x_ with . for soc ui to config conversion #}
|
||||||
|
{% do SOCMERGED.config.eventFields.update({':endpoint:events.api': SOCMERGED.config.eventFields.pop(':endpoint:events_x_api') }) %}
|
||||||
|
{% do SOCMERGED.config.eventFields.update({':endpoint:events.file': SOCMERGED.config.eventFields.pop(':endpoint:events_x_file') }) %}
|
||||||
|
{% do SOCMERGED.config.eventFields.update({':endpoint:events.library': SOCMERGED.config.eventFields.pop(':endpoint:events_x_library') }) %}
|
||||||
|
{% do SOCMERGED.config.eventFields.update({':endpoint:events.network': SOCMERGED.config.eventFields.pop(':endpoint:events_x_network') }) %}
|
||||||
|
{% do SOCMERGED.config.eventFields.update({':endpoint:events.process': SOCMERGED.config.eventFields.pop(':endpoint:events_x_process') }) %}
|
||||||
|
{% do SOCMERGED.config.eventFields.update({':endpoint:events.registry': SOCMERGED.config.eventFields.pop(':endpoint:events_x_registry') }) %}
|
||||||
|
{% do SOCMERGED.config.eventFields.update({':endpoint:events.security': SOCMERGED.config.eventFields.pop(':endpoint:events_x_security') }) %}
|
||||||
{% set standard_eventFields = SOCMERGED.config.pop('eventFields') %}
|
{% set standard_eventFields = SOCMERGED.config.pop('eventFields') %}
|
||||||
{% do SOCMERGED.config.server.client.hunt.update({'eventFields': standard_eventFields}) %}
|
{% do SOCMERGED.config.server.client.hunt.update({'eventFields': standard_eventFields}) %}
|
||||||
{% do SOCMERGED.config.server.client.dashboards.update({'eventFields': standard_eventFields}) %}
|
{% do SOCMERGED.config.server.client.dashboards.update({'eventFields': standard_eventFields}) %}
|
||||||
|
|||||||
@@ -55,10 +55,17 @@ soc:
|
|||||||
global: True
|
global: True
|
||||||
forcedType: "[]{}"
|
forcedType: "[]{}"
|
||||||
eventFields:
|
eventFields:
|
||||||
default:
|
default: &eventFields
|
||||||
description: Event fields mappings are defined by the format ":event.module:event.dataset". For example, to customize which fields show for 'syslog' events originating from 'zeek', find the eventField item in the left panel that looks like ':zeek:syslog'. This 'default' entry is used for all events that do not match an existing mapping defined in the list to the left.
|
description: Event fields mappings are defined by the format ":event.module:event.dataset". For example, to customize which fields show for 'syslog' events originating from 'zeek', find the eventField item in the left panel that looks like ':zeek:syslog'. The 'default' entry is used for all events that do not match an existing mapping defined in the list to the left.
|
||||||
global: True
|
global: True
|
||||||
advanced: True
|
advanced: True
|
||||||
|
':endpoint:events_x_api': *eventFields
|
||||||
|
':endpoint:events_x_file': *eventFields
|
||||||
|
':endpoint:events_x_library': *eventFields
|
||||||
|
':endpoint:events_x_network': *eventFields
|
||||||
|
':endpoint:events_x_process': *eventFields
|
||||||
|
':endpoint:events_x_registry': *eventFields
|
||||||
|
':endpoint:events_x_security': *eventFields
|
||||||
server:
|
server:
|
||||||
srvKey:
|
srvKey:
|
||||||
description: Unique key for protecting the integrity of user submitted data via the web browser.
|
description: Unique key for protecting the integrity of user submitted data via the web browser.
|
||||||
|
|||||||
Reference in New Issue
Block a user