Splunk Reflected XSS on App Search Table Endpoint
Description
The following analytic identifies attempts to exploit a reflected cross-site scripting (XSS) vulnerability on the app search table endpoint in Splunk Enterprise versions below 9.1.1, 9.0.6, and 8.2.12. It detects this activity by analyzing web request logs for specific dataset commands (makeresults
, count
, eval
, baseSPL
) within the splunkd_web
index. This activity is significant because successful exploitation can lead to the execution of arbitrary commands on the Splunk platform, potentially compromising the entire instance. If confirmed malicious, attackers could gain unauthorized access, execute arbitrary code, and manipulate data within the Splunk environment.
- Type: Hunting
-
Product: Splunk Enterprise, Splunk Enterprise Security, Splunk Cloud
- Last Updated: 2024-05-23
- Author: Rod Soto
- ID: 182f9080-4137-4629-94ac-cb1083ac981a
Annotations
Kill Chain Phase
- Delivery
NIST
- DE.AE
CIS20
- CIS 10
CVE
Search
1
2
3
4
5
`splunkd_web` (dataset_commands="*makeresults*" AND dataset_commands="*count*" AND dataset_commands="*eval*" AND dataset_commands="*baseSPL*")
| stats count min(_time) as firstTime max(_time) as lastTime by clientip status user view root uri_path
| `security_content_ctime(firstTime)`
| `security_content_ctime(lastTime)`
| `splunk_reflected_xss_on_app_search_table_endpoint_filter`
Macros
The SPL above uses the following Macros:
splunk_reflected_xss_on_app_search_table_endpoint_filter is a empty macro by default. It allows the user to filter out any results (false positives) without editing the SPL.
Required fields
List of fields required to use this analytic.
- dataset_commands
- clientip
- status
- user
- view
- root
- uri_path
How To Implement
Need access to the internal indexes.
Known False Positives
This search will produce false positives. It is necessary to also look at uri_query parameter to determine the possible malicious intention of inserting makeresults within the uri string.
Associated Analytic Story
RBA
Risk Score | Impact | Confidence | Message |
---|---|---|---|
12.0 | 30 | 40 | Possible XSS attack against from $user$ |
The Risk Score is calculated by the following formula: Risk Score = (Impact * Confidence/100). Initial Confidence and Impact is set by the analytic author.
Reference
Test Dataset
Replay any dataset to Splunk Enterprise by using our replay.py
tool or the UI.
Alternatively you can replay a dataset into a Splunk Attack Range
source | version: 2