8086 - Pentesting InfluxDB

Koristite Trickest za lako kreiranje i automatizaciju radnih tokova pokretanih najnaprednijim alatima zajednice. Pribavite pristup danas:

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Podrška HackTricks

Osnovne informacije

InfluxDB je open-source baza podataka vremenskih serija (TSDB) koju je razvila InfluxData. TSDB-ovi su optimizovani za skladištenje i pružanje podataka vremenskih serija, koji se sastoje od parova vremenskih oznaka i vrednosti. U poređenju sa bazama podataka opšte namene, TSDB-ovi pružaju značajna poboljšanja u prostorima za skladištenje i performansama za skupove podataka vremenskih serija. Koriste specijalizovane algoritme kompresije i mogu biti konfigurisani da automatski uklanjaju stare podatke. Specijalizovani indeksi baza podataka takođe poboljšavaju performanse upita.

Podrazumevani port: 8086

PORT     STATE SERVICE VERSION
8086/tcp open  http    InfluxDB http admin 1.7.5

Enumeration

Sa tačke gledišta pentestera, ovo je još jedna baza podataka koja može čuvati osetljive informacije, pa je zanimljivo znati kako izvući sve informacije.

Authentication

InfluxDB može zahtevati autentifikaciju ili ne

# Try unauthenticated
influx -host 'host name' -port 'port #'
> use _internal

Ako dobijete grešku poput ove: ERR: unable to parse authentication credentials, to znači da očekuje neka akreditivna sredstva.

influx –username influx –password influx_pass

Postojala je ranjivost u influxdb koja je omogućila zaobilaženje autentifikacije: CVE-2019-20933

Ručna enumeracija

Informacije iz ovog primera su preuzete ovde.

Prikaži baze podataka

Pronađene baze podataka su telegraf i internal (ovu ćete pronaći svuda)

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

Prikaži tabele/mere

The InfluxDB documentation objašnjava da se mere u InfluxDB mogu paralelno posmatrati sa SQL tabelama. Nomenklatura ovih mera je indikativna za njihov sadržaj, svaka sadrži podatke relevantne za određenu entitet.

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

Prikaži ključeve kolona/polja

Ključevi polja su kao kolone baze podataka

> 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

I konačno možete izvršiti dump tabele radeći nešto poput

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

U nekim testiranjima sa zaobilaženjem autentifikacije primećeno je da ime tabele treba da bude između dvostrukih navodnika kao: select * from "cpu"

Automatizovana Autentifikacija

msf6 > use auxiliary/scanner/http/influxdb_enum

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Podržite HackTricks

Koristite Trickest da lako izgradite i automatizujete radne tokove pokretane najnaprednijim alatima zajednice. Dobijte pristup danas:

Last updated