tip

Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

Logstash

Logstash se utiliza para reunir, transformar y despachar registros a trav茅s de un sistema conocido como pipelines. Estos pipelines se componen de etapas de entrada, filtro y salida. Un aspecto interesante surge cuando Logstash opera en una m谩quina comprometida.

Configuraci贸n del Pipeline

Los pipelines se configuran en el archivo /etc/logstash/pipelines.yml, que enumera las ubicaciones de las configuraciones del 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

Este archivo revela d贸nde se encuentran los archivos .conf, que contienen configuraciones de pipeline. Al emplear un m贸dulo de salida de Elasticsearch, es com煤n que los pipelines incluyan credenciales de Elasticsearch, que a menudo poseen amplios privilegios debido a la necesidad de Logstash de escribir datos en Elasticsearch. Los comodines en las rutas de configuraci贸n permiten a Logstash ejecutar todos los pipelines que coincidan en el directorio designado.

Escalaci贸n de Privilegios a trav茅s de Pipelines Escribibles

Para intentar la escalaci贸n de privilegios, primero identifica el usuario bajo el cual se est谩 ejecutando el servicio de Logstash, t铆picamente el usuario logstash. Aseg煤rate de cumplir uno de estos criterios:

  • Poseer acceso de escritura a un archivo de pipeline .conf o
  • El archivo /etc/logstash/pipelines.yml utiliza un comod铆n, y puedes escribir en la carpeta de destino

Adem谩s, una de estas condiciones debe cumplirse:

  • Capacidad para reiniciar el servicio de Logstash o
  • El archivo /etc/logstash/logstash.yml tiene config.reload.automatic: true configurado

Dado un comod铆n en la configuraci贸n, crear un archivo que coincida con este comod铆n permite la ejecuci贸n de comandos. Por ejemplo:

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

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

Aqu铆, interval determina la frecuencia de ejecuci贸n en segundos. En el ejemplo dado, el comando whoami se ejecuta cada 120 segundos, con su salida dirigida a /tmp/output.log.

Con config.reload.automatic: true en /etc/logstash/logstash.yml, Logstash detectar谩 y aplicar谩 autom谩ticamente nuevas configuraciones de pipeline o modificaciones sin necesidad de reiniciar. Si no hay un comod铆n, a煤n se pueden hacer modificaciones a las configuraciones existentes, pero se recomienda precauci贸n para evitar interrupciones.

References

tip

Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks