8086 - Pentesting InfluxDB

Reading time: 4 minutes

tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Μάθετε & εξασκηθείτε στο Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks

Basic Information

InfluxDB είναι μια ανοιχτού κώδικα βάση δεδομένων χρονοσειρών (TSDB) που αναπτύχθηκε από την InfluxData. Οι TSDB είναι βελτιστοποιημένες για την αποθήκευση και την εξυπηρέτηση δεδομένων χρονοσειρών, τα οποία αποτελούνται από ζεύγη χρονικής σήμανσης-τιμής. Σε σύγκριση με τις βάσεις δεδομένων γενικής χρήσης, οι TSDB προσφέρουν σημαντικές βελτιώσεις στον χώρο αποθήκευσης και στην απόδοση για σύνολα δεδομένων χρονοσειρών. Χρησιμοποιούν εξειδικευμένους αλγόριθμους συμπίεσης και μπορούν να ρυθμιστούν ώστε να αφαιρούν αυτόματα παλιά δεδομένα. Οι εξειδικευμένοι δείκτες βάσεων δεδομένων βελτιώνουν επίσης την απόδοση των ερωτημάτων.

Προεπιλεγμένη θύρα: 8086

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

Αριθμητική

Από την οπτική γωνία ενός pentester, αυτή είναι μια άλλη βάση δεδομένων που θα μπορούσε να αποθηκεύει ευαίσθητες πληροφορίες, οπότε είναι ενδιαφέρον να γνωρίζουμε πώς να εξάγουμε όλες τις πληροφορίες.

Αυθεντικοποίηση

Η InfluxDB μπορεί να απαιτεί αυθεντικοποίηση ή όχι.

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

Αν λάβετε ένα σφάλμα όπως αυτό: ERR: unable to parse authentication credentials σημαίνει ότι αναμένει κάποια διαπιστευτήρια.

influx –username influx –password influx_pass

Υπήρχε μια ευπάθεια στο influxdb που επέτρεπε την παράκαμψη της αυθεντικοποίησης: CVE-2019-20933

Χειροκίνητη Αρίθμηση

Οι πληροφορίες αυτού του παραδείγματος ελήφθησαν από εδώ.

Εμφάνιση βάσεων δεδομένων

Οι βρέθηκαν βάσεις δεδομένων είναι telegraf και internal (θα βρείτε αυτήν παντού)

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

Εμφάνιση πινάκων/μετρήσεων

Η τεκμηρίωση InfluxDB εξηγεί ότι οι μετρήσεις στο InfluxDB μπορούν να παραλληλιστούν με τους πίνακες SQL. Η ονοματολογία αυτών των μετρήσεων είναι ενδεικτική του αντίστοιχου περιεχομένου τους, κάθε μία φιλοξενεί δεδομένα που σχετίζονται με μια συγκεκριμένη οντότητα.

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

Εμφάνιση κλειδιών πεδίων

Τα κλειδιά πεδίων είναι σαν τις στήλες της βάσης δεδομένων

bash
> 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

Και τελικά μπορείτε να εκτελέσετε dump τον πίνακα κάνοντας κάτι όπως

bash
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

Σε κάποιες δοκιμές με την παράκαμψη της αυθεντικοποίησης παρατηρήθηκε ότι το όνομα του πίνακα έπρεπε να είναι μέσα σε διπλά εισαγωγικά όπως: select * from "cpu"

Αυτοματοποιημένη Αυθεντικοποίηση

bash
msf6 > use auxiliary/scanner/http/influxdb_enum

tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Μάθετε & εξασκηθείτε στο Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks