5.2 KiB
Aprende hacking en AWS desde cero hasta experto con htARTE (Experto en Red Team de AWS de HackTricks)!
Otras formas de apoyar a HackTricks:
- Si deseas ver tu empresa anunciada en HackTricks o descargar HackTricks en PDF Consulta los PLANES DE SUSCRIPCIÓN!
- Obtén el oficial PEASS & HackTricks swag
- Descubre La Familia PEASS, nuestra colección exclusiva de NFTs
- Únete al 💬 grupo de Discord o al grupo de telegram o sígueme en Twitter 🐦 @carlospolopm.
- Comparte tus trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud repositorios de github.
Logstash
Logstash se utiliza para recopilar, transformar y enviar registros a través de un sistema conocido como pipelines. Estos pipelines están compuestos por 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 canalización. Al emplear un módulo de salida de Elasticsearch, es común que las canalizaciones incluyan credenciales de Elasticsearch, las cuales suelen poseer 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 todas las canalizaciones coincidentes en el directorio designado.
Escalada de privilegios a través de Canalizaciones Escribibles
Para intentar la escalada de privilegios, primero identifique el usuario bajo el cual se está ejecutando el servicio de Logstash, típicamente el usuario logstash. Asegúrese de cumplir con uno de estos criterios:
- Poseer acceso de escritura a un archivo .conf de canalización o
- El archivo /etc/logstash/pipelines.yml utiliza un comodín y puede escribir en la carpeta de destino
Además, se debe cumplir con una de estas condiciones:
- 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 canalización sin necesidad de reiniciar. Si no hay comodines, aún se pueden realizar modificaciones en las configuraciones existentes, pero se recomienda precaución para evitar interrupciones.
Referencias
Aprende a hackear AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!
Otras formas de apoyar a HackTricks:
- Si deseas ver tu empresa anunciada en HackTricks o descargar HackTricks en PDF Consulta los PLANES DE SUSCRIPCIÓN!
- Obtén el oficial PEASS & HackTricks swag
- Descubre The PEASS Family, nuestra colección exclusiva de NFTs
- Únete al 💬 grupo de Discord o al grupo de telegram o sígueme en Twitter 🐦 @carlospolopm.
- Comparte tus trucos de hacking enviando PRs a los repositorios de HackTricks y HackTricks Cloud.