Try in Splunk Security Cloud

Description

The following analytic identifies potential reflected cross-site scripting (XSS) attempts in Splunk versions below 8.1.12, 8.2.9, and 9.0.2. It detects when a query parameter with output_mode=radio is used in a URI, leveraging splunkd_webx logs with status 200 and non-null URI queries. This activity is significant as it can indicate an attempt to exploit a known vulnerability, potentially allowing attackers to execute arbitrary JavaScript in the context of the user's browser. If confirmed malicious, this could lead to unauthorized actions, data theft, or further compromise of the affected Splunk instance.

  • Type: Hunting
  • Product: Splunk Enterprise, Splunk Enterprise Security, Splunk Cloud

  • Last Updated: 2024-05-23
  • Author: Rod Soto, Chase Franklin
  • ID: d532d105-c63f-4049-a8c4-e249127ca425

Annotations

ATT&CK

ATT&CK

ID Technique Tactic
T1189 Drive-by Compromise Initial Access
Kill Chain Phase
  • Delivery
NIST
  • DE.AE
CIS20
  • CIS 10
CVE
1
2
3
`splunkd_webx` user=admin status=200 uri=*/lists/entities/x/ui/views* uri_query!=null 
| stats count earliest(_time) as event_time values(status) as status values(clientip) as clientip by index, sourcetype, _time, host, user, uri 
| `splunk_reflected_xss_in_the_templates_lists_radio_filter`

Macros

The SPL above uses the following Macros:

:information_source: splunk_reflected_xss_in_the_templates_lists_radio_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.

  • host
  • clientip
  • status
  • user
  • uri
  • uri_query
  • uri_path

How To Implement

This vulnerability only affects instances with Splunk Web enabled. This detection does not require you to ingest any new data. The detection does require the ability to search the _internal index.

Known False Positives

This search may produce false positives as it is difficult to pinpoint all possible XSS injection characters in a single search string. Special attention is required to "en-US/list/entities/x/ui/views" which is the vulnerable injection point.

Associated Analytic Story

RBA

Risk Score Impact Confidence Message
25.0 50 50 Potential XSS exploitation against radio template by $user$

:information_source: 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