# 8086 - Pentesting InfluxDB
\ Utilisez [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) pour construire et **automatiser des workflows** avec les outils communautaires **les plus avancés**.\ Accédez-y dès aujourd'hui : {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
Apprenez le hacking AWS de zéro à héros avec htARTE (HackTricks AWS Red Team Expert)! Autres moyens de soutenir HackTricks : * Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)! * Obtenez le [**merchandising officiel PEASS & HackTricks**](https://peass.creator-spring.com) * Découvrez [**La Famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection d'[**NFTs**](https://opensea.io/collection/the-peass-family) exclusifs * **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-moi** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.** * **Partagez vos astuces de hacking en soumettant des PR aux dépôts github** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
## Informations de base **InfluxDB** est une **base de données de séries temporelles** (TSDB) open-source développée par la société InfluxData. Une **base de données de séries temporelles (TSDB)** est un système logiciel optimisé pour stocker et **servir des séries temporelles** à travers des paires associées de temps et de valeurs. Les ensembles de données de séries temporelles sont **relativement grands et uniformes par rapport à d'autres ensembles de données**―généralement composés d'un horodatage et de données associées. Les ensembles de données de séries temporelles peuvent également avoir moins de relations entre les entrées de données dans différentes tables et ne nécessitent pas un stockage indéfini des entrées. Les propriétés uniques des ensembles de données de séries temporelles signifient que les bases de données de séries temporelles peuvent offrir des **améliorations significatives en termes d'espace de stockage et de performance par rapport aux bases de données à usage général**. Par exemple, en raison de l'uniformité des données de séries temporelles, **des algorithmes de compression spécialisés** peuvent offrir des améliorations par rapport aux algorithmes de compression réguliers conçus pour travailler sur des données moins uniformes. Les bases de données de séries temporelles peuvent également être **configurées pour supprimer régulièrement les anciennes données**, contrairement aux bases de données régulières qui sont conçues pour stocker des données indéfiniment. Des indices de base de données spéciaux peuvent également fournir des améliorations dans la performance des requêtes. (Depuis [ici](https://en.wikipedia.org/wiki/Time\_series\_database)). **Port par défaut** : 8086 ``` PORT STATE SERVICE VERSION 8086/tcp open http InfluxDB http admin 1.7.5 ``` ## Énumération Du point de vue d'un pentester, c'est une autre base de données qui pourrait stocker des informations sensibles, donc il est intéressant de savoir comment extraire toutes les infos. ### Authentification InfluxDB peut nécessiter une authentification ou non ```bash # Try unauthenticated influx -host 'host name' -port 'port #' > use _internal ``` Si vous **rencontrez une erreur comme** celle-ci : `ERR: unable to parse authentication credentials`, cela signifie qu'elle **attend des identifiants**. ``` influx –username influx –password influx_pass ``` Il y avait une vulnérabilité dans influxdb qui permettait de contourner l'authentification : [**CVE-2019-20933**](https://github.com/LorenzoTullini/InfluxDB-Exploit-CVE-2019-20933) ### Énumération Manuelle Les informations de cet exemple ont été prises [**ici**](https://oznetnerd.com/2017/06/11/getting-know-influxdb/). #### Afficher les bases de données Les bases de données trouvées sont _telegraf_ et _\_internal_ (vous trouverez celle-ci partout) ```bash > show databases name: databases name ---- telegraf _internal ``` #### Afficher les tables/mesures Comme l'[**documentation InfluxDB**](https://docs.influxdata.com/influxdb/v1.2/introduction/getting_started/) l'explique, les **mesures** SQL peuvent être considérées comme des tables SQL. Comme les noms de **mesure** ci-dessus le suggèrent, chacune contient des informations qui se rapportent à une entité spécifique ```bash > show measurements name: measurements name ---- cpu disk diskio kernel mem processes swap system ``` #### Afficher les colonnes/clés de champ Les clés de champ sont comme les **colonnes** de la base de données ```bash > show field keys name: cpu fieldKey fieldType -------- --------- usage_guest float usage_guest_nice float usage_idle float usage_iowait float name: disk fieldKey fieldType -------- --------- free integer inodes_free integer inodes_total integer inodes_used integer [ ... more keys ...] ``` #### Extraire la Table Et finalement, vous pouvez **extraire la table** en faisant quelque chose comme ```bash select * from cpu name: cpu time cpu host usage_guest usage_guest_nice usage_idle usage_iowait usage_irq usage_nice usage_softirq usage_steal usage_system usage_user ---- --- ---- ----------- ---------------- ---------- ------------ --------- ---------- ------------- ----------- ------------ ---------- 1497018760000000000 cpu-total ubuntu 0 0 99.297893681046 0 0 0 0 0 0.35105315947842414 0.35105315947842414 1497018760000000000 cpu1 ubuntu 0 0 99.69909729188728 0 0 0 0 0 0.20060180541622202 0.10030090270811101 ``` {% hint style="warning" %} Lors de certains tests avec le contournement de l'authentification, il a été noté que le nom de la table devait être entre guillemets doubles comme : `select * from "cpu"` {% endhint %} ### Authentification Automatisée ```bash msf6 > use auxiliary/scanner/http/influxdb_enum ```
Apprenez le piratage AWS de zéro à héros avec htARTE (HackTricks AWS Red Team Expert)! Autres moyens de soutenir HackTricks : * Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)! * Obtenez le [**merchandising officiel PEASS & HackTricks**](https://peass.creator-spring.com) * Découvrez [**La Famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection d'[**NFTs**](https://opensea.io/collection/the-peass-family) exclusifs * **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez**-moi sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.** * **Partagez vos astuces de piratage en soumettant des PR aux dépôts github** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
\ Utilisez [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) pour construire et **automatiser facilement des workflows** alimentés par les outils communautaires **les plus avancés**.\ Accédez-y dès aujourd'hui : {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}