mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-23 21:24:06 +00:00
147 lines
8.8 KiB
Markdown
147 lines
8.8 KiB
Markdown
|
# 8086 - Pentesting InfluxDB
|
|||
|
|
|||
|
![](<../.gitbook/assets/image (9) (1) (2).png>)
|
|||
|
|
|||
|
\
|
|||
|
Utilice [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) para construir y **automatizar flujos de trabajo** con las herramientas de la comunidad **más avanzadas del mundo**.\
|
|||
|
Obtenga acceso hoy mismo:
|
|||
|
|
|||
|
{% 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>
|
|||
|
|
|||
|
* ¿Trabaja en una **empresa de ciberseguridad**? ¿Quiere ver su **empresa anunciada en HackTricks**? ¿O quiere tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulte los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
|||
|
* Descubra [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
|||
|
* Obtenga el [**swag oficial de PEASS y HackTricks**](https://peass.creator-spring.com)
|
|||
|
* **Únase al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígame** en **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|||
|
* **Comparta sus trucos de hacking enviando PR al [repositorio de hacktricks](https://github.com/carlospolop/hacktricks) y al [repositorio de hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
|||
|
|
|||
|
</details>
|
|||
|
|
|||
|
## Información básica
|
|||
|
|
|||
|
**InfluxDB** es una base de datos de series temporales de código abierto (TSDB) desarrollada por la empresa InfluxData.
|
|||
|
|
|||
|
Una **base de datos de series temporales (TSDB)** es un sistema de software optimizado para almacenar y **servir series temporales** a través de pares asociados de tiempo(s) y valor(es).
|
|||
|
|
|||
|
Los conjuntos de datos de series temporales son **relativamente grandes y uniformes en comparación con otros conjuntos de datos** - generalmente están compuestos por una marca de tiempo y datos asociados. Los conjuntos de datos de series temporales también pueden tener menos relaciones entre las entradas de datos en diferentes tablas y no requieren almacenamiento indefinido de entradas. Las propiedades únicas de los conjuntos de datos de series temporales significan que las bases de datos de series temporales pueden proporcionar **mejoras significativas en el espacio de almacenamiento y el rendimiento en comparación con las bases de datos de propósito general**. Por ejemplo, debido a la uniformidad de los datos de series temporales, los **algoritmos de compresión especializados** pueden proporcionar mejoras sobre los algoritmos de compresión regulares diseñados para trabajar en datos menos uniformes. Las bases de datos de series temporales también se pueden **configurar para eliminar regularmente datos antiguos**, a diferencia de las bases de datos regulares que están diseñadas para almacenar datos indefinidamente. Los índices de bases de datos especiales también pueden proporcionar mejoras en el rendimiento de las consultas. (De [aquí](https://en.wikipedia.org/wiki/Time\_series\_database)).
|
|||
|
|
|||
|
**Puerto predeterminado**: 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 puede requerir autenticación o no.
|
|||
|
```bash
|
|||
|
# Try unauthenticated
|
|||
|
influx -host 'host name' -port 'port #'
|
|||
|
> use _internal
|
|||
|
```
|
|||
|
Si obtienes un error como este: `ERR: unable to parse authentication credentials`, significa que se esperan algunas credenciales.
|
|||
|
```
|
|||
|
influx –username influx –password influx_pass
|
|||
|
```
|
|||
|
Hubo una vulnerabilidad en influxdb que permitió saltarse la autenticación: [**CVE-2019-20933**](https://github.com/LorenzoTullini/InfluxDB-Exploit-CVE-2019-20933)
|
|||
|
|
|||
|
### Enumeración manual
|
|||
|
|
|||
|
La información de este ejemplo fue tomada de [**aquí**](https://oznetnerd.com/2017/06/11/getting-know-influxdb/).
|
|||
|
|
|||
|
#### Mostrar bases de datos
|
|||
|
|
|||
|
Las bases de datos encontradas son _telegraf_ y _\_internal_ (encontrarás esta en todas partes).
|
|||
|
```bash
|
|||
|
> show databases
|
|||
|
name: databases
|
|||
|
name
|
|||
|
----
|
|||
|
telegraf
|
|||
|
_internal
|
|||
|
```
|
|||
|
#### Mostrar tablas/mediciones
|
|||
|
|
|||
|
Como explica la [**documentación de InfluxDB**](https://docs.influxdata.com/influxdb/v1.2/introduction/getting\_started/), las **mediciones** SQL pueden considerarse como tablas SQL. Como sugieren los nombres de **medición** anteriores, cada una contiene información que se refiere a una entidad específica.
|
|||
|
```bash
|
|||
|
> show measurements
|
|||
|
name: measurements
|
|||
|
name
|
|||
|
----
|
|||
|
cpu
|
|||
|
disk
|
|||
|
diskio
|
|||
|
kernel
|
|||
|
mem
|
|||
|
processes
|
|||
|
swap
|
|||
|
system
|
|||
|
```
|
|||
|
#### Mostrar columnas/llaves de campo
|
|||
|
|
|||
|
Las llaves de campo son como las **columnas** de la base de datos.
|
|||
|
```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 ...]
|
|||
|
```
|
|||
|
#### Volcado de tabla
|
|||
|
|
|||
|
Y finalmente puedes **volcar la tabla** haciendo algo como
|
|||
|
```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" %}
|
|||
|
En algunas pruebas con el bypass de autenticación se notó que el nombre de la tabla debía estar entre comillas dobles como: `select * from "cpu"`
|
|||
|
{% endhint %}
|
|||
|
|
|||
|
### Autenticación Automatizada
|
|||
|
```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>
|
|||
|
|
|||
|
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
|||
|
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
|||
|
* Obtén la [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
|||
|
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) **grupo de Discord** o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|||
|
* **Comparte tus trucos de hacking enviando PRs al [repositorio de hacktricks](https://github.com/carlospolop/hacktricks) y al [repositorio de hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
|||
|
|
|||
|
</details>
|
|||
|
|
|||
|
![](<../.gitbook/assets/image (9) (1) (2).png>)
|
|||
|
|
|||
|
\
|
|||
|
Utiliza [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) para construir y **automatizar flujos de trabajo** con las herramientas de la comunidad más avanzadas del mundo.\
|
|||
|
Obtén acceso hoy:
|
|||
|
|
|||
|
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|