8086 - Pentesting InfluxDB

Koristite Trickest da biste lako izgradili i automatizovali radne tokove pokretane najnaprednijim alatima zajednice. Dobijte pristup danas:

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

Osnovne informacije

InfluxDB je otvorena baza podataka vremenskih serija (TSDB) razvijena od strane InfluxData. TSDB-ovi su optimizovani za skladištenje i posluživanje podataka vremenskih serija, koji se sastoje od parova vremenske oznake-vrednost. U poređenju sa opštim bazama podataka, TSDB-ovi pružaju značajna poboljšanja u prostoru za skladištenje i performansama za skupove podataka vremenskih serija. Koriste specijalizovane algoritme za kompresiju i mogu se konfigurisati da automatski uklone stare podatke. Specijalizovani indeksi baze podataka takođe poboljšavaju performanse upita.

Podrazumevani port: 8086

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

Enumeracija

Sa stanovišta pentestera, ovo je još jedna baza podataka u kojoj se mogu čuvati osetljive informacije, pa je zanimljivo znati kako izvući sve informacije.

Autentikacija

InfluxDB može zahtevati autentikaciju 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 određene akreditive.

influx –username influx –password influx_pass

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

Ručno nabrajanje

Informacije iz ovog primera preuzete su sa ovde.

Prikaz baza podataka

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

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

Prikaz tabela/merenja

InfluxDB dokumentacija objašnjava da se merenja u InfluxDB-u mogu paralelno uporediti sa SQL tabelama. Nomenklatura ovih merenja ukazuje na njihov sadržaj, pri čemu svako sadrži podatke relevantne za određenu entitet.

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

Prikazivanje kolona/polja ključeva

Polja ključeva 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 ...]

Izbaci tabelu

I na kraju možete izbaciti tabelu radeći nešto slično

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

Prilikom nekih testiranja sa zaobilaskom autentikacije primećeno je da je ime tabele potrebno da bude između duplih navodnika kao: select * from "cpu"

Automatizovana autentikacija

msf6 > use auxiliary/scanner/http/influxdb_enum
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini da podržite HackTricks:

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

Last updated