Skip to content

Commit ad179cb

Browse files
authored
Merge pull request #2918 from splunk/gitlab_release_v4.16.1
Gitlab release v4.16.1
2 parents 429a7ba + e6d1c72 commit ad179cb

21 files changed

+142
-31
lines changed

detections/application/splunk_app_for_lookup_file_editing_rce_via_user_xslt.yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,7 @@ status: experimental
77
type: Hunting
88
data_source: []
99
description: This search provides information to investigate possible remote code execution exploitation via
10-
user-supplied Extensible Stylesheet Language Transformations (XSLT), affecting Splunk versions 9.1.x.
11-
Exploitation of this vulnerability by attackers requires that the Splunk App for Lookup File Editing
12-
is, or was, installed.
10+
user-supplied Extensible Stylesheet Language Transformations (XSLT), affecting Splunk versions 9.1.x.
1311
search: '| rest splunk_server=local /services/data/lookup-table-files/
1412
| fields title author disabled eai:acl.app eai:acl.owner eai:acl.sharing eai:appName eai:data
1513
| `splunk_app_for_lookup_file_editing_rce_via_user_xslt_filter`'
@@ -22,7 +20,7 @@ known_false_positives: This search will provide information for investigation an
2220
user-supplied XSLT which may be indications of possible exploitation. There will be false positives as it is
2321
not possible to detect the payload executed via this exploit.
2422
references:
25-
- https://advisory.splunk.com/advisories
23+
- https://advisory.splunk.com/advisories/SVD-2023-1104
2624
cve:
2725
- CVE-2023-46214
2826
tags:
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
name: Splunk RCE via User XSLT
2+
id: 6cb7e011-55fb-48e3-a98d-164fa854e37e
3+
version: 1
4+
date: '2023-11-22'
5+
author: Marissa Bower, Chase Franklin, Rod Soto, Bhavin Patel, Eric McGinnis, Splunk
6+
status: production
7+
type: Hunting
8+
data_source: []
9+
description: This search provides information to investigate possible remote code execution exploitation via
10+
user-supplied Extensible Stylesheet Language Transformations (XSLT), affecting Splunk versions 9.1.x.
11+
search: '`splunkd_ui` ((uri="*NO_BINARY_CHECK=1*" AND "*input.path=*.xsl*") OR uri="*dispatch*.xsl*") AND uri!= "*splunkd_ui*"
12+
| rex field=uri "(?<string>=\s*([\S\s]+))"
13+
| eval decoded_field=urldecode(string)
14+
| eval action=case(match(status,"200"),"Allowed",match(status,"303|500|401|403|404|301|406"),"Blocked",1=1,"Unknown")
15+
| stats count min(_time) as firstTime max(_time) as lastTime by clientip useragent uri decoded_field action host
16+
| rename clientip as src, uri as dest_uri
17+
| iplocation src
18+
| fillnull value="N/A"
19+
| `security_content_ctime(firstTime)`
20+
| `security_content_ctime(lastTime)`
21+
| table firstTime, lastTime src, useragent, action, count, Country, Region, City, dest_uri, decoded_field'
22+
how_to_implement: This detection does not require you to ingest any new data. The detection does
23+
require the ability to search the _internal index.
24+
known_false_positives: This search will provide information for investigation and hunting possible abuse of user-supplied XSLT.
25+
There may be false positives and results should individually evaluated. Please evaluate the source IP and useragent responsible
26+
for creating the requests.
27+
references:
28+
- https://advisory.splunk.com/advisories/SVD-2023-1104
29+
cve:
30+
- CVE-2023-46214
31+
tags:
32+
analytic_story:
33+
- Splunk Vulnerabilities
34+
asset_type: endpoint
35+
confidence: 80
36+
impact: 80
37+
message: Potential Remote Code Execution via XLST from $src$ using useragent - $useragent$
38+
mitre_attack_id:
39+
- T1210
40+
observable:
41+
- name: src
42+
type: IP Address
43+
role:
44+
- Attacker
45+
product:
46+
- Splunk Enterprise
47+
- Splunk Enterprise Security
48+
- Splunk Cloud
49+
risk_score: 64
50+
required_fields:
51+
- uri
52+
- clientip
53+
- useragent
54+
- action
55+
- host
56+
security_domain: endpoint
57+
tests:
58+
- name: True Positive Test
59+
attack_data:
60+
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1210/splunk/splunk_rce_via_user_xslt_splunkd_ui_access.log
61+
source: /opt/splunk/var/log/splunk/splunkd_ui_access.log
62+
sourcetype: splunkd_ui_access
63+
custom_index: _internal

detections/application/splunk_risky_command_abuse_disclosed_february_2023.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ tags:
3636
- CVE-2023-22940
3737
- CVE-2023-40598
3838
- CVE-2023-40598
39+
- CVE-2023-46214
3940
impact: 50
4041
message: Use of risky splunk command $splunk_risky_command$ detected by $user$
4142
mitre_attack_id:

dist/DA-ESS-ContentUpdate/default/analyticstories.conf

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#############
22
# Automatically generated by generator.py in splunk/security_content
3-
# On Date: 2023-11-16T22:15:55 UTC
3+
# On Date: 2023-11-22T22:53:13 UTC
44
# Author: Splunk Threat Research Team - Splunk
55
66
#############
@@ -309,7 +309,7 @@ providing_technologies = null
309309
type = detection
310310
asset_type = endpoint
311311
confidence = medium
312-
explanation = This search provides information to investigate possible remote code execution exploitation via user-supplied Extensible Stylesheet Language Transformations (XSLT), affecting Splunk versions 9.1.x. Exploitation of this vulnerability by attackers requires that the Splunk App for Lookup File Editing is, or was, installed.
312+
explanation = This search provides information to investigate possible remote code execution exploitation via user-supplied Extensible Stylesheet Language Transformations (XSLT), affecting Splunk versions 9.1.x.
313313
how_to_implement = Because there is no way to detect the payload, this search only provides the ability to monitor the creation of lookups which are the base of this exploit. An operator must then investigate suspicious lookups. This search requires ability to perform REST queries. Note that if the Splunk App for Lookup File Editing is not, or was not, installed in the Splunk environment then it is not necessary to run the search as the enviornment was not vulnerable.
314314
annotations = {"cis20": ["CIS 10"], "kill_chain_phases": ["Exploitation"], "mitre_attack": ["T1210"], "nist": ["DE.AE"]}
315315
known_false_positives = This search will provide information for investigation and hunting of lookup creation via user-supplied XSLT which may be indications of possible exploitation. There will be false positives as it is not possible to detect the payload executed via this exploit.
@@ -595,6 +595,16 @@ annotations = {"cis20": ["CIS 10"], "kill_chain_phases": ["Exploitation"], "mitr
595595
known_false_positives = This detection does not require you to ingest any new data. The detection does require the ability to search the _internal index. Focus of this search is "uri_path=/servicesNS/nobody/splunk_secure_gateway/storage/collections/data/mobile_alerts*" which is the injection point.
596596
providing_technologies = null
597597

598+
[savedsearch://ESCU - Splunk RCE via User XSLT - Rule]
599+
type = detection
600+
asset_type = endpoint
601+
confidence = medium
602+
explanation = This search provides information to investigate possible remote code execution exploitation via user-supplied Extensible Stylesheet Language Transformations (XSLT), affecting Splunk versions 9.1.x.
603+
how_to_implement = This detection does not require you to ingest any new data. The detection does require the ability to search the _internal index.
604+
annotations = {"cis20": ["CIS 10"], "kill_chain_phases": ["Exploitation"], "mitre_attack": ["T1210"], "nist": ["DE.AE"]}
605+
known_false_positives = This search will provide information for investigation and hunting possible abuse of user-supplied XSLT. There may be false positives and results should individually evaluated. Please evaluate the source IP and useragent responsible for creating the requests.
606+
providing_technologies = null
607+
598608
[savedsearch://ESCU - Splunk Reflected XSS in the templates lists radio - Rule]
599609
type = detection
600610
asset_type = Endpoint
@@ -16511,7 +16521,7 @@ version = 1
1651116521
references = ["https://www.splunk.com/en_us/product-security/announcements.html"]
1651216522
maintainers = [{"company": "Splunk", "email": "-", "name": "Lou Stella"}]
1651316523
spec_version = 3
16514-
searches = ["ESCU - Detect Risky SPL using Pretrained ML Model - Rule", "ESCU - Path traversal SPL injection - Rule", "ESCU - Splunk Absolute Path Traversal Using runshellscript - Rule", "ESCU - Splunk Account Discovery Drilldown Dashboard Disclosure - Rule", "ESCU - Splunk App for Lookup File Editing RCE via User XSLT - Rule", "ESCU - Splunk Code Injection via custom dashboard leading to RCE - Rule", "ESCU - Splunk Command and Scripting Interpreter Delete Usage - Rule", "ESCU - Splunk Command and Scripting Interpreter Risky Commands - Rule", "ESCU - Splunk Command and Scripting Interpreter Risky SPL MLTK - Rule", "ESCU - Splunk csrf in the ssg kvstore client endpoint - Rule", "ESCU - Splunk Data exfiltration from Analytics Workspace using sid query - Rule", "ESCU - Splunk Digital Certificates Infrastructure Version - Rule", "ESCU - Splunk Digital Certificates Lack of Encryption - Rule", "ESCU - Splunk DoS Using Malformed SAML Request - Rule", "ESCU - Splunk DOS Via Dump SPL Command - Rule", "ESCU - Splunk DoS via Malformed S2S Request - Rule", "ESCU - Splunk DOS via printf search function - Rule", "ESCU - Splunk Edit User Privilege Escalation - Rule", "ESCU - Splunk Endpoint Denial of Service DoS Zip Bomb - Rule", "ESCU - Splunk HTTP Response Splitting Via Rest SPL Command - Rule", "ESCU - Splunk Improperly Formatted Parameter Crashes splunkd - Rule", "ESCU - Splunk list all nonstandard admin accounts - Rule", "ESCU - Splunk Low Privilege User Can View Hashed Splunk Password - Rule", "ESCU - Splunk Path Traversal In Splunk App For Lookup File Edit - Rule", "ESCU - Persistent XSS in RapidDiag through User Interface Views - Rule", "ESCU - Splunk Persistent XSS Via URL Validation Bypass W Dashboard - Rule", "ESCU - Splunk Process Injection Forwarder Bundle Downloads - Rule", "ESCU - Splunk Protocol Impersonation Weak Encryption Configuration - Rule", "ESCU - Splunk protocol impersonation weak encryption selfsigned - Rule", "ESCU - Splunk protocol impersonation weak encryption simplerequest - Rule", "ESCU - Splunk RBAC Bypass On Indexing Preview REST Endpoint - Rule", "ESCU - Splunk RCE via Serialized Session Payload - Rule", "ESCU - Splunk RCE via Splunk Secure Gateway Splunk Mobile alerts feature - Rule", "ESCU - Splunk Reflected XSS in the templates lists radio - Rule", "ESCU - Splunk Reflected XSS on App Search Table Endpoint - Rule", "ESCU - Splunk risky Command Abuse disclosed february 2023 - Rule", "ESCU - Splunk Stored XSS via Data Model objectName field - Rule", "ESCU - Splunk Unauthenticated Log Injection Web Service Log - Rule", "ESCU - Splunk unnecessary file extensions allowed by lookup table uploads - Rule", "ESCU - Splunk User Enumeration Attempt - Rule", "ESCU - Splunk XSS in Highlighted JSON Events - Rule", "ESCU - Splunk XSS in Monitoring Console - Rule", "ESCU - Splunk XSS in Save table dialog header in search page - Rule", "ESCU - Splunk XSS via View - Rule", "ESCU - Open Redirect in Splunk Web - Rule", "ESCU - Splunk Enterprise Information Disclosure - Rule", "ESCU - Splunk Identified SSL TLS Certificates - Rule"]
16524+
searches = ["ESCU - Detect Risky SPL using Pretrained ML Model - Rule", "ESCU - Path traversal SPL injection - Rule", "ESCU - Splunk Absolute Path Traversal Using runshellscript - Rule", "ESCU - Splunk Account Discovery Drilldown Dashboard Disclosure - Rule", "ESCU - Splunk App for Lookup File Editing RCE via User XSLT - Rule", "ESCU - Splunk Code Injection via custom dashboard leading to RCE - Rule", "ESCU - Splunk Command and Scripting Interpreter Delete Usage - Rule", "ESCU - Splunk Command and Scripting Interpreter Risky Commands - Rule", "ESCU - Splunk Command and Scripting Interpreter Risky SPL MLTK - Rule", "ESCU - Splunk csrf in the ssg kvstore client endpoint - Rule", "ESCU - Splunk Data exfiltration from Analytics Workspace using sid query - Rule", "ESCU - Splunk Digital Certificates Infrastructure Version - Rule", "ESCU - Splunk Digital Certificates Lack of Encryption - Rule", "ESCU - Splunk DoS Using Malformed SAML Request - Rule", "ESCU - Splunk DOS Via Dump SPL Command - Rule", "ESCU - Splunk DoS via Malformed S2S Request - Rule", "ESCU - Splunk DOS via printf search function - Rule", "ESCU - Splunk Edit User Privilege Escalation - Rule", "ESCU - Splunk Endpoint Denial of Service DoS Zip Bomb - Rule", "ESCU - Splunk HTTP Response Splitting Via Rest SPL Command - Rule", "ESCU - Splunk Improperly Formatted Parameter Crashes splunkd - Rule", "ESCU - Splunk list all nonstandard admin accounts - Rule", "ESCU - Splunk Low Privilege User Can View Hashed Splunk Password - Rule", "ESCU - Splunk Path Traversal In Splunk App For Lookup File Edit - Rule", "ESCU - Persistent XSS in RapidDiag through User Interface Views - Rule", "ESCU - Splunk Persistent XSS Via URL Validation Bypass W Dashboard - Rule", "ESCU - Splunk Process Injection Forwarder Bundle Downloads - Rule", "ESCU - Splunk Protocol Impersonation Weak Encryption Configuration - Rule", "ESCU - Splunk protocol impersonation weak encryption selfsigned - Rule", "ESCU - Splunk protocol impersonation weak encryption simplerequest - Rule", "ESCU - Splunk RBAC Bypass On Indexing Preview REST Endpoint - Rule", "ESCU - Splunk RCE via Serialized Session Payload - Rule", "ESCU - Splunk RCE via Splunk Secure Gateway Splunk Mobile alerts feature - Rule", "ESCU - Splunk RCE via User XSLT - Rule", "ESCU - Splunk Reflected XSS in the templates lists radio - Rule", "ESCU - Splunk Reflected XSS on App Search Table Endpoint - Rule", "ESCU - Splunk risky Command Abuse disclosed february 2023 - Rule", "ESCU - Splunk Stored XSS via Data Model objectName field - Rule", "ESCU - Splunk Unauthenticated Log Injection Web Service Log - Rule", "ESCU - Splunk unnecessary file extensions allowed by lookup table uploads - Rule", "ESCU - Splunk User Enumeration Attempt - Rule", "ESCU - Splunk XSS in Highlighted JSON Events - Rule", "ESCU - Splunk XSS in Monitoring Console - Rule", "ESCU - Splunk XSS in Save table dialog header in search page - Rule", "ESCU - Splunk XSS via View - Rule", "ESCU - Open Redirect in Splunk Web - Rule", "ESCU - Splunk Enterprise Information Disclosure - Rule", "ESCU - Splunk Identified SSL TLS Certificates - Rule"]
1651516525
description = Keeping your Splunk Enterprise deployment up to date is critical and will help you reduce the risk associated with vulnerabilities in the product.
1651616526
narrative = This analytic story includes detections that focus on attacker behavior targeted at your Splunk environment directly.
1651716527

dist/DA-ESS-ContentUpdate/default/app.conf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#############
22
# Automatically generated by generator.py in splunk/security_content
3-
# On Date: 2023-11-16T22:15:55 UTC
3+
# On Date: 2023-11-22T22:53:13 UTC
44
# Author: Splunk Threat Research Team - Splunk
55
66
#############
@@ -10,7 +10,7 @@
1010
is_configured = false
1111
state = enabled
1212
state_change_requires_restart = false
13-
build = 20231116221053
13+
build = 20231122225106
1414

1515
[triggers]
1616
reload.analytic_stories = simple

dist/DA-ESS-ContentUpdate/default/collections.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#############
22
# Automatically generated by generator.py in splunk/security_content
3-
# On Date: 2023-11-16T22:15:55 UTC
3+
# On Date: 2023-11-22T22:53:13 UTC
44
# Author: Splunk Threat Research Team - Splunk
55
66
#############

dist/DA-ESS-ContentUpdate/default/content-version.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#############
22
# Automatically generated by generator.py in splunk/security_content
3-
# On Date: 2023-11-16T22:15:55 UTC
3+
# On Date: 2023-11-22T22:53:13 UTC
44
# Author: Splunk Threat Research Team - Splunk
55
66
#############

dist/DA-ESS-ContentUpdate/default/es_investigations.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#############
22
# Automatically generated by generator.py in splunk/security_content
3-
# On Date: 2023-11-16T22:15:55 UTC
3+
# On Date: 2023-11-22T22:53:13 UTC
44
# Author: Splunk Threat Research Team - Splunk
55
66
#############

dist/DA-ESS-ContentUpdate/default/macros.conf

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#############
22
# Automatically generated by generator.py in splunk/security_content
3-
# On Date: 2023-11-16T22:15:55 UTC
3+
# On Date: 2023-11-22T22:53:13 UTC
44
# Author: Splunk Threat Research Team - Splunk
55
66
#############
@@ -233,6 +233,10 @@ description = Update this macro to limit the output results to filter out false
233233
definition = search *
234234
description = Update this macro to limit the output results to filter out false positives.
235235

236+
[splunk_rce_via_user_xslt_filter]
237+
definition = search *
238+
description = Update this macro to limit the output results to filter out false positives.
239+
236240
[splunk_reflected_xss_in_the_templates_lists_radio_filter]
237241
definition = search *
238242
description = Update this macro to limit the output results to filter out false positives.

0 commit comments

Comments
 (0)