Logstash
Logstash
Logstash est utilisé pour rassembler, transformer et envoyer des journaux à travers un système appelé pipelines. Ces pipelines sont composés d'étapes d'entrée, de filtre et de sortie. Un aspect intéressant se présente lorsque Logstash fonctionne sur une machine compromise.
Configuration du pipeline
Les pipelines sont configurés dans le fichier /etc/logstash/pipelines.yml, qui répertorie les emplacements des configurations de pipeline:
Ce fichier révèle où se trouvent les fichiers .conf, contenant les configurations de pipeline. Lors de l'utilisation d'un module de sortie Elasticsearch, il est courant que les pipelines incluent des informations d'identification Elasticsearch, qui possèdent souvent des privilèges étendus en raison du besoin de Logstash d'écrire des données dans Elasticsearch. Les jokers dans les chemins de configuration permettent à Logstash d'exécuter tous les pipelines correspondants dans le répertoire désigné.
Élévation de privilèges via les pipelines inscriptibles
Pour tenter une élévation de privilèges, identifiez d'abord l'utilisateur sous lequel le service Logstash est en cours d'exécution, généralement l'utilisateur logstash. Assurez-vous de remplir l'un de ces critères :
Posséder un accès en écriture à un fichier de configuration de pipeline .conf ou
Le fichier /etc/logstash/pipelines.yml utilise un joker, et vous pouvez écrire dans le dossier cible
De plus, l'une de ces conditions doit être remplie :
Capacité à redémarrer le service Logstash ou
Le fichier /etc/logstash/logstash.yml a config.reload.automatic: true défini
Étant donné un joker dans la configuration, la création d'un fichier correspondant à ce joker permet l'exécution de commandes. Par exemple :
Voici, interval détermine la fréquence d'exécution en secondes. Dans l'exemple donné, la commande whoami s'exécute toutes les 120 secondes, avec sa sortie dirigée vers /tmp/output.log.
Avec config.reload.automatic: true dans /etc/logstash/logstash.yml, Logstash détectera et appliquera automatiquement les nouvelles configurations de pipeline modifiées sans nécessiter de redémarrage. En l'absence de joker, des modifications peuvent toujours être apportées aux configurations existantes, mais il est conseillé de faire preuve de prudence pour éviter les perturbations.
Références
Last updated