hacktricks/src/network-services-pentesting/8086-pentesting-influxdb.md

122 lines
6.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 8086 - Pentesting InfluxDB
<figure><img src="../images/image (48).png" alt=""><figcaption></figcaption></figure>
\
Χρησιμοποιήστε [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=8086-pentesting-influxdb) για να δημιουργήσετε εύκολα και να **αυτοματοποιήσετε ροές εργασίας** που υποστηρίζονται από τα **πιο προηγμένα** εργαλεία της κοινότητας.\
Αποκτήστε πρόσβαση σήμερα:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=8086-pentesting-influxdb" %}
{{#include ../banners/hacktricks-training.md}}
## 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**](https://github.com/LorenzoTullini/InfluxDB-Exploit-CVE-2019-20933)
### Χειροκίνητη Αρίθμηση
Οι πληροφορίες αυτού του παραδείγματος ελήφθησαν από [**εδώ**](https://oznetnerd.com/2017/06/11/getting-know-influxdb/).
#### Εμφάνιση βάσεων δεδομένων
Οι βρέθηκαν βάσεις δεδομένων είναι `telegraf` και `internal` (θα βρείτε αυτήν παντού)
```bash
> show databases
name: databases
name
----
telegraf
_internal
```
#### Εμφάνιση πινάκων/μετρήσεων
Η [**τεκμηρίωση InfluxDB**](https://docs.influxdata.com/influxdb/v1.2/introduction/getting_started/) εξηγεί ότι οι **μετρήσεις** στο 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 the table** κάνοντας κάτι σαν
```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
```
{{#include ../banners/hacktricks-training.md}}
<figure><img src="../images/image (48).png" alt=""><figcaption></figcaption></figure>
\
Χρησιμοποιήστε [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=8086-pentesting-influxdb) για να δημιουργήσετε και να **αυτοματοποιήσετε ροές εργασίας** με τη βοήθεια των **πιο προηγμένων** εργαλείων της κοινότητας.\
Αποκτήστε Πρόσβαση Σήμερα:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=8086-pentesting-influxdb" %}