ID | Technique | Tactic |
---|---|---|
T1134 | Access Token Manipulation | Defense Evasion |
Detection: Splunk RBAC Bypass On Indexing Preview REST Endpoint
Description
The following analytic identifies unauthorized attempts to use the /services/indexing/preview REST endpoint in Splunk. It detects POST requests to this endpoint by monitoring the _internal index for specific URI patterns. This activity is significant because it indicates a potential RBAC (Role-Based Access Control) bypass, allowing unauthorized users to overwrite search results if they know the search ID (SID) of an existing job. If confirmed malicious, this could lead to data manipulation, unauthorized access to sensitive information, and compromised integrity of search results.
Search
1`splunkda` method="POST" uri="*/services/indexing/preview*"
2| table host clientip status useragent user uri_path
3| `splunk_rbac_bypass_on_indexing_preview_rest_endpoint_filter`
Data Source
Name | Platform | Sourcetype | Source | Supported App |
---|---|---|---|---|
Splunk | Splunk | 'splunkd_ui_access' |
'splunkd_ui_access.log' |
N/A |
Macros Used
Name | Value |
---|---|
splunkda | index=_internal sourcetype=splunkd_access |
splunk_rbac_bypass_on_indexing_preview_rest_endpoint_filter | search * |
splunk_rbac_bypass_on_indexing_preview_rest_endpoint_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 ingestion. It requires the ability to search _internal index.
Known False Positives
This is a hunting search which provides verbose results against this endpoint. Operator must consider things such as IP address, useragent and user(specially low privelege) and host to investigate possible attack.
Associated Analytic Story
Risk Based Analytics (RBA)
Risk Message | Risk Score | Impact | Confidence |
---|---|---|---|
Review $clientip$ access to indexing preview endpoint from low privilege user | 15 | 30 | 50 |
References
Detection Testing
Test Type | Status | Dataset | Source | Sourcetype |
---|---|---|---|---|
Validation | ✅ Passing | N/A | N/A | N/A |
Unit | ✅ Passing | Dataset | splunkd_access.log |
splunkd_access |
Integration | ✅ Passing | Dataset | splunkd_access.log |
splunkd_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