8086 - Pentesting InfluxDB
Reading time: 3 minutes
tip
Lernen & ĂŒben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & ĂŒben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
UnterstĂŒtzen Sie HackTricks
- ĂberprĂŒfen Sie die AbonnementplĂ€ne!
- Treten Sie der đŹ Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter đŠ @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
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 in 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 ebenfalls die Abfrageleistung.
Standardport: 8086
PORT STATE SERVICE VERSION
8086/tcp open http InfluxDB http admin 1.7.5
AufzÀhlung
Aus der Sicht eines Pentesters ist dies eine weitere Datenbank, die sensible Informationen speichern könnte, daher ist es interessant zu wissen, wie man alle Informationen dumpen kann.
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 das, 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 Enumeration
Die Informationen dieses Beispiels stammen von hier.
Datenbanken anzeigen
Die gefundenen Datenbanken sind telegraf
und internal
(diese werden Sie ĂŒberall finden).
> show databases
name: databases
name
----
telegraf
_internal
Tabellen/Messungen anzeigen
Die InfluxDB-Dokumentation erklĂ€rt, dass Messungen in InfluxDB mit SQL-Tabellen parallelisiert werden können. Die Nomenklatur dieser Messungen ist indikativ fĂŒr ihren jeweiligen Inhalt, wobei jede Daten relevant fĂŒr eine bestimmte EntitĂ€t enthĂ€lt.
> 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 ...]
Dump Table
Und schlieĂlich können Sie die Tabelle dumpen, indem Sie etwas 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
warning
Bei einigen Tests mit dem Authentifizierungsumgehung wurde festgestellt, dass der Name der Tabelle in doppelte AnfĂŒhrungszeichen gesetzt werden musste, wie: select * from "cpu"
Automatisierte Authentifizierung
msf6 > use auxiliary/scanner/http/influxdb_enum
tip
Lernen & ĂŒben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & ĂŒben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
UnterstĂŒtzen Sie HackTricks
- ĂberprĂŒfen Sie die AbonnementplĂ€ne!
- Treten Sie der đŹ Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter đŠ @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.