11.-Aplunk-discovery-and-enumeration
1. Discovery/Footprinting
1.1 Nmap Port Scan
Identify
Splunkd httpd
(port 8000/8089).
1.2 Web Interface Access
http://<target_ip>:8000
Default credentials (older versions):
admin:changeme
Common weak passwords:
admin
,Welcome
,Password123
Check for Splunk Free (no authentication).
1.3 Version Detection
Check web interface headers, or API responses.
2. Enumeration
2.1 Splunk Free Check
No login prompt = possible Splunk Free.
2.2 Web Interface Exploration
Data browsing, reports, dashboards.
Installed Splunkbase applications.
2.3 Scripted Inputs (RCE)
Create inputs for Bash, PowerShell, Python.
Python reverse shell example (scripted input):
2.4 REST API (Port 8089)
Enumerate for vulnerabilities.
Use tools like
curl
or Pythonrequests
.Example REST API Enumeration:
2.5 Vulnerability Scanning
Use vulnerability scanners (e.g., Nessus, OpenVAS).
Search CVE databases (NVD, Exploit-DB).
2.6 SSRF
Test for SSRF vulnerabilities.
Example SSRF Exploitation:
2.7 Credential Brute-forcing
Attempt brute forcing Splunk credentials.
Example using
hydra
:
2.8 Splunk Log Extraction (if accessible)
2.9 Session Hijacking (If Cookies Leak)
Capture Splunk session cookies via XSS or MITM.
Use
curl
or browser to replay requests:
2.10 Splunk Forwarder Abuse
If compromised, use forwarders to send logs elsewhere or execute scripts.
Modify
inputs.conf
to insert a reverse shell payload.
3. Key Points
Splunk often runs as root/SYSTEM.
Compromise = access to sensitive logs & network data.
Scripted inputs = direct RCE.
REST API = powerful attack vector.
Splunk logs can contain credentials.
Splunk logs can contain network information.
Session cookies can be hijacked for persistence.
Splunk forwarders can be abused for lateral movement.
Last updated