7.1 KiB
8086 - Pentesting InfluxDB
Use Trickest para construir e automatizar fluxos de trabalho facilmente com as ferramentas da comunidade mais avançadas do mundo.
Acesse hoje:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=8086-pentesting-influxdb" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para os repositórios do HackTricks e HackTricks Cloud.
Basic Information
InfluxDB é um banco de dados de séries temporais (TSDB) de código aberto desenvolvido pela InfluxData. Os TSDBs são otimizados para armazenar e servir dados de séries temporais, que consistem em pares de timestamp-valor. Comparado a bancos de dados de uso geral, os TSDBs oferecem melhorias significativas em espaço de armazenamento e desempenho para conjuntos de dados de séries temporais. Eles empregam algoritmos de compressão especializados e podem ser configurados para remover automaticamente dados antigos. Índices de banco de dados especializados também melhoram o desempenho das consultas.
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 despejar todas as informações.
Autenticação
O InfluxDB pode exigir autenticação ou não.
# Try unauthenticated
influx -host 'host name' -port 'port #'
> use _internal
Se você receber um erro como este: ERR: unable to parse authentication credentials
, isso significa que está esperando algumas credenciais.
influx –username influx –password influx_pass
Havia uma vulnerabilidade no influxdb que permitia contornar a autenticação: CVE-2019-20933
Enumeração Manual
As informações deste exemplo foram retiradas de aqui.
Mostrar bancos de dados
Os bancos de dados encontrados são telegraf
e internal
(você encontrará este em todos os lugares)
> show databases
name: databases
name
----
telegraf
_internal
Show tables/measurements
A documentação do InfluxDB explica que medidas no InfluxDB podem ser paralelizadas com tabelas SQL. A nomenclatura dessas medidas é indicativa de seu respectivo conteúdo, cada uma abrigando dados relevantes a uma entidade particular.
> show measurements
name: measurements
name
----
cpu
disk
diskio
kernel
mem
processes
swap
system
Mostrar chaves de colunas/campo
As chaves de campo são como as colunas do banco de dados
> 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 Table
E finalmente você pode dump the table fazendo 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
{% hint style="warning" %}
Em alguns testes com a bypass de autenticação, foi observado que o nome da tabela precisava estar entre aspas duplas, como: select * from "cpu"
{% endhint %}
Autenticação Automatizada
msf6 > use auxiliary/scanner/http/influxdb_enum
{% hint style="success" %}
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Suporte ao HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
Use Trickest para construir e automatizar fluxos de trabalho facilmente, impulsionados pelas ferramentas comunitárias mais avançadas do mundo.
Obtenha Acesso Hoje:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=8086-pentesting-influxdb" %}