8086 - Pentesting InfluxDB

Trickest का उपयोग करें ताकि आप दुनिया के सबसे उन्नत सामुदायिक उपकरणों द्वारा संचालित कार्यप्रवाहों को आसानी से बना और स्वचालित कर सकें। आज ही एक्सेस प्राप्त करें:

HackTricks का समर्थन करें

मूल जानकारी

InfluxDB एक ओपन-सोर्स टाइम सीरीज डेटाबेस (TSDB) है जिसे InfluxData द्वारा विकसित किया गया है। TSDBs को टाइम सीरीज डेटा को स्टोर और सर्व करने के लिए ऑप्टिमाइज़ किया गया है, जिसमें टाइमस्टैम्प-मान जोड़े होते हैं। सामान्य प्रयोजन के डेटाबेस की तुलना में, TSDBs टाइम सीरीज डेटा सेट के लिए स्टोरेज स्पेस और प्रदर्शन में महत्वपूर्ण सुधार प्रदान करते हैं। वे विशेषीकृत संकुचन एल्गोरिदम का उपयोग करते हैं और पुराने डेटा को स्वचालित रूप से हटाने के लिए कॉन्फ़िगर किए जा सकते हैं। विशेषीकृत डेटाबेस इंडेक्स भी क्वेरी प्रदर्शन को बढ़ाते हैं।

डिफ़ॉल्ट पोर्ट: 8086

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

Enumeration

एक pentester के दृष्टिकोण से, यह एक और डेटाबेस है जो संवेदनशील जानकारी संग्रहीत कर सकता है, इसलिए यह जानना दिलचस्प है कि सभी जानकारी को कैसे डंप किया जाए।

Authentication

InfluxDB को प्रमाणीकरण की आवश्यकता हो सकती है या नहीं

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

यदि आपको इस तरह की एक त्रुटि मिलती है: ERR: unable to parse authentication credentials तो इसका मतलब है कि यह कुछ प्रमाण-पत्रों की अपेक्षा कर रहा है

influx –username influx –password influx_pass

There was a vulnerability influxdb that allowed to bypass the authentication: CVE-2019-20933

Manual Enumeration

इस उदाहरण की जानकारी यहां से ली गई थी।

Show databases

पाई गई डेटाबेस telegraf और internal हैं (आप इसे हर जगह पाएंगे)

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

Show tables/measurements

The InfluxDB documentation यह बताता है कि InfluxDB में measurements को SQL तालिकाओं के समानांतर रखा जा सकता है। इन measurements की नामकरण उनकी संबंधित सामग्री का संकेत देता है, प्रत्येक एक विशेष इकाई से संबंधित डेटा को समाहित करता है।

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

Show columns/field keys

फील्ड कीज़ डेटाबेस के कॉलम की तरह होती हैं

> 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 कर सकते हैं कुछ इस तरह

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

कुछ परीक्षणों में, प्रमाणीकरण बाईपास के साथ यह नोट किया गया कि तालिका का नाम डबल कोट्स के बीच होना चाहिए जैसे: select * from "cpu"

स्वचालित प्रमाणीकरण

msf6 > use auxiliary/scanner/http/influxdb_enum
HackTricks का समर्थन करें

Trickest का उपयोग करें ताकि आप दुनिया के सबसे उन्नत सामुदायिक उपकरणों द्वारा संचालित वर्कफ़्लो को आसानी से बना और स्वचालित कर सकें। आज ही एक्सेस प्राप्त करें:

Last updated