mirror of
https://github.com/carlospolop/hacktricks
synced 2024-12-22 19:13:39 +00:00
145 lines
9.1 KiB
Markdown
145 lines
9.1 KiB
Markdown
# 8086 - Pentesting InfluxDB
|
||
|
||
![](<../.gitbook/assets/image (9) (1) (2).png>)
|
||
|
||
Utilisez [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) pour construire et automatiser facilement des flux de travail alimentés par les outils communautaires les plus avancés au monde.\
|
||
Obtenez l'accès aujourd'hui :
|
||
|
||
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
||
|
||
<details>
|
||
|
||
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
|
||
|
||
* Travaillez-vous dans une entreprise de **cybersécurité** ? Voulez-vous voir votre entreprise annoncée dans HackTricks ? ou voulez-vous avoir accès à la **dernière version de PEASS ou télécharger HackTricks en PDF** ? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
|
||
* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||
* **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||
* **Partagez vos astuces de piratage en soumettant des PR au [dépôt hacktricks](https://github.com/carlospolop/hacktricks) et au [dépôt hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
||
|
||
</details>
|
||
|
||
## Informations de base
|
||
|
||
**InfluxDB** est une base de données de séries chronologiques open-source (TSDB) développée par la société InfluxData.
|
||
|
||
Une base de données de séries chronologiques (TSDB) est un système logiciel optimisé pour stocker et servir des séries chronologiques à travers des paires associées de temps et de valeur.
|
||
|
||
Les ensembles de données de séries chronologiques sont relativement grands et uniformes par rapport à d'autres ensembles de données, étant généralement composés d'un horodatage et de données associées. Les ensembles de données de séries chronologiques 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 chronologiques signifient que les bases de données de séries chronologiques peuvent fournir des améliorations significatives de l'espace de stockage et des performances par rapport aux bases de données à usage général. Par exemple, en raison de l'uniformité des données de séries chronologiques, des algorithmes de compression spécialisés peuvent fournir des améliorations par rapport aux algorithmes de compression réguliers conçus pour fonctionner sur des données moins uniformes. Les bases de données de séries chronologiques 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 les données indéfiniment. Des index de base de données spéciaux peuvent également fournir des améliorations de la performance des requêtes. (De [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, il est donc intéressant de savoir comment extraire toutes les informations.
|
||
|
||
### Authentification
|
||
|
||
InfluxDB peut nécessiter une authentification ou non.
|
||
```bash
|
||
# Try unauthenticated
|
||
influx -host 'host name' -port 'port #'
|
||
> use _internal
|
||
```
|
||
Si vous obtenez une erreur comme celle-ci : `ERR: impossible d'analyser les informations d'identification d'authentification`, cela signifie qu'il attend des informations d'identification.
|
||
```
|
||
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 cette dernière partout).
|
||
```bash
|
||
> show databases
|
||
name: databases
|
||
name
|
||
----
|
||
telegraf
|
||
_internal
|
||
```
|
||
#### Afficher les tables/mesures
|
||
|
||
Comme l'explique la [**documentation InfluxDB**](https://docs.influxdata.com/influxdb/v1.2/introduction/getting\_started/), les **mesures** SQL peuvent être considérées comme des tables SQL. Comme les noms de **mesures** 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 ...]
|
||
```
|
||
#### Dump de Table
|
||
|
||
Et enfin, vous pouvez **dump 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 de contournement de l'authentification, il a été noté que le nom de la table devait être entre guillemets doubles comme ceci: `select * from "cpu"`
|
||
{% endhint %}
|
||
|
||
### Authentification Automatisée
|
||
```bash
|
||
msf6 > use auxiliary/scanner/http/influxdb_enum
|
||
```
|
||
<details>
|
||
|
||
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
|
||
|
||
* Travaillez-vous dans une entreprise de **cybersécurité** ? Voulez-vous voir votre **entreprise annoncée dans HackTricks** ? ou voulez-vous avoir accès à la **dernière version de PEASS ou télécharger HackTricks en PDF** ? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
|
||
* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||
* **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) **groupe Discord** ou le [**groupe telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||
* **Partagez vos astuces de piratage en soumettant des PR au [dépôt hacktricks](https://github.com/carlospolop/hacktricks) et au [dépôt hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
||
|
||
</details>
|
||
|
||
![](<../.gitbook/assets/image (9) (1) (2).png>)
|
||
|
||
\
|
||
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 au monde.\
|
||
Obtenez l'accès aujourd'hui :
|
||
|
||
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|