Skip to content

Commit 3e64dfb

Browse files
authored
Merge pull request #3022 from splunk/gitlab_release_v4.34.0
Release v4.34.0
2 parents 8f253cd + 6f7f922 commit 3e64dfb

File tree

1,526 files changed

+31426
-26941
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,526 files changed

+31426
-26941
lines changed

app_template/default/distsearch.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[replicationSettings:refineConf]
22
replicate.analytic_stories = false
33

4-
[replicationBlacklist]
4+
[replicationDenylist]
55
excludeESCU = apps[/\\]DA-ESS-ContentUpdate[/\\]lookups[/\\]...

baselines/deprecated/baseline_of_excessive_aws_instances_launched_by_user___mltk.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ description: This search is used to build a Machine Learning Toolkit (MLTK) mode
1010
the last 90 days of data to build the model. The model created by this search is
1111
then used in the corresponding detection search, which identifies subsequent outliers
1212
in the number of RunInstances performed by a user in a small time window.
13-
search: '`cloudtrail` eventName=RunInstances errorCode=success `ec2_excessive_runinstances_mltk_input_filter`
13+
search: '`cloudtrail` eventName=RunInstances errorCode=success
1414
| bucket span=10m _time | stats count as instances_launched by _time src_user |
1515
fit DensityFunction instances_launched threshold=0.0005 into ec2_excessive_runinstances_v1'
1616
how_to_implement: 'You must install the AWS App for Splunk (version 5.1.0 or later)

baselines/deprecated/baseline_of_excessive_aws_instances_terminated_by_user___mltk.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ description: This search is used to build a Machine Learning Toolkit (MLTK) mode
1111
is then used in the corresponding detection search, which identifies subsequent
1212
outliers in the number of TerminateInstances performed by a user in a small time
1313
window.
14-
search: '`cloudtrail` eventName=TerminateInstances errorCode=success `ec2_excessive_terminateinstances_mltk_input_filter`
14+
search: '`cloudtrail` eventName=TerminateInstances errorCode=success
1515
| bucket span=10m _time | stats count as instances_terminated by _time src_user
1616
| fit DensityFunction instances_terminated threshold=0.0005 into ec2_excessive_terminateinstances_v1'
1717
how_to_implement: 'You must install the AWS App for Splunk (version 5.1.0 or later)

contentctl.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ app:
33
uid: 3449
44
title: ES Content Updates
55
appid: DA-ESS-ContentUpdate
6-
version: 4.33.0
6+
version: 4.34.0
77
description: Explore the Analytic Stories included with ES Content Updates.
88
prefix: ESCU
99
label: ESCU
@@ -47,12 +47,12 @@ apps:
4747
version: 2.2.0
4848
description: description of app
4949
hardcoded_path: https://attack-range-appbinaries.s3.us-west-2.amazonaws.com/Latest/splunk-add-on-for-okta-identity-cloud_220.tgz
50-
- uid: 6176
50+
- uid: 6652
5151
title: Add-on for Linux Sysmon
5252
appid: Splunk_TA_linux_sysmon
53-
version: 1.0.4
53+
version: 1.0.0
5454
description: description of app
55-
hardcoded_path: https://attack-range-appbinaries.s3.us-west-2.amazonaws.com/Latest/add-on-for-linux-sysmon_104.tgz
55+
hardcoded_path: https://attack-range-appbinaries.s3.us-west-2.amazonaws.com/splunk-add-on-for-sysmon-for-linux_100.tgz
5656
- uid: null
5757
title: Splunk Fix XmlWinEventLog HEC Parsing
5858
appid: Splunk_FIX_XMLWINEVENTLOG_HEC_PARSING
@@ -71,9 +71,9 @@ apps:
7171
- uid: 5709
7272
title: Splunk Add-on for Sysmon
7373
appid: Splunk_TA_microsoft_sysmon
74-
version: 4.0.0
74+
version: 4.0.1
7575
description: description of app
76-
hardcoded_path: https://attack-range-appbinaries.s3.us-west-2.amazonaws.com/Latest/splunk-add-on-for-sysmon_400.tgz
76+
hardcoded_path: https://attack-range-appbinaries.s3.us-west-2.amazonaws.com/Latest/splunk-add-on-for-sysmon_401.tgz
7777
- uid: 833
7878
title: Splunk Add-on for Unix and Linux
7979
appid: Splunk_TA_nix

data_sources/endpoint/Sysmon_for_Linux_EventID.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: Sysmon for Linux EventID
22
id: da9fc0c9-4b15-4537-aa91-19ca0cb1eba5
33
author: Patrick Bareiss, Splunk
44
source: Syslog:Linux-Sysmon/Operational
5-
sourcetype: sysmon_linux
5+
sourcetype: sysmon:linux
66
separator: EventID
77
supported_TA:
88
name: Splunk Add-on for Sysmon for Linux

data_sources/endpoint/Windows_Event_Log_Security.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: Windows Event Log Security
22
id: e3e44de1-57b1-462d-b57c-c7657af7ae6e
33
author: Patrick Bareiss, Splunk
4-
source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
4+
source: XmlWinEventLog:Security
55
sourcetype: xmlwineventlog
66
separator: EventCode
77
supported_TA:

data_sources/endpoint/event_sources/Windows_Event_Log_Security_5145.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,18 +91,20 @@ field_mappings:
9191
AccessList: access_list
9292
AccessMask: access_mask
9393
AccessReason: access_result
94-
ShareLocalPath: share_local_path
9594
RelativeTargetName: relative_target_name
95+
ObjectType: object_type
9696
IpAddress: src_ip
9797
IpPort: src_port
98+
SubjectDomainName: user_domain
9899
SubjectUserName: user
100+
SubjectLogonId: user_logon_id
101+
SubjectUserSid: user_sid
99102
ShareName: share
100103
- data_model: ocsf
101104
mapping:
102105
AccessList: access_list
103106
AccessMask: access_mask
104107
AccessReason: access_result
105-
ShareLocalPath: file.path
106108
RelativeTargetName: file.path
107109
ObjectType: file.type
108110
IpAddress: src_endpoint.ip

detections/application/detect_risky_spl_using_pretrained_ml_model.yml

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,17 @@
11
name: Detect Risky SPL using Pretrained ML Model
22
id: b4aefb5f-1037-410d-a149-1e091288ba33
3-
version: 1
4-
date: '2022-06-16'
3+
version: 2
4+
date: '2024-05-26'
55
author: Abhinav Mishra, Kumar Sharad, Namratha Sreekanta and Xiao Lin, Splunk
66
status: experimental
77
type: Anomaly
8-
description: The following analytic uses a pretrained machine learning text classifier
9-
to detect potentially risky commands. The model is trained independently and then
10-
the model file is packaged within ESCU for usage. A command is deemed risky based
11-
on the presence of certain trigger keywords, along with the context and the role
12-
of the user (please see references). The model uses custom features to predict whether
13-
a SPL is risky using text classification. The model takes as input the command text,
14-
user and search type and outputs a risk score between [0,1]. A high score indicates
15-
higher likelihood of a command being risky. This model is on-prem only.
8+
description: The following analytic identifies potentially risky SPL commands executed
9+
by users. It leverages a pretrained machine learning text classifier that analyzes
10+
command text, user, and search type to assign a risk score between 0 and 1. This
11+
detection is significant as it helps identify suspicious or unauthorized search
12+
activities that could indicate malicious intent or misuse of the Splunk environment.
13+
If confirmed malicious, such activity could lead to unauthorized data access, data
14+
exfiltration, or further exploitation of the system.
1615
data_source: []
1716
search: '| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time)
1817
as lastTime from datamodel=Splunk_Audit.Search_Activity where Search_Activity.search_type=adhoc
@@ -62,7 +61,8 @@ tags:
6261
tests:
6362
- name: True Positive Test
6463
attack_data:
65-
- data: https://github.com/splunk/attack_data/raw/master/datasets/attack_techniques/T1203/search_activity.txt
64+
- data:
65+
https://github.com/splunk/attack_data/raw/master/datasets/attack_techniques/T1203/search_activity.txt
6666
source: audittrail
6767
sourcetype: audittrail
6868
update_timestamp: true

detections/application/email_files_written_outside_of_the_outlook_directory.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ search: '| tstats `security_content_summariesonly` count values(Filesystem.file_
2121
!= "C:\\Users\\*\\My Documents\\Outlook Files\\*" Filesystem.file_path!="C:\\Users\\*\\AppData\\Local\\Microsoft\\Outlook*"
2222
by Filesystem.action Filesystem.process_id Filesystem.file_name Filesystem.dest
2323
| `drop_dm_object_name("Filesystem")` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)`|
24-
`email_files_written_outside_of_the_outlook_directory_filter` '
24+
`email_files_written_outside_of_the_outlook_directory_filter`'
2525
how_to_implement: To successfully implement this search, you must be ingesting data
2626
that records the file-system activity from your hosts to populate the Endpoint.Filesystem
2727
data model node. This is typically populated via endpoint detection-and-response

detections/application/no_windows_updates_in_a_time_frame.yml

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,18 @@
11
name: No Windows Updates in a time frame
22
id: 1a77c08c-2f56-409c-a2d3-7d64617edd4f
3-
version: 1
4-
date: '2017-09-15'
3+
version: 2
4+
date: '2024-05-15'
55
author: Bhavin Patel, Splunk
66
status: experimental
77
type: Hunting
8-
description: This search looks for Windows endpoints that have not generated an event
9-
indicating a successful Windows update in the last 60 days. Windows updates are
10-
typically released monthly and applied shortly thereafter. An endpoint that has
11-
not successfully applied an update in this time frame indicates the endpoint is
12-
not regularly being patched for some reason.
8+
description: The following analytic identifies Windows endpoints that have not generated
9+
an event indicating a successful Windows update in the last 60 days. It leverages
10+
the 'Update' data model in Splunk, specifically looking for the latest 'Installed'
11+
status events from Microsoft Windows. This activity is significant for a SOC because
12+
endpoints that are not regularly patched are vulnerable to known exploits and security
13+
vulnerabilities. If confirmed malicious, this could indicate a compromised endpoint
14+
that is intentionally being kept unpatched, potentially allowing attackers to exploit
15+
unpatched vulnerabilities and gain unauthorized access or control.
1316
data_source: []
1417
search: '| tstats `security_content_summariesonly` max(_time) as lastTime from datamodel=Updates
1518
where Updates.status=Installed Updates.vendor_product="Microsoft Windows" by Updates.dest

detections/application/okta_authentication_failed_during_mfa_challenge.yml

Lines changed: 26 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,32 @@
11
name: Okta Authentication Failed During MFA Challenge
22
id: e2b99e7d-d956-411a-a120-2b14adfdde93
3-
version: 1
4-
date: '2024-03-11'
3+
version: 2
4+
date: '2024-05-29'
55
author: Bhavin Patel, Splunk
66
data_source: []
77
type: TTP
88
status: production
9-
description: The following analytic identifies an authentication attempt event against
10-
an Okta tenant that fails during the Multi-Factor Authentication (MFA) challenge. This detection is written against the Authentication datamodel and we look for a specific failed events where the authentication signature is `user.authentication.auth_via_mfa`. This behavior may represent an adversary trying to authenticate with compromised credentials for an account that has multi-factor authentication enabled.
11-
search: '| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime values(Authentication.app) as app values(Authentication.reason) as reason values(Authentication.signature) as signature values(Authentication.method) as method from datamodel=Authentication where Authentication.signature=user.authentication.auth_via_mfa Authentication.action = failure by _time Authentication.src Authentication.user Authentication.dest Authentication.action | `drop_dm_object_name("Authentication")` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)`| iplocation src | `okta_authentication_failed_during_mfa_challenge_filter`'
12-
how_to_implement: The analytic leverages Okta OktaIm2 logs to be ingested using the Splunk Add-on for Okta Identity Cloud (https://splunkbase.splunk.com/app/6553).
13-
known_false_positives: A user may have accidentally entered the wrong credentials during the MFA challenge. If the user is new to MFA, they may have trouble authenticating. Ensure that the user is aware of the MFA process and has the correct credentials.
9+
description: The following analytic identifies failed authentication attempts during
10+
the Multi-Factor Authentication (MFA) challenge in an Okta tenant. It uses the Authentication
11+
datamodel to detect specific failed events where the authentication signature is
12+
`user.authentication.auth_via_mfa`. This activity is significant as it may indicate
13+
an adversary attempting to authenticate with compromised credentials on an account
14+
with MFA enabled. If confirmed malicious, this could suggest an ongoing attempt
15+
to bypass MFA protections, potentially leading to unauthorized access and further
16+
compromise of the affected account.
17+
search: '| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time)
18+
as lastTime values(Authentication.app) as app values(Authentication.reason) as
19+
reason values(Authentication.signature) as signature values(Authentication.method)
20+
as method from datamodel=Authentication where Authentication.signature=user.authentication.auth_via_mfa
21+
Authentication.action = failure by _time Authentication.src Authentication.user
22+
Authentication.dest Authentication.action | `drop_dm_object_name("Authentication")`
23+
| `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)`| iplocation
24+
src | `okta_authentication_failed_during_mfa_challenge_filter`'
25+
how_to_implement: The analytic leverages Okta OktaIm2 logs to be ingested using the
26+
Splunk Add-on for Okta Identity Cloud (https://splunkbase.splunk.com/app/6553).
27+
known_false_positives: A user may have accidentally entered the wrong credentials
28+
during the MFA challenge. If the user is new to MFA, they may have trouble authenticating.
29+
Ensure that the user is aware of the MFA process and has the correct credentials.
1430
references:
1531
- https://sec.okta.com/everythingisyes
1632
- https://splunkbase.splunk.com/app/6553
@@ -55,6 +71,7 @@ tags:
5571
tests:
5672
- name: True Positive Test
5773
attack_data:
58-
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1621/okta_mfa_login_failed/okta_mfa_login_failed.log
74+
- data:
75+
https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1621/okta_mfa_login_failed/okta_mfa_login_failed.log
5976
source: okta_log
60-
sourcetype: OktaIM2:log
77+
sourcetype: OktaIM2:log

detections/application/okta_idp_lifecycle_modifications.yml

Lines changed: 27 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,31 @@
11
name: Okta IDP Lifecycle Modifications
22
id: e0be2c83-5526-4219-a14f-c3db2e763d15
3-
version: 1
4-
date: '2024-03-14'
3+
version: 2
4+
date: '2024-05-28'
55
author: Bhavin Patel, Splunk
66
data_source: []
77
type: Anomaly
88
status: production
9-
description: This detection identifies modifications to Okta Identity Provider (IDP) lifecycle events, such as creation, activation, deactivation, and deletion of IDP configurations. Monitoring these events is crucial for maintaining the integrity and security of authentication mechanisms within an organization. By detecting unauthorized or anomalous changes, organizations can quickly respond to potential security breaches or misconfigurations, ensuring that their identity management systems remain secure and operational.
10-
search: '`okta` eventType IN ("system.idp.lifecycle.activate","system.idp.lifecycle.create","system.idp.lifecycle.delete","system.idp.lifecycle.deactivate")
11-
| stats count min(_time) as firstTime max(_time) as lastTime values(target{}.id) as target_id values(target{}.type) as target_modified by src dest src_user_id user user_agent command description | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | `okta_idp_lifecycle_modifications_filter`'
12-
how_to_implement: The analytic leverages Okta OktaIm2 logs to be ingested using the Splunk Add-on for Okta Identity Cloud (https://splunkbase.splunk.com/app/6553).
13-
known_false_positives: It's possible for legitimate administrative actions or automated processes to trigger this detection, especially if there are bulk modifications to Okta IDP lifecycle events. Review the context of the modification, such as the user making the change and the specific lifecycle event modified, to determine if it aligns with expected behavior.
9+
description: The following analytic identifies modifications to Okta Identity Provider
10+
(IDP) lifecycle events, including creation, activation, deactivation, and deletion
11+
of IDP configurations. It uses OktaIm2 logs ingested via the Splunk Add-on for Okta
12+
Identity Cloud. Monitoring these events is crucial for maintaining the integrity
13+
and security of authentication mechanisms. Unauthorized or anomalous changes could
14+
indicate potential security breaches or misconfigurations. If confirmed malicious,
15+
attackers could manipulate authentication processes, potentially gaining unauthorized
16+
access or disrupting identity management systems.
17+
search: '`okta` eventType IN ("system.idp.lifecycle.activate","system.idp.lifecycle.create","system.idp.lifecycle.delete","system.idp.lifecycle.deactivate")
18+
| stats count min(_time) as firstTime max(_time) as lastTime values(target{}.id)
19+
as target_id values(target{}.type) as target_modified by src dest src_user_id user
20+
user_agent command description | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)`
21+
| `okta_idp_lifecycle_modifications_filter`'
22+
how_to_implement: The analytic leverages Okta OktaIm2 logs to be ingested using the
23+
Splunk Add-on for Okta Identity Cloud (https://splunkbase.splunk.com/app/6553).
24+
known_false_positives: It's possible for legitimate administrative actions or automated
25+
processes to trigger this detection, especially if there are bulk modifications
26+
to Okta IDP lifecycle events. Review the context of the modification, such as the
27+
user making the change and the specific lifecycle event modified, to determine if
28+
it aligns with expected behavior.
1429
references:
1530
- https://www.obsidiansecurity.com/blog/behind-the-breach-cross-tenant-impersonation-in-okta/
1631
- https://splunkbase.splunk.com/app/6553
@@ -20,7 +35,8 @@ tags:
2035
asset_type: Okta Tenant
2136
confidence: 90
2237
impact: 90
23-
message: A user [$user$] is attempting IDP lifecycle modification - [$description$] from IP Address - [$src$]"
38+
message: A user [$user$] is attempting IDP lifecycle modification - [$description$]
39+
from IP Address - [$src$]"
2440
mitre_attack_id:
2541
- T1087.004
2642
observable:
@@ -52,6 +68,7 @@ tags:
5268
tests:
5369
- name: True Positive Test
5470
attack_data:
55-
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1556/okta_idp/okta.log
71+
- data:
72+
https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1556/okta_idp/okta.log
5673
source: Okta
57-
sourcetype: OktaIM2:log
74+
sourcetype: OktaIM2:log

0 commit comments

Comments
 (0)