8086 - Pentesting InfluxDB

Dünyanın en gelişmiş topluluk araçlarıyla desteklenen iş akışlarını kolayca oluşturmak ve otomatikleştirmek için Trickest kullanın. Bugün Erişim Alın:

HackTricks'i Destekleyin

Temel Bilgiler

InfluxDB, InfluxData tarafından geliştirilen açık kaynaklı bir zaman serisi veritabanıdır (TSDB). TSDB'ler, zaman damgası-değer çiftlerinden oluşan zaman serisi verilerini depolamak ve sunmak için optimize edilmiştir. Genel amaçlı veritabanlarıyla karşılaştırıldığında, TSDB'ler zaman serisi veri setleri için depolama alanı ve performans açısından önemli iyileştirmeler sağlar. Özel sıkıştırma algoritmaları kullanır ve eski verileri otomatik olarak kaldıracak şekilde yapılandırılabilir. Özel veritabanı indeksleri de sorgu performansını artırır.

Varsayılan port: 8086

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

Enumeration

Bir pentester açısından bu, hassas bilgileri depolayabilecek başka bir veritabanıdır, bu yüzden tüm bilgileri nasıl dökebileceğimizi bilmek ilginçtir.

Authentication

InfluxDB kimlik doğrulaması gerektirebilir veya gerektirmeyebilir.

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

Eğer bu hatayı alıyorsanız: ERR: unable to parse authentication credentials bu, bazı kimlik bilgileri beklediği anlamına gelir.

influx –username influx –password influx_pass

InfluxDB'de kimlik doğrulamasını atlamaya izin veren bir güvenlik açığı vardı: CVE-2019-20933

Manuel Sayım

Bu örneğin bilgileri buradan alınmıştır.

Veritabanlarını Göster

Bulunan veritabanları telegraf ve internal'dir (bu veritabanını her yerde bulacaksınız).

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

Show tables/measurements

The InfluxDB documentation InfluxDB'deki ölçümlerin SQL tablolarıyla paralel olduğunu açıklar. Bu ölçümlerin adlandırması, her birinin belirli bir varlıkla ilgili verileri barındırdığını gösterir.

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

Show columns/field keys

Field anahtarları, veritabanının sütunları gibidir.

> 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

Ve sonunda tabloyu dökebilirsiniz şöyle bir şey yaparak

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

Kimlik doğrulama atlatma ile yapılan bazı testlerde, tablonun adının çift tırnak içinde olması gerektiği belirtildi: select * from "cpu"

Otomatik Kimlik Doğrulama

msf6 > use auxiliary/scanner/http/influxdb_enum
HackTricks'i Destekleyin

Trickest kullanarak dünyanın en gelişmiş topluluk araçlarıyla desteklenen iş akışlarını kolayca oluşturun ve otomatikleştirin. Bugün Erişim Alın:

Last updated