8086 - Pentesting InfluxDB
tip
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 馃挰 Discord group or the telegram group or follow us on Twitter 馃惁 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
Informaci贸n B谩sica
InfluxDB es una base de datos de series temporales (TSDB) de c贸digo abierto desarrollada por InfluxData. Las TSDB est谩n optimizadas para almacenar y servir datos de series temporales, que consisten en pares de marca de tiempo y valor. En comparaci贸n con las bases de datos de prop贸sito general, las TSDB ofrecen mejoras significativas en espacio de almacenamiento y rendimiento para conjuntos de datos de series temporales. Emplean algoritmos de compresi贸n especializados y se pueden configurar para eliminar autom谩ticamente datos antiguos. Los 铆ndices de base de datos especializados tambi茅n mejoran el rendimiento de las consultas.
Puerto por defecto: 8086
PORT STATE SERVICE VERSION
8086/tcp open http InfluxDB http admin 1.7.5
Enumeraci贸n
Desde el punto de vista de un pentester, esta es otra base de datos que podr铆a estar almacenando informaci贸n sensible, por lo que es interesante saber c贸mo volcar toda la informaci贸n.
Autenticaci贸n
InfluxDB podr铆a requerir autenticaci贸n o no.
# Try unauthenticated
influx -host 'host name' -port 'port #'
> use _internal
Si recibes un error como este: ERR: unable to parse authentication credentials
significa que est谩 esperando algunas credenciales.
influx 鈥搖sername influx 鈥損assword influx_pass
Hubo una vulnerabilidad en influxdb que permiti贸 eludir la autenticaci贸n: CVE-2019-20933
Enumeraci贸n Manual
La informaci贸n de este ejemplo fue tomada de aqu铆.
Mostrar bases de datos
Las bases de datos encontradas son telegraf
e internal
(encontrar谩s esta 煤ltima en todas partes)
> show databases
name: databases
name
----
telegraf
_internal
Mostrar tablas/mediciones
La documentaci贸n de InfluxDB explica que las mediciones en InfluxDB pueden ser paraleladas con tablas SQL. La nomenclatura de estas mediciones es indicativa de su contenido respectivo, cada una albergando datos relevantes para una entidad particular.
> show measurements
name: measurements
name
----
cpu
disk
diskio
kernel
mem
processes
swap
system
Mostrar claves de columnas/campo
Las claves de campo son como las columnas de la base de datos
> 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 ...]
Volcar Tabla
Y finalmente puedes volcar la tabla haciendo algo como
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
warning
En algunas pruebas con la elusi贸n de autenticaci贸n se observ贸 que el nombre de la tabla necesitaba estar entre comillas dobles, como: select * from "cpu"
Autenticaci贸n Automatizada
msf6 > use auxiliary/scanner/http/influxdb_enum
tip
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 馃挰 Discord group or the telegram group or follow us on Twitter 馃惁 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.