tip
Aprende y practica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apoya a HackTricks
- Revisa los planes de suscripci贸n!
- 脷nete al 馃挰 grupo de Discord o al grupo de telegram o s铆guenos en Twitter 馃惁 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a HackTricks y HackTricks Cloud repos de github.
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 que Logstash ejecute todos los pipelines coincidentes 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 .conf de pipeline 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 o modificadas configuraciones de pipeline sin necesidad de reiniciar. Si no hay un comod铆n, a煤n se pueden hacer modificaciones a las configuraciones existentes, pero se aconseja tener precauci贸n para evitar interrupciones.
References
tip
Aprende y practica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apoya a HackTricks
- Revisa los planes de suscripci贸n!
- 脷nete al 馃挰 grupo de Discord o al grupo de telegram o s铆guenos en Twitter 馃惁 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a HackTricks y HackTricks Cloud repos de github.