8086 - Pentesting InfluxDB

Verwenden Sie Trickest, um mühelos Workflows zu erstellen und zu automatisieren, die von den fortschrittlichsten Community-Tools der Welt unterstützt werden. Heute Zugriff erhalten:

Erlernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Grundlegende Informationen

InfluxDB ist eine Open-Source-Zeitreihendatenbank (TSDB), die von InfluxData entwickelt wurde. TSDBs sind optimiert für die Speicherung und Bereitstellung von Zeitreihendaten, die aus Zeitstempel-Wert-Paaren bestehen. Im Vergleich zu Datenbanken für allgemeine Zwecke bieten TSDBs erhebliche Verbesserungen bei Speicherplatz und Leistung für Zeitreihendatensätze. Sie verwenden spezialisierte Komprimierungsalgorithmen und können so konfiguriert werden, dass alte Daten automatisch entfernt werden. Spezialisierte Datenbankindizes verbessern auch die Abfrageleistung.

Standardport: 8086

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

Enumeration

Von einem Pentester aus gesehen handelt es sich um eine weitere Datenbank, die sensible Informationen speichern könnte. Daher ist es interessant zu wissen, wie alle Informationen abgerufen werden können.

Authentifizierung

InfluxDB könnte eine Authentifizierung erfordern oder auch nicht.

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

Wenn Sie einen Fehler wie diesen erhalten: ERR: unable to parse authentication credentials, bedeutet dies, dass es einige Anmeldeinformationen erwartet.

influx –username influx –password influx_pass

Es gab eine Schwachstelle in InfluxDB, die es ermöglichte, die Authentifizierung zu umgehen: CVE-2019-20933

Manuelle Aufzählung

Die Informationen dieses Beispiels stammen von hier.

Datenbanken anzeigen

Die gefundenen Datenbanken sind telegraf und internal (diese findet man überall)

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

Zeige Tabellen/Messungen

Die InfluxDB-Dokumentation erklärt, dass Messungen in InfluxDB mit SQL-Tabellen verglichen werden können. Die Benennung dieser Messungen gibt Aufschluss über ihren jeweiligen Inhalt, wobei jede Daten enthält, die für eine bestimmte Entität relevant sind.

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

Zeige Spalten/Feldschlüssel

Die Feldschlüssel sind wie die Spalten der Datenbank

> 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 ...]

Tabelle ausgeben

Und schließlich können Sie die Tabelle ausgeben, indem Sie etwas Ähnliches tun:

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

Bei einigen Tests mit der Authentifizierungsumgehung wurde festgestellt, dass der Tabellenname in doppelte Anführungszeichen gesetzt werden musste, z. B.: select * from "cpu"

Automatisierte Authentifizierung

msf6 > use auxiliary/scanner/http/influxdb_enum
Erlernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Verwenden Sie Trickest, um mühelos Workflows zu erstellen und zu automatisieren, die von den weltweit fortschrittlichsten Community-Tools unterstützt werden. Heute Zugriff erhalten:

Last updated