Logstash
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Logstash é usado para coletar, transformar e despachar logs através de um sistema conhecido como pipelines. Esses pipelines são compostos por estágios de entrada, filtro e saída. Um aspecto interessante surge quando o Logstash opera em uma máquina comprometida.
Os pipelines são configurados no arquivo /etc/logstash/pipelines.yml, que lista os locais das configurações do pipeline:
Este arquivo revela onde os arquivos .conf, contendo configurações de pipeline, estão localizados. Ao empregar um módulo de saída Elasticsearch, é comum que os pipelines incluam credenciais do Elasticsearch, que frequentemente possuem privilégios extensos devido à necessidade do Logstash de gravar dados no Elasticsearch. Caracteres curinga em caminhos de configuração permitem que o Logstash execute todos os pipelines correspondentes no diretório designado.
Para tentar a escalada de privilégios, primeiro identifique o usuário sob o qual o serviço Logstash está sendo executado, tipicamente o usuário logstash. Certifique-se de atender a um desses critérios:
Possuir acesso de gravação a um arquivo de pipeline .conf ou
O arquivo /etc/logstash/pipelines.yml usa um curinga, e você pode gravar na pasta de destino
Além disso, uma dessas condições deve ser cumprida:
Capacidade de reiniciar o serviço Logstash ou
O arquivo /etc/logstash/logstash.yml tem config.reload.automatic: true definido
Dado um curinga na configuração, criar um arquivo que corresponda a esse curinga permite a execução de comandos. Por exemplo:
Aqui, interval determina a frequência de execução em segundos. No exemplo dado, o comando whoami é executado a cada 120 segundos, com sua saída direcionada para /tmp/output.log.
Com config.reload.automatic: true em /etc/logstash/logstash.yml, o Logstash detectará e aplicará automaticamente novas ou modificações nas configurações do pipeline sem precisar de um reinício. Se não houver um caractere curinga, as modificações ainda podem ser feitas nas configurações existentes, mas é aconselhável ter cautela para evitar interrupções.
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)