ID | Technique | Tactic |
---|---|---|
T1210 | Exploitation of Remote Services | Lateral Movement |
Detection: Splunk RCE via Splunk Secure Gateway Splunk Mobile alerts feature
Description
The following analytic identifies potential exploitation attempts against the Splunk Secure Gateway App's Mobile Alerts feature in Splunk versions 9.0, 8.2.x, and 8.1.x. It detects suspicious activity by monitoring requests to the mobile alerts endpoint using specific URI paths and query parameters. This activity is significant because an authenticated user could exploit this vulnerability to execute arbitrary operating system commands remotely. If confirmed malicious, this could lead to unauthorized code execution, compromising the integrity and security of the Splunk environment.
Search
1`splunkda` uri_path="/servicesNS/nobody/splunk_secure_gateway/storage/collections/data/mobile_alerts*" sort="notification.created_at:-1"
2| table clientip file host method uri_query sort
3| `splunk_rce_via_splunk_secure_gateway__splunk_mobile_alerts_feature_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_rce_via_splunk_secure_gateway__splunk_mobile_alerts_feature_filter | search * |
splunk_rce_via_splunk_secure_gateway__splunk_mobile_alerts_feature_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 only applies if Splunk Mobile Gateway is deployed in the vulnerable Splunk versions.
Known False Positives
This detection does not require you to ingest any new data. The detection does require the ability to search the _internal index. Focus of this search is "uri_path=/servicesNS/nobody/splunk_secure_gateway/storage/collections/data/mobile_alerts*" which is the injection point.
Associated Analytic Story
Risk Based Analytics (RBA)
Risk Message | Risk Score | Impact | Confidence |
---|---|---|---|
Possible exploitation attempt from $clientip$ | 81 | 90 | 90 |
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/splunkd_access.log |
splunkd_access |
Integration | ✅ Passing | Dataset | /opt/splunk/var/log/splunk/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