Prometheus est un système de collecte de métriques et d'alerte, et sa propriété de sécurité déterminante est qu'il est livré sans aucune authentification : le serveur Prometheus, les exporteurs qu'il collecte (node_exporter, blackbox_exporter et bien d'autres), la Pushgateway et Alertmanager exposent tous ouvertement leurs interfaces HTTP à moins que quelque chose d'externe ne les restreigne. Cela fait de l'écosystème avant tout une surface de divulgation d'information et de falsification de requête côté serveur plutôt qu'une cible classique d'authentification et de RCE. L'interface du serveur divulgue les cibles de collecte, la configuration de collecte complète (souvent avec des identifiants intégrés) et les drapeaux d'exécution ; ses fonctionnalités de fédération, de lecture/écriture distante et de sonde atteignent des adresses arbitraires depuis le serveur ; et les exporteurs et la Pushgateway divulguent des données d'hôte et fournissent des points de pivot et d'injection. Une pile Prometheus accessible cartographie l'environnement supervisé et atteint les services internes.
# the server and exporters answer openly by default
curl -s http://<target>:9090/api/v1/targets # scrape targets
curl -s http://<target>:9090/api/v1/status/config # full config (may hold secrets)
curl -s http://<target>:9100/metrics | head # node_exporter
Sous-thèmes#
- Interfaces exposées et divulgation : cibles, configuration et secrets.
- SSRF et abus de fédération : atteindre les services internes depuis le serveur.
- Abus des exporteurs et de la Pushgateway : divulgation et injection par les exporteurs.