Splunk Persistent XSS Via URL Validation Bypass W Dashboard
Description
The following analytic detects attempts to bypass URL validation in Splunk Enterprise versions below 9.0.4, 8.2.10, and 8.1.13 by targeting the vulnerable bootstrap version 2.3.1. It leverages splunkd_web
logs, specifically monitoring GET requests to JavaScript files within the vulnerable bootstrap path. This activity is significant as it can allow a low-privileged user to perform path traversal, potentially accessing restricted and confidential information. If confirmed malicious, this could lead to unauthorized data access and compromise of sensitive information, including targeting admin users.
- Type: Hunting
-
Product: Splunk Enterprise
- Last Updated: 2024-05-20
- Author: Rod Soto
- ID: 8a43558f-a53c-4ee4-86c1-30b1e8ef3606
Annotations
Kill Chain Phase
- Delivery
NIST
- DE.AE
CIS20
- CIS 10
CVE
Search
1
2
3
`splunkd_web` method=GET uri_path="*bootstrap-2.3.1*" file="*.js"
| table _time clientip uri_path file status
| `splunk_persistent_xss_via_url_validation_bypass_w_dashboard_filter`
Macros
The SPL above uses the following Macros:
splunk_persistent_xss_via_url_validation_bypass_w_dashboard_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.
- file
- uri
- clientip
- user
How To Implement
This search does not require additional data to be ingested. This search requires ability to search _internal index. This search helps discover access to vulnerable bootstrap versions.
Known False Positives
This search will produce numerous false positives as it shows ANY accesses to vulnerable bootstrap Javascript files. Accesses to these files occur during normal Splunk usage. To reduce or eliminate false positives, update the a version of Splunk which has addressed the vulnerability.
Associated Analytic Story
RBA
Risk Score | Impact | Confidence | Message |
---|---|---|---|
16.0 | 80 | 20 | Attempted access to vulnerable bootstrap file by $clientip$ |
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