[Security Content] Add missing osquery transforms (#3088)
* [Security Content] Add missing osquery transforms * Revertable unit test * . * Revert "Revertable unit test" This reverts commit 8c909fc2712b16e062890a63f31a6c080b81244a. --------- Co-authored-by: Mika Ayenson <Mikaayenson@users.noreply.github.com>
This commit is contained in:
@@ -8,6 +8,31 @@ general rules.
|
||||
"""
|
||||
min_stack_version = "8.5.0"
|
||||
|
||||
[transform]
|
||||
[[transform.osquery]]
|
||||
label = "Osquery - Retrieve DNS Cache"
|
||||
query = "SELECT * FROM dns_cache"
|
||||
|
||||
[[transform.osquery]]
|
||||
label = "Osquery - Retrieve All Services"
|
||||
query = "SELECT description, display_name, name, path, pid, service_type, start_type, status, user_account FROM services"
|
||||
|
||||
[[transform.osquery]]
|
||||
label = "Osquery - Retrieve Services Running on User Accounts"
|
||||
query = """
|
||||
SELECT description, display_name, name, path, pid, service_type, start_type, status, user_account FROM services WHERE
|
||||
NOT (user_account LIKE '%LocalSystem' OR user_account LIKE '%LocalService' OR user_account LIKE '%NetworkService' OR
|
||||
user_account == null)
|
||||
"""
|
||||
|
||||
[[transform.osquery]]
|
||||
label = "Osquery - Retrieve Service Unsigned Executables with Virustotal Link"
|
||||
query = """
|
||||
SELECT concat('https://www.virustotal.com/gui/file/', sha1) AS VtLink, name, description, start_type, status, pid,
|
||||
services.path FROM services JOIN authenticode ON services.path = authenticode.path OR services.module_path =
|
||||
authenticode.path JOIN hash ON services.path = hash.path WHERE authenticode.result != 'trusted'
|
||||
"""
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
@@ -30,6 +55,9 @@ Matches are based on threat intelligence data that's been ingested during the la
|
||||
|
||||
This rule is triggered when an IP address indicator from the Threat Intel Filebeat module or a threat intelligence integration matches against a network event.
|
||||
|
||||
> **Note**:
|
||||
> This investigation guide uses the [Osquery Markdown Plugin](https://www.elastic.co/guide/en/security/master/invest-guide-run-osquery.html) introduced in Elastic Stack version 8.5.0. Older Elastic Stack versions will display unrendered Markdown in this guide.
|
||||
|
||||
#### Possible investigation steps
|
||||
|
||||
- Gain context about the field that matched the local observation so you can understand the nature of the connection. This information can be found in the `threat.indicator.matched.field` field.
|
||||
|
||||
@@ -8,6 +8,31 @@ general rules.
|
||||
"""
|
||||
min_stack_version = "8.5.0"
|
||||
|
||||
[transform]
|
||||
[[transform.osquery]]
|
||||
label = "Osquery - Retrieve DNS Cache"
|
||||
query = "SELECT * FROM dns_cache"
|
||||
|
||||
[[transform.osquery]]
|
||||
label = "Osquery - Retrieve All Services"
|
||||
query = "SELECT description, display_name, name, path, pid, service_type, start_type, status, user_account FROM services"
|
||||
|
||||
[[transform.osquery]]
|
||||
label = "Osquery - Retrieve Services Running on User Accounts"
|
||||
query = """
|
||||
SELECT description, display_name, name, path, pid, service_type, start_type, status, user_account FROM services WHERE
|
||||
NOT (user_account LIKE '%LocalSystem' OR user_account LIKE '%LocalService' OR user_account LIKE '%NetworkService' OR
|
||||
user_account == null)
|
||||
"""
|
||||
|
||||
[[transform.osquery]]
|
||||
label = "Osquery - Retrieve Service Unsigned Executables with Virustotal Link"
|
||||
query = """
|
||||
SELECT concat('https://www.virustotal.com/gui/file/', sha1) AS VtLink, name, description, start_type, status, pid,
|
||||
services.path FROM services JOIN authenticode ON services.path = authenticode.path OR services.module_path =
|
||||
authenticode.path JOIN hash ON services.path = hash.path WHERE authenticode.result != 'trusted'
|
||||
"""
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
|
||||
@@ -8,6 +8,31 @@ general rules.
|
||||
"""
|
||||
min_stack_version = "8.5.0"
|
||||
|
||||
[transform]
|
||||
[[transform.osquery]]
|
||||
label = "Osquery - Retrieve DNS Cache"
|
||||
query = "SELECT * FROM dns_cache"
|
||||
|
||||
[[transform.osquery]]
|
||||
label = "Osquery - Retrieve All Services"
|
||||
query = "SELECT description, display_name, name, path, pid, service_type, start_type, status, user_account FROM services"
|
||||
|
||||
[[transform.osquery]]
|
||||
label = "Osquery - Retrieve Services Running on User Accounts"
|
||||
query = """
|
||||
SELECT description, display_name, name, path, pid, service_type, start_type, status, user_account FROM services WHERE
|
||||
NOT (user_account LIKE '%LocalSystem' OR user_account LIKE '%LocalService' OR user_account LIKE '%NetworkService' OR
|
||||
user_account == null)
|
||||
"""
|
||||
|
||||
[[transform.osquery]]
|
||||
label = "Osquery - Retrieve Service Unsigned Executables with Virustotal Link"
|
||||
query = """
|
||||
SELECT concat('https://www.virustotal.com/gui/file/', sha1) AS VtLink, name, description, start_type, status, pid,
|
||||
services.path FROM services JOIN authenticode ON services.path = authenticode.path OR services.module_path =
|
||||
authenticode.path JOIN hash ON services.path = hash.path WHERE authenticode.result != 'trusted'
|
||||
"""
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
|
||||
@@ -8,6 +8,31 @@ general rules.
|
||||
"""
|
||||
min_stack_version = "8.5.0"
|
||||
|
||||
[transform]
|
||||
[[transform.osquery]]
|
||||
label = "Osquery - Retrieve DNS Cache"
|
||||
query = "SELECT * FROM dns_cache"
|
||||
|
||||
[[transform.osquery]]
|
||||
label = "Osquery - Retrieve All Services"
|
||||
query = "SELECT description, display_name, name, path, pid, service_type, start_type, status, user_account FROM services"
|
||||
|
||||
[[transform.osquery]]
|
||||
label = "Osquery - Retrieve Services Running on User Accounts"
|
||||
query = """
|
||||
SELECT description, display_name, name, path, pid, service_type, start_type, status, user_account FROM services WHERE
|
||||
NOT (user_account LIKE '%LocalSystem' OR user_account LIKE '%LocalService' OR user_account LIKE '%NetworkService' OR
|
||||
user_account == null)
|
||||
"""
|
||||
|
||||
[[transform.osquery]]
|
||||
label = "Osquery - Retrieve Service Unsigned Executables with Virustotal Link"
|
||||
query = """
|
||||
SELECT concat('https://www.virustotal.com/gui/file/', sha1) AS VtLink, name, description, start_type, status, pid,
|
||||
services.path FROM services JOIN authenticode ON services.path = authenticode.path OR services.module_path =
|
||||
authenticode.path JOIN hash ON services.path = hash.path WHERE authenticode.result != 'trusted'
|
||||
"""
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
@@ -30,6 +55,9 @@ Matches are based on threat intelligence data that's been ingested during the la
|
||||
|
||||
This rule is triggered when a URL indicator from the Threat Intel Filebeat module or a threat intelligence integration matches against an event that contains URL data, like DNS events, network logs, etc.
|
||||
|
||||
> **Note**:
|
||||
> This investigation guide uses the [Osquery Markdown Plugin](https://www.elastic.co/guide/en/security/master/invest-guide-run-osquery.html) introduced in Elastic Stack version 8.5.0. Older Elastic Stack versions will display unrendered Markdown in this guide.
|
||||
|
||||
#### Possible investigation steps
|
||||
|
||||
- Investigate the URL, which can be found in the `threat.indicator.matched.atomic` field:
|
||||
|
||||
Reference in New Issue
Block a user