hacktricks/network-services-pentesting/8086-pentesting-influxdb.md

146 lines
7.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 8086 - Test di penetrazione su InfluxDB
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
\
Utilizza [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per creare facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della community più avanzati al mondo.\
Ottieni l'accesso oggi:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
<details>
<summary><strong>Impara l'hacking di AWS da zero a eroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Altri modi per supportare HackTricks:
* Se desideri vedere la tua **azienda pubblicizzata in HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione esclusiva di [**NFT**](https://opensea.io/collection/the-peass-family)
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Condividi i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
## Informazioni di Base
**InfluxDB** è un database **time series (TSDB)** open-source sviluppato da InfluxData. I TSDB sono ottimizzati per memorizzare e servire dati time series, che consistono in coppie timestamp-valore. Rispetto ai database ad uso generale, i TSDB offrono significativi miglioramenti nello **spazio di archiviazione** e nelle **prestazioni** per i dataset time series. Utilizzano algoritmi di compressione specializzati e possono essere configurati per rimuovere automaticamente i dati vecchi. Gli indici del database specializzati migliorano anche le prestazioni delle query.
**Porta predefinita**: 8086
```
PORT STATE SERVICE VERSION
8086/tcp open http InfluxDB http admin 1.7.5
```
## Enumerazione
Da un punto di vista del pentester, questo è un altro database che potrebbe memorizzare informazioni sensibili, quindi è interessante sapere come estrarre tutte le informazioni.
### Autenticazione
InfluxDB potrebbe richiedere autenticazione o no
```bash
# Try unauthenticated
influx -host 'host name' -port 'port #'
> use _internal
```
Se ricevi un errore come questo: `ERR: impossibile analizzare le credenziali di autenticazione`, significa che si aspetta delle credenziali.
```
influx username influx password influx_pass
```
C'era una vulnerabilità in influxdb che permetteva di aggirare l'autenticazione: [**CVE-2019-20933**](https://github.com/LorenzoTullini/InfluxDB-Exploit-CVE-2019-20933)
### Enumerazione Manuale
Le informazioni di questo esempio sono state prese da [**qui**](https://oznetnerd.com/2017/06/11/getting-know-influxdb/).
#### Mostra database
I database trovati sono `telegraf` e `internal` (troverai questo ovunque)
```bash
> show databases
name: databases
name
----
telegraf
_internal
```
#### Mostra tabelle/misure
La [**documentazione di InfluxDB**](https://docs.influxdata.com/influxdb/v1.2/introduction/getting\_started/) spiega che le **misure** in InfluxDB possono essere paragonate alle tabelle SQL. La nomenclatura di queste **misure** è indicativa del relativo contenuto, ognuna contenente dati rilevanti per una particolare entità.
```bash
> show measurements
name: measurements
name
----
cpu
disk
diskio
kernel
mem
processes
swap
system
```
#### Mostra colonne/chiavi dei campi
Le chiavi dei campi sono simili alle **colonne** del database.
```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 della tabella
E infine puoi **effettuare il dump della tabella** facendo qualcosa del genere
```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" %}
Durante alcuni test con il bypass dell'autenticazione è stato notato che il nome della tabella doveva essere racchiuso tra doppi apici come: `select * from "cpu"`
{% endhint %}
### Autenticazione Automatica
```bash
msf6 > use auxiliary/scanner/http/influxdb_enum
```
<details>
<summary><strong>Impara l'hacking AWS da zero a eroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Esperto Red Team AWS di HackTricks)</strong></a><strong>!</strong></summary>
Altri modi per supportare HackTricks:
* Se desideri vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione di esclusivi [**NFT**](https://opensea.io/collection/the-peass-family)
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Condividi i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
\
Utilizza [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per creare e **automatizzare facilmente flussi di lavoro** supportati dagli strumenti comunitari **più avanzati al mondo**.\
Ottieni l'accesso oggi:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}