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

7.1 KiB
Raw Blame History

8086 - Test di penetrazione su InfluxDB


Utilizza Trickest per creare facilmente e automatizzare flussi di lavoro supportati dagli strumenti della comunità più avanzati al mondo.
Ottieni l'accesso oggi:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

Impara l'hacking di AWS da zero a eroe con htARTE (Esperto Red Team AWS di HackTricks)!

Altri modi per supportare HackTricks:

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 di 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

# 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

Enumerazione Manuale

Le informazioni di questo esempio sono state prese da qui.

Mostra database

I database trovati sono telegraf e internal (questo lo troverai ovunque)

> show databases
name: databases
name
----
telegraf
_internal

Mostra tabelle/misure

La documentazione di InfluxDB 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à.

> show measurements
name: measurements
name
----
cpu
disk
diskio
kernel
mem
processes
swap
system

Mostra colonne/chiavi dei campi

Le chiavi dei campi sono come le colonne del database

> 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:

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

msf6 > use auxiliary/scanner/http/influxdb_enum
Impara l'hacking su AWS da zero a eroe con htARTE (Esperto Red Team AWS di HackTricks)!

Altri modi per supportare HackTricks:


Usa Trickest per costruire facilmente e automatizzare 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" %}