hacktricks/network-services-pentesting/8086-pentesting-influxdb.md
2024-02-10 15:36:32 +00:00

7.3 KiB
Raw Blame History

8086 - Pentesting InfluxDB


Verwenden Sie Trickest, um Workflows einfach zu erstellen und zu automatisieren, die von den fortschrittlichsten Community-Tools der Welt unterstützt werden.
Erhalten Sie noch heute Zugriff:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

Lernen Sie AWS-Hacking von Grund auf 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 allgemeinen Datenbanken bieten TSDBs erhebliche Verbesserungen bei Speicherplatz und Leistung für Zeitreihendatensätze. Sie verwenden spezialisierte Kompressionsalgorithmen 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

Aus der Sicht eines Pentesters handelt es sich hierbei um eine weitere Datenbank, die möglicherweise sensible Informationen speichert. Daher ist es interessant zu wissen, wie man alle Informationen extrahieren kann.

Authentifizierung

InfluxDB kann 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 vergleichbar sind. 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

Spalten/Feldschlüssel anzeigen

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 dumpen

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

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" %} Bei einigen Tests mit der Authentifizierungsumgehung wurde festgestellt, dass der Tabellenname in doppelten Anführungszeichen stehen muss, z.B.: select * from "cpu" {% endhint %}

Automatisierte Authentifizierung

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

Andere Möglichkeiten, HackTricks zu unterstützen:


Verwenden Sie Trickest, um Workflows einfach zu erstellen und zu automatisieren, die von den fortschrittlichsten Community-Tools der Welt unterstützt werden.
Erhalten Sie noch heute Zugriff:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}