Logstash
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)
Logstash jest używany do zbierania, przekształcania i wysyłania logów przez system znany jako pipelines. Te pipelines składają się z etapów input, filter i output. Interesujący aspekt pojawia się, gdy Logstash działa na skompromitowanej maszynie.
Pipelines są konfigurowane w pliku /etc/logstash/pipelines.yml, który wymienia lokalizacje konfiguracji pipeline:
Ten plik ujawnia, gdzie znajdują się pliki .conf, zawierające konfiguracje potoków. Przy użyciu modułu wyjściowego Elasticsearch, powszechnie jest, że potoki zawierają poświadczenia Elasticsearch, które często mają szerokie uprawnienia z powodu potrzeby Logstasha do zapisywania danych w Elasticsearch. Znaki wieloznaczne w ścieżkach konfiguracji pozwalają Logstashowi na wykonanie wszystkich pasujących potoków w wyznaczonym katalogu.
Aby spróbować eskalacji uprawnień, najpierw zidentyfikuj użytkownika, pod którym działa usługa Logstash, zazwyczaj użytkownika logstash. Upewnij się, że spełniasz jedno z tych kryteriów:
Posiadasz dostęp do zapisu do pliku .conf potoku lub
Plik /etc/logstash/pipelines.yml używa znaku wieloznacznego, a ty możesz zapisywać w docelowym folderze
Dodatkowo, jedno z tych warunków musi być spełnione:
Możliwość ponownego uruchomienia usługi Logstash lub
Plik /etc/logstash/logstash.yml ma ustawione config.reload.automatic: true
Mając znak wieloznaczny w konfiguracji, stworzenie pliku, który pasuje do tego znaku, pozwala na wykonanie polecenia. Na przykład:
Tutaj interwał określa częstotliwość wykonywania w sekundach. W podanym przykładzie polecenie whoami jest uruchamiane co 120 sekund, a jego wyjście jest kierowane do /tmp/output.log.
Dzięki config.reload.automatic: true w /etc/logstash/logstash.yml, Logstash automatycznie wykryje i zastosuje nowe lub zmodyfikowane konfiguracje potoków bez potrzeby ponownego uruchamiania. Jeśli nie ma znaku wieloznacznego, nadal można wprowadzać zmiany w istniejących konfiguracjach, ale zaleca się ostrożność, aby uniknąć zakłóceń.