hacktricks/linux-hardening/privilege-escalation/logstash.md
2023-07-07 23:42:27 +00:00

7.3 KiB
Raw Blame History

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

基本情報

Logstashはログの収集、変換、出力に使用されます。これは、入力、フィルタ、出力モジュールを含むパイプラインを使用して実現されます。Logstashをサービスとして実行しているマシンを侵害した場合、このサービスは興味深くなります。

パイプライン

パイプラインの設定ファイルである**/etc/logstash/pipelines.yml**は、アクティブなパイプラインの場所を指定します:

# This file is where you define your pipelines. You can define multiple.
# For more information on multiple pipelines, see 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出力モジュールが使用されている場合、パイプラインにはElasticsearchインスタンスの有効な資格情報**が含まれる可能性があります。これらの資格情報は、LogstashがElasticsearchにデータを書き込む必要があるため、通常はより高い特権を持っています。ワイルドカードが使用されている場合、Logstashはワイルドカードに一致するそのフォルダにあるすべてのパイプラインを実行しようとします。

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

自分の特権を昇格させる前に、logstashサービスを実行しているユーザーを確認する必要があります。なぜなら、それがあなたが後で所有するユーザーになるからです。デフォルトでは、logstashサービスはlogstashユーザーの特権で実行されます。

次のいずれかの権限を持っているかどうかを確認してください:

  • パイプラインの**.confファイルに書き込み権限**があるか、
  • /etc/logstash/pipelines.ymlにワイルドカードが含まれており、指定されたフォルダに書き込みが許可されているか

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

  • logstashサービスを再起動できるか、
  • /etc/logstash/logstash.ymlにエントリconfig.reload.automatic: trueが含まれているか

ワイルドカードが指定されている場合は、そのワイルドカードに一致するファイルを作成してみてください。以下の内容をファイルに書き込むと、コマンドを実行できます:

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

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

intervalは秒単位の時間を指定します。この例では、whoamiコマンドが120秒ごとに実行されます。コマンドの出力は**/tmp/output.log**に保存されます。

/etc/logstash/logstash.ymlにエントリconfig.reload.automatic: trueが含まれている場合、コマンドが実行されるまで待つだけで十分です。Logstashは自動的に新しいパイプライン構成ファイルや既存のパイプライン構成の変更を認識します。それ以外の場合は、logstashサービスを再起動してください。

ワイルドカードを使用しない場合、既存のパイプライン構成にこれらの変更を適用することができます。何かを壊さないように注意してください!

参考文献

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥