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
- Check the subscription plans!
- Join the 馃挰 Discord group or the telegram group or follow us on Twitter 馃惁 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
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:
# 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:
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
- Check the subscription plans!
- Join the 馃挰 Discord group or the telegram group or follow us on Twitter 馃惁 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.