tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする

Logstash

Logstashはログを収集、変換、配信するために使用されるシステムで、パイプラインとして知られています。これらのパイプラインは入力フィルター、および出力のステージで構成されています。Logstashが侵害されたマシンで動作する際に興味深い側面が現れます。

パイプラインの設定

パイプラインは**/etc/logstash/pipelines.yml**ファイルで設定されており、パイプライン設定の場所がリストされています:

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

このファイルは、パイプライン構成を含む .conf ファイルがどこにあるかを明らかにします。 Elasticsearch output module を使用する際、pipelinesElasticsearch credentials が含まれることが一般的で、これは Logstash が Elasticsearch にデータを書き込む必要があるため、しばしば広範な権限を持っています。構成パスのワイルドカードにより、Logstash は指定されたディレクトリ内のすべての一致するパイプラインを実行できます。

書き込み可能なパイプラインによる特権昇格

特権昇格を試みるには、まず Logstash サービスが実行されているユーザーを特定します。通常は logstash ユーザーです。次の いずれか の条件を満たしていることを確認してください:

  • パイプラインの .conf ファイルに 書き込みアクセス を持っている または
  • /etc/logstash/pipelines.yml ファイルがワイルドカードを使用しており、ターゲットフォルダーに書き込むことができる

さらに、次の いずれか の条件を満たす必要があります:

  • Logstash サービスを再起動する能力 または
  • /etc/logstash/logstash.yml ファイルに config.reload.automatic: true が設定されている

構成にワイルドカードがある場合、このワイルドカードに一致するファイルを作成することでコマンドを実行できます。例えば:

bash
input {
exec {
command => "whoami"
interval => 120
}
}

output {
file {
path => "/tmp/output.log"
codec => rubydebug
}
}

ここで、interval は実行頻度を秒単位で決定します。与えられた例では、whoami コマンドが120秒ごとに実行され、その出力は /tmp/output.log に向けられます。

/etc/logstash/logstash.ymlconfig.reload.automatic: true を設定すると、Logstash は再起動することなく新しいまたは変更されたパイプライン設定を自動的に検出して適用します。ワイルドカードがない場合でも、既存の設定に対して変更を加えることは可能ですが、中断を避けるために注意が必要です。

References

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする