Logstash
Logstash
Logstash用于通过称为管道的系统收集、转换和分发日志。这些管道由输入、过滤器和输出阶段组成。当Logstash在受损的计算机上运行时,会出现一个有趣的方面。
管道配置
管道在文件**/etc/logstash/pipelines.yml**中进行配置,该文件列出了管道配置的位置:
这个文件揭示了包含管道配置的 .conf 文件的位置。在使用 Elasticsearch 输出模块 时,通常会在 pipelines 中包含 Elasticsearch 凭据,这些凭据通常具有广泛的权限,因为 Logstash 需要将数据写入 Elasticsearch。配置路径中的通配符允许 Logstash 执行指定目录中的所有匹配管道。
通过可写管道进行权限提升
要尝试权限提升,首先要确定 Logstash 服务正在运行的用户,通常是 logstash 用户。确保您满足以下 一个 条件之一:
拥有对管道 .conf 文件的 写入访问权限 或
/etc/logstash/pipelines.yml 文件使用通配符,并且您可以写入目标文件夹
此外,必须满足以下 一个 条件之一:
有能力重新启动 Logstash 服务 或
/etc/logstash/logstash.yml 文件中设置了 config.reload.automatic: true
给定配置中的通配符,创建一个与此通配符匹配的文件允许执行命令。例如:
在这里,interval 确定了以秒为单位的执行频率。在给定的示例中,whoami 命令每 120 秒运行一次,并将其输出重定向到 /tmp/output.log。
在 /etc/logstash/logstash.yml 中设置 config.reload.automatic: true,Logstash 将自动检测并应用新的或修改过的管道配置,无需重新启动。如果没有通配符,仍然可以对现有配置进行修改,但建议谨慎操作以避免中断。
参考资料
最后更新于