5.4 KiB
Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!
Otras formas de apoyar a HackTricks:
- Si quieres ver tu empresa anunciada en HackTricks o descargar HackTricks en PDF, consulta los PLANES DE SUSCRIPCIÓN!
- Consigue el merchandising oficial de PEASS & HackTricks
- Descubre La Familia PEASS, nuestra colección de NFTs exclusivos
- Únete al 💬 grupo de Discord o al grupo de telegram o sigue a Twitter 🐦 @carlospolopm.
- Comparte tus trucos de hacking enviando PRs a los repositorios de github HackTricks y HackTricks Cloud.
Información Básica
Logstash se utiliza para recopilar, transformar y emitir registros. Esto se realiza mediante el uso de pipelines, que contienen módulos de entrada, filtro y salida. El servicio se vuelve interesante cuando se ha comprometido una máquina que está ejecutando Logstash como servicio.
Pipelines
El archivo de configuración del pipeline /etc/logstash/pipelines.yml especifica las ubicaciones de los pipelines activos:
# This file is where you define your pipelines. You can define multiple.
# For more information on multiple pipelines, see 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
Aquí puedes encontrar las rutas a los archivos .conf, que contienen las pipelines configuradas. Si se utiliza el módulo de salida Elasticsearch, es probable que las pipelines contengan credenciales válidas para una instancia de Elasticsearch. Estas credenciales suelen tener más privilegios, ya que Logstash tiene que escribir datos en Elasticsearch. Si se utilizan comodines, Logstash intenta ejecutar todas las pipelines ubicadas en esa carpeta que coincidan con el comodín.
Privesc con pipelines escribibles
Antes de intentar elevar tus propios privilegios, debes verificar qué usuario está ejecutando el servicio de logstash, ya que este será el usuario que controlarás posteriormente. Por defecto, el servicio de logstash se ejecuta con los privilegios del usuario logstash.
Comprueba si tienes uno de los derechos requeridos:
- Tienes permisos de escritura en un archivo .conf de una pipeline o
- /etc/logstash/pipelines.yml contiene un comodín y tienes permiso para escribir en la carpeta especificada
Además, se debe cumplir uno de los siguientes requisitos:
- Eres capaz de reiniciar el servicio de logstash o
- /etc/logstash/logstash.yml contiene la entrada config.reload.automatic: true
Si se especifica un comodín, intenta crear un archivo que coincida con ese comodín. El siguiente contenido puede ser escrito en el archivo para ejecutar comandos:
input {
exec {
command => "whoami"
interval => 120
}
}
output {
file {
path => "/tmp/output.log"
codec => rubydebug
}
}
El intervalo especifica el tiempo en segundos. En este ejemplo, el comando whoami se ejecuta cada 120 segundos. La salida del comando se guarda en /tmp/output.log.
Si /etc/logstash/logstash.yml contiene la entrada config.reload.automatic: true solo tienes que esperar hasta que se ejecute el comando, ya que Logstash reconocerá automáticamente nuevos archivos de configuración de pipeline o cualquier cambio en las configuraciones de pipeline existentes. De lo contrario, inicia de nuevo el servicio de logstash.
Si no se utiliza un comodín, puedes aplicar esos cambios a una configuración de pipeline existente. ¡Asegúrate de no romper nada!
Referencias
Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!
Otras formas de apoyar a HackTricks:
- Si quieres ver a tu empresa anunciada en HackTricks o descargar HackTricks en PDF Consulta los PLANES DE SUSCRIPCIÓN!
- Consigue el merchandising oficial de PEASS & HackTricks
- Descubre La Familia PEASS, nuestra colección de NFTs exclusivos
- Ú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 github HackTricks y HackTricks Cloud.