8089 - Pentesting Splunkd
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Log analytics tool used for data gathering, analysis, and visualization
Commonly used in security monitoring and business analytics
Default ports:
Web server: 8000
Splunkd service: 8089
Free Version Exploitation
Trial version automatically converts to free version after 60 days
Free version lacks authentication
Potential security risk if left unmanaged
Administrators may overlook security implications
Credential Weaknesses
Older versions: Default credentials admin:changeme
Newer versions: Credentials set during installation
Potential for weak password use (e.g., admin
, Welcome
, Password123
)
Remote Code Execution Opportunities
Multiple code execution methods:
Server-side Django applications
REST endpoints
Scripted inputs
Alerting scripts
Cross-platform support (Windows/Linux)
Scripted inputs can run:
Bash scripts
PowerShell scripts
Batch scripts
Key Exploitation Potential:
Sensitive data storage
Lack of authentication in free version
Multiple vectors for potential remote code execution
Possibility of leveraging scripted inputs for system compromise
Splunk build
Splunk offers a sophisticated method for remote code execution through custom application deployment, leveraging its cross-platform scripting capabilities. The core exploitation technique revolves around creating a malicious application that can execute reverse shells on both Windows and Linux systems.
A custom application can run Python, Batch, Bash, or PowerShell scripts. Moreover, Splunk comes with Python installed, so even in Windows systems you will be able to run python code.
You can use this example with the bin
containing example for Python and PowerShell. Or you could create your own.
The exploitation process follows a consistent methodology across platforms:
The critical configuration file inputs.conf
enables the script by:
Setting disabled = 0
Configuring a 10-second execution interval
Defining the script's source type
Deployment is straightforward:
Create the malicious application package
Set up a listener (Netcat/socat) on the attacking machine
Upload the application through Splunk's interface
Trigger automatic script execution upon upload
Sample Windows PowerShell reverse shell:
Sample Linux Python reverse shell:
In the following page you can find an explanation how this service can be abused to escalate privileges and obtain persistence:
Splunk LPE and PersistenceLearn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)