mirror of
https://github.com/carlospolop/hacktricks
synced 2025-01-11 04:38:53 +00:00
146 lines
8.9 KiB
Markdown
146 lines
8.9 KiB
Markdown
# 8086 - Pentesting InfluxDB
|
||
|
||
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
|
||
|
||
\
|
||
Use [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) para construir e automatizar facilmente fluxos de trabalho com as ferramentas comunitárias mais avançadas do mundo.\
|
||
Acesse hoje:
|
||
|
||
{% 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>
|
||
|
||
* Você trabalha em uma **empresa de cibersegurança**? Você quer ver sua **empresa anunciada no HackTricks**? Ou você quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||
* Descubra [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
|
||
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||
* **Compartilhe suas técnicas de hacking enviando PRs para o [repositório hacktricks](https://github.com/carlospolop/hacktricks) e [repositório hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
||
|
||
</details>
|
||
|
||
## Informações Básicas
|
||
|
||
**InfluxDB** é um banco de dados de séries temporais (TSDB) de código aberto desenvolvido pela empresa InfluxData.
|
||
|
||
Um banco de dados de séries temporais (TSDB) é um sistema de software otimizado para armazenar e servir séries temporais por meio de pares associados de tempo(s) e valor(es).
|
||
|
||
Conjuntos de dados de séries temporais são relativamente grandes e uniformes em comparação com outros conjuntos de dados, geralmente sendo compostos por um carimbo de data/hora e dados associados. Conjuntos de dados de séries temporais também podem ter menos relacionamentos entre entradas de dados em tabelas diferentes e não requerem armazenamento indefinido de entradas. As propriedades únicas dos conjuntos de dados de séries temporais significam que os bancos de dados de séries temporais podem fornecer melhorias significativas no espaço de armazenamento e desempenho em relação aos bancos de dados de propósito geral. Por exemplo, devido à uniformidade dos dados de séries temporais, algoritmos de compressão especializados podem fornecer melhorias em relação a algoritmos de compressão regulares projetados para trabalhar com dados menos uniformes. Os bancos de dados de séries temporais também podem ser configurados para excluir regularmente dados antigos, ao contrário dos bancos de dados regulares, que são projetados para armazenar dados indefinidamente. Índices de banco de dados especiais também podem fornecer melhorias no desempenho de consultas. (De [aqui](https://en.wikipedia.org/wiki/Time\_series\_database)).
|
||
|
||
**Porta padrão**: 8086
|
||
```
|
||
PORT STATE SERVICE VERSION
|
||
8086/tcp open http InfluxDB http admin 1.7.5
|
||
```
|
||
## Enumeração
|
||
|
||
Do ponto de vista de um pentester, este é outro banco de dados que pode estar armazenando informações sensíveis, então é interessante saber como extrair todas as informações.
|
||
|
||
### Autenticação
|
||
|
||
O InfluxDB pode exigir autenticação ou não.
|
||
```bash
|
||
# Try unauthenticated
|
||
influx -host 'host name' -port 'port #'
|
||
> use _internal
|
||
```
|
||
Se você **receber um erro como** este: `ERR: não é possível analisar as credenciais de autenticação`, significa que ele está **esperando algumas credenciais**.
|
||
```
|
||
influx –username influx –password influx_pass
|
||
```
|
||
Havia uma vulnerabilidade no influxdb que permitia contornar a autenticação: [**CVE-2019-20933**](https://github.com/LorenzoTullini/InfluxDB-Exploit-CVE-2019-20933)
|
||
|
||
### Enumeração Manual
|
||
|
||
As informações deste exemplo foram retiradas [**aqui**](https://oznetnerd.com/2017/06/11/getting-know-influxdb/).
|
||
|
||
#### Mostrar bancos de dados
|
||
|
||
Os bancos de dados encontrados são _telegraf_ e _\_internal_ (você encontrará este em todos os lugares)
|
||
```bash
|
||
> show databases
|
||
name: databases
|
||
name
|
||
----
|
||
telegraf
|
||
_internal
|
||
```
|
||
#### Mostrar tabelas/medições
|
||
|
||
Conforme explica a [**documentação do InfluxDB**](https://docs.influxdata.com/influxdb/v1.2/introduction/getting\_started/), as **medições** do SQL podem ser consideradas como tabelas do SQL. Como os nomes das **medições** acima sugerem, cada uma contém informações que se referem a uma entidade específica.
|
||
```bash
|
||
> show measurements
|
||
name: measurements
|
||
name
|
||
----
|
||
cpu
|
||
disk
|
||
diskio
|
||
kernel
|
||
mem
|
||
processes
|
||
swap
|
||
system
|
||
```
|
||
#### Mostrar colunas/chaves de campo
|
||
|
||
As chaves de campo são como as **colunas** do banco de dados.
|
||
```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 ...]
|
||
```
|
||
#### Despejar Tabela
|
||
|
||
E finalmente você pode **despejar a tabela** fazendo 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" %}
|
||
Durante alguns testes com a bypass de autenticação, foi observado que o nome da tabela precisa estar entre aspas duplas, como: `select * from "cpu"`
|
||
{% endhint %}
|
||
|
||
### Autenticação 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>
|
||
|
||
* Você trabalha em uma **empresa de segurança cibernética**? Você quer ver sua **empresa anunciada no HackTricks**? ou você quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
|
||
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||
* **Compartilhe seus truques de hacking enviando PRs para o [repositório hacktricks](https://github.com/carlospolop/hacktricks) e [repositório hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
||
|
||
</details>
|
||
|
||
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
|
||
|
||
\
|
||
Use [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) para construir e **automatizar fluxos de trabalho** com facilidade, utilizando as ferramentas comunitárias mais avançadas do mundo.\
|
||
Obtenha acesso hoje:
|
||
|
||
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|