8086 - Pentesting InfluxDB

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

Sıfırdan kahraman olacak şekilde AWS hackleme öğrenin htARTE (HackTricks AWS Red Team Expert)!

HackTricks'ı desteklemenin diğer yolları:

Temel Bilgiler

InfluxDB, InfluxData tarafından geliştirilen açık kaynaklı bir zaman serisi veritabanı (TSDB)'dir. TSDB'ler, zaman damgası-değer çiftlerinden oluşan zaman serisi verilerini depolamak ve sunmak için optimize edilmiştir. Genel amaçlı veritabanlarına kıyasla, TSDB'ler zaman serisi veri kümeleri için depolama alanında ve performansta önemli iyileştirmeler sağlar. Özel sıkıştırma algoritmaları kullanırlar ve eski verileri otomatik olarak kaldırmak için yapılandırılabilirler. Özel veritabanı dizinleri 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

Sıralama

Bir pentester açısından bu hassas bilgileri depolayabilecek başka bir veritabanı olduğundan, tüm bilgileri nasıl döküleceğini bilmek ilginç olabilir.

Kimlik Doğrulama

InfluxDB kimlik doğrulaması gerektirebilir veya gerektirmeyebilir

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

Eğer bu şekilde bir hata alırsanız: ERR: kimlik doğrulama kimlik bilgilerini ayrıştıramıyor demek ki bazı kimlik bilgilerini bekliyor.

influx –username influx –password influx_pass

Influxdb'de kimlik doğrulamasını atlamaya izin veren bir zafiyet bulunmaktaydı: CVE-2019-20933

El ile Numaralandırma

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

Veritabanlarını göster

Bulunan veritabanları telegraf ve internal (bu her yerde bulunur)

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

Tablolar/Ölçümler Göster

InfluxDB belgeleri, InfluxDB'deki ölçümlerin SQL tablolarıyla paralel olduğunu açıklar. Bu ölçümlerin adlandırması, ilgili içeriğe işaret eder ve her biri belirli bir varlıkla ilgili verileri barındırır.

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

Sütunları/alan anahtarlarını göster

Alan 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 ...]

Tabloyu Dök

Ve son olarak tabloyu dökmeniz gerekebilir, bunun için şunu yapabilirsiniz:

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ğrulaması atlatma testlerinde bazı testlerde tablo adının çift tırnaklar arasında olması gerektiği belirlendi: select * from "cpu"

Otomatik Kimlik Doğrulaması

msf6 > use auxiliary/scanner/http/influxdb_enum
AWS hacklemeyi sıfırdan kahramana öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile!

HackTricks'ı desteklemenin diğer yolları:

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

Last updated