ID | Technique | Tactic |
---|---|---|
T1189 | Drive-by Compromise | Initial Access |
Detection: 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.
Search
1`splunkd_web` method=GET uri_path="*bootstrap-2.3.1*" file="*.js"
2| table _time clientip uri_path file status
3| `splunk_persistent_xss_via_url_validation_bypass_w_dashboard_filter`
Data Source
Name | Platform | Sourcetype | Source | Supported App |
---|---|---|---|---|
Splunk | Splunk | 'splunkd_ui_access' |
'splunkd_ui_access.log' |
N/A |
Macros Used
Name | Value |
---|---|
splunkd_web | index=_internal sourcetype=splunk_web_access |
splunk_persistent_xss_via_url_validation_bypass_w_dashboard_filter | search * |
splunk_persistent_xss_via_url_validation_bypass_w_dashboard_filter
is an empty macro by default. It allows the user to filter out any results (false positives) without editing the SPL.
Annotations
Default Configuration
This detection is configured by default in Splunk Enterprise Security to run with the following settings:
Setting | Value |
---|---|
Disabled | true |
Cron Schedule | 0 * * * * |
Earliest Time | -70m@m |
Latest Time | -10m@m |
Schedule Window | auto |
Creates Risk Event | False |
Implementation
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
Risk Based Analytics (RBA)
Risk Message | Risk Score | Impact | Confidence |
---|---|---|---|
Attempted access to vulnerable bootstrap file by $clientip$ | 16 | 80 | 20 |
References
Detection Testing
Test Type | Status | Dataset | Source | Sourcetype |
---|---|---|---|---|
Validation | ✅ Passing | N/A | N/A | N/A |
Unit | ✅ Passing | Dataset | /opt/splunk/var/log/splunk/web_access.log |
splunk_web_access |
Integration | ✅ Passing | Dataset | /opt/splunk/var/log/splunk/web_access.log |
splunk_web_access |
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: GitHub | Version: 2