8089 - Pentesting Splunkd
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Splunk to narzędzie do analizy logów, które odgrywa kluczową rolę w zbieraniu, analizowaniu i wizualizowaniu danych. Chociaż jego pierwotnym celem nie było pełnienie roli SIEM (Zarządzanie Informacjami i Zdarzeniami Bezpieczeństwa), zyskało popularność w dziedzinie monitorowania bezpieczeństwa i analizy biznesowej.
Wdrożenia Splunk są często wykorzystywane do przechowywania wrażliwych danych i mogą stanowić cenne źródło informacji dla potencjalnych atakujących, jeśli uda im się skompromitować system. Domyślny port: 8089
Serwer Splunk web działa domyślnie na porcie 8000.
Wersja próbna Splunk Enterprise przekształca się w wersję darmową po 60 dniach, która nie wymaga uwierzytelnienia. Nie jest rzadkością, że administratorzy systemów instalują wersję próbną Splunk, aby ją przetestować, co jest następnie zapominane. To automatycznie przekształca się w wersję darmową, która nie ma żadnej formy uwierzytelnienia, wprowadzając lukę w zabezpieczeniach w środowisku. Niektóre organizacje mogą zdecydować się na wersję darmową z powodu ograniczeń budżetowych, nie w pełni rozumiejąc konsekwencje braku zarządzania użytkownikami/rolami.
W starszych wersjach Splunk domyślne dane logowania to admin:changeme
, które są wygodnie wyświetlane na stronie logowania.
Jednak najnowsza wersja Splunk ustawia dane logowania podczas procesu instalacji. Jeśli domyślne dane logowania nie działają, warto sprawdzić powszechne słabe hasła, takie jak admin
, Welcome
, Welcome1
, Password123
itp.
Po zalogowaniu się do Splunk możemy przeglądać dane, uruchamiać raporty, tworzyć pulpity nawigacyjne, instalować aplikacje z biblioteki Splunkbase oraz instalować aplikacje niestandardowe. Możesz również uruchamiać kod: Splunk ma wiele sposobów na uruchamianie kodu, takich jak aplikacje Django po stronie serwera, punkty końcowe REST, skrypty wejściowe i skrypty powiadomień. Powszechną metodą uzyskiwania zdalnego wykonania kodu na serwerze Splunk jest użycie skryptowanego wejścia.
Ponadto, ponieważ Splunk może być zainstalowany na hostach Windows lub Linux, można tworzyć skrypty wejściowe do uruchamiania skryptów Bash, PowerShell lub Batch.
Splunk build
Niestandardowa aplikacja może uruchamiać skrypty Python, Batch, Bash lub PowerShell. Zauważ, że Splunk ma zainstalowanego Pythona, więc nawet w systemach Windows będziesz mógł uruchamiać kod Pythona.
Możesz użyć tego pakietu Splunk, aby nam pomóc. Katalog bin
w tym repozytorium zawiera przykłady dla Pythona i PowerShell. Przejdźmy przez to krok po kroku.
Aby to osiągnąć, najpierw musimy stworzyć niestandardową aplikację Splunk, używając następującej struktury katalogów:
Katalog bin
będzie zawierał wszelkie skrypty, które zamierzamy uruchomić (w tym przypadku, PowerShell reverse shell), a domyślny katalog będzie miał nasz plik inputs.conf
. Nasz reverse shell będzie PowerShell one-liner:
Plik inputs.conf informuje Splunk który skrypt uruchomić oraz inne warunki. Tutaj ustawiamy aplikację jako włączoną i informujemy Splunk, aby uruchamiał skrypt co 10 sekund. Interwał jest zawsze w sekundach, a wejście (skrypt) będzie uruchamiane tylko, jeśli to ustawienie jest obecne.
Potrzebujemy pliku .bat
, który uruchomi się, gdy aplikacja zostanie wdrożona i wykona jedną linię PowerShell.
Kolejnym krokiem jest wybranie Install app from file
i przesłanie aplikacji.
Zanim przesłamy złośliwą aplikację niestandardową, uruchommy nasłuchiwacz za pomocą Netcat lub socat.
Na stronie Upload app
, kliknij przeglądaj, wybierz tarball, który stworzyliśmy wcześniej i kliknij Upload
. Jak tylko przesyłamy aplikację, otrzymujemy reverse shell, ponieważ status aplikacji automatycznie zmieni się na Enabled
.
Jeśli mielibyśmy do czynienia z hostem Linux, musielibyśmy edytować skrypt Pythona rev.py
przed stworzeniem tarballa i przesłaniem niestandardowej złośliwej aplikacji. Reszta procesu byłaby taka sama, a my uzyskalibyśmy połączenie reverse shell na naszym nasłuchiwaczu Netcat i moglibyśmy ruszyć do działania.
Na następnej stronie znajdziesz wyjaśnienie, jak ta usługa może być nadużywana do eskalacji uprawnień i uzyskania trwałości:
Splunk LPE and PersistenceUcz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)