{% hint style="success" %} Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks * Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! * **Join the** 馃挰 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 馃惁 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %} {% endhint %} {% endhint %} {% endhint %} {% endhint %} ## Logstash 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. ### Konfiguracja Pipeline Pipelines s膮 konfigurowane w pliku **/etc/logstash/pipelines.yml**, kt贸ry wymienia lokalizacje konfiguracji pipeline: ```yaml # Define your pipelines here. Multiple pipelines can be defined. # For details on multiple pipelines, refer to the documentation: # https://www.elastic.co/guide/en/logstash/current/multiple-pipelines.html - pipeline.id: main path.config: "/etc/logstash/conf.d/*.conf" - pipeline.id: example path.config: "/usr/share/logstash/pipeline/1*.conf" pipeline.workers: 6 ``` 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. ### Eskalacja uprawnie艅 za pomoc膮 zapisywalnych potok贸w 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: ```bash input { exec { command => "whoami" interval => 120 } } output { file { path => "/tmp/output.log" codec => rubydebug } } ``` 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艅.