hacktricks/linux-hardening/privilege-escalation/logstash.md

87 lines
5.2 KiB
Markdown
Raw Normal View History

2022-04-28 16:01:33 +00:00
<details>
2024-02-11 01:46:25 +00:00
<summary><strong>Naucz się hakować AWS od zera do bohatera z</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-11 01:46:25 +00:00
Inne sposoby wsparcia HackTricks:
2022-04-28 16:01:33 +00:00
2024-02-11 01:46:25 +00:00
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLAN SUBSKRYPCJI**](https://github.com/sponsors/carlospolop)!
* Zdobądź [**oficjalne gadżety PEASS & HackTricks**](https://peass.creator-spring.com)
* Odkryj [**Rodzinę PEASS**](https://opensea.io/collection/the-peass-family), naszą kolekcję ekskluzywnych [**NFT**](https://opensea.io/collection/the-peass-family)
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
2022-04-28 16:01:33 +00:00
</details>
2024-02-07 04:06:18 +00:00
## Logstash
2021-01-28 13:40:17 +00:00
2024-02-11 01:46:25 +00:00
Logstash służy do **zbierania, przekształcania i wysyłania logów** za pomocą systemu znakowanego jako **pipelines**. Te pipelines składają się z etapów **wejścia**, **filtrowania** i **wyjścia**. Interesujący aspekt pojawia się, gdy Logstash działa na skompromitowanej maszynie.
2021-01-28 13:40:17 +00:00
2024-02-11 01:46:25 +00:00
### Konfiguracja pipelines
2021-01-28 13:40:17 +00:00
2024-02-11 01:46:25 +00:00
Pipelines są konfigurowane w pliku **/etc/logstash/pipelines.yml**, który wymienia lokalizacje konfiguracji pipelines:
2024-02-07 04:06:18 +00:00
```yaml
# Define your pipelines here. Multiple pipelines can be defined.
# For details on multiple pipelines, refer to the documentation:
2021-01-28 13:40:17 +00:00
# https://www.elastic.co/guide/en/logstash/current/multiple-pipelines.html
- pipeline.id: main
2024-02-11 01:46:25 +00:00
path.config: "/etc/logstash/conf.d/*.conf"
2021-01-28 13:40:17 +00:00
- pipeline.id: example
2024-02-11 01:46:25 +00:00
path.config: "/usr/share/logstash/pipeline/1*.conf"
pipeline.workers: 6
2021-01-28 13:40:17 +00:00
```
2024-02-11 01:46:25 +00:00
Ten plik ujawnia, gdzie znajdują się pliki **.conf** zawierające konfiguracje potoków. Podczas korzystania z modułu wyjściowego **Elasticsearch**, często w **potokach** znajdują się **dane uwierzytelniające Elasticsearch**, które często posiadają rozszerzone uprawnienia ze względu na potrzebę Logstash do zapisywania danych w Elasticsearch. Znaki wieloznaczne w ścieżkach konfiguracji pozwalają Logstashowi wykonywać wszystkie pasujące potoki w wyznaczonym katalogu.
2021-01-28 13:40:17 +00:00
2024-02-11 01:46:25 +00:00
### Eskalacja uprawnień za pomocą zapisywalnych potoków
2021-01-28 13:40:17 +00:00
2024-02-11 01:46:25 +00:00
Aby spróbować eskalacji uprawnień, najpierw zidentyfikuj użytkownika, na którym działa usługa Logstash, zwykle jest to użytkownik **logstash**. Upewnij się, że spełniasz **jeden** z tych kryteriów:
2021-01-28 13:40:17 +00:00
2024-02-11 01:46:25 +00:00
- Posiadanie **uprawnień do zapisu** pliku **.conf** potoku **lub**
- Plik **/etc/logstash/pipelines.yml** używa znaku wieloznacznego, a ty możesz zapisywać do docelowego folderu
2021-01-28 13:40:17 +00:00
2024-02-11 01:46:25 +00:00
Dodatkowo, musi być spełniony **jeden** z tych warunków:
2021-01-28 13:40:17 +00:00
2024-02-11 01:46:25 +00:00
- Możliwość ponownego uruchomienia usługi Logstash **lub**
- Plik **/etc/logstash/logstash.yml** ma ustawione **config.reload.automatic: true**
2021-01-28 13:40:17 +00:00
2024-02-11 01:46:25 +00:00
Podając znak wieloznaczny w konfiguracji, utworzenie pliku pasującego do tego znaku umożliwia wykonanie polecenia. Na przykład:
2021-01-28 13:40:17 +00:00
```bash
input {
2024-02-11 01:46:25 +00:00
exec {
command => "whoami"
interval => 120
}
2021-01-28 13:40:17 +00:00
}
output {
2024-02-11 01:46:25 +00:00
file {
path => "/tmp/output.log"
codec => rubydebug
}
2021-01-28 13:40:17 +00:00
}
```
2024-02-11 01:46:25 +00:00
Tutaj **interval** określa częstotliwość wykonania w sekundach. W podanym przykładzie polecenie **whoami** uruchamia się co 120 sekund, a jego wynik jest kierowany do **/tmp/output.log**.
2021-01-28 13:40:17 +00:00
2024-02-11 01:46:25 +00:00
Dzięki **config.reload.automatic: true** w pliku **/etc/logstash/logstash.yml**, Logstash automatycznie wykrywa i stosuje nowe lub zmodyfikowane konfiguracje potoku bez konieczności ponownego uruchamiania. Jeśli nie ma symbolu wieloznaczności, nadal można dokonywać modyfikacji istniejących konfiguracji, ale zaleca się ostrożność, aby uniknąć zakłóceń.
2021-01-28 13:40:17 +00:00
2024-02-11 01:46:25 +00:00
## Referencje
2021-01-28 13:40:17 +00:00
* [https://insinuator.net/2021/01/pentesting-the-elk-stack/](https://insinuator.net/2021/01/pentesting-the-elk-stack/)
2022-04-28 16:01:33 +00:00
<details>
2024-02-11 01:46:25 +00:00
<summary><strong>Naucz się hakować AWS od zera do bohatera z</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-11 01:46:25 +00:00
Inne sposoby wsparcia HackTricks:
2022-04-28 16:01:33 +00:00
2024-02-11 01:46:25 +00:00
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLAN SUBSKRYPCJI**](https://github.com/sponsors/carlospolop)!
* Zdobądź [**oficjalne gadżety PEASS & HackTricks**](https://peass.creator-spring.com)
* Odkryj [**Rodzinę PEASS**](https://opensea.io/collection/the-peass-family), naszą kolekcję ekskluzywnych [**NFT**](https://opensea.io/collection/the-peass-family)
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
2022-04-28 16:01:33 +00:00
</details>