7.1 KiB
8086 - Pentesting InfluxDB
Użyj Trickest, aby łatwo budować i automatyzować przepływy pracy zasilane przez najbardziej zaawansowane narzędzia społecznościowe na świecie.
Uzyskaj dostęp już dziś:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=8086-pentesting-influxdb" %}
{% hint style="success" %}
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Wsparcie dla HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów github.
Podstawowe informacje
InfluxDB to otwartoźródłowa baza danych szeregów czasowych (TSDB) opracowana przez InfluxData. TSDB są zoptymalizowane do przechowywania i obsługi danych szeregów czasowych, które składają się z par znaczników czasowych i wartości. W porównaniu do baz danych ogólnego przeznaczenia, TSDB oferują znaczące ulepszenia w przestrzeni dyskowej i wydajności dla zbiorów danych szeregów czasowych. Wykorzystują specjalistyczne algorytmy kompresji i mogą być skonfigurowane do automatycznego usuwania starych danych. Specjalistyczne indeksy bazy danych również poprawiają wydajność zapytań.
Domyślny port: 8086
PORT STATE SERVICE VERSION
8086/tcp open http InfluxDB http admin 1.7.5
Enumeration
Z punktu widzenia pentestera to kolejna baza danych, która może przechowywać wrażliwe informacje, więc interesujące jest, aby wiedzieć, jak zrzucić wszystkie dane.
Authentication
InfluxDB może wymagać uwierzytelnienia lub nie
# Try unauthenticated
influx -host 'host name' -port 'port #'
> use _internal
Jeśli otrzymasz błąd taki jak ten: ERR: unable to parse authentication credentials
, oznacza to, że oczekuje jakichś poświadczeń.
influx –username influx –password influx_pass
Była luka w influxdb, która pozwalała na ominięcie uwierzytelnienia: CVE-2019-20933
Ręczna enumeracja
Informacje z tego przykładu zostały zaczerpnięte stąd.
Pokaż bazy danych
Znalezione bazy danych to telegraf
i internal
(tę drugą znajdziesz wszędzie)
> show databases
name: databases
name
----
telegraf
_internal
Pokaż tabele/pomiar
Dokumentacja InfluxDB wyjaśnia, że pomiar w InfluxDB można porównać z tabelami SQL. Nomenklatura tych pomiarów wskazuje na ich odpowiednią zawartość, z których każdy przechowuje dane związane z określoną jednostką.
> show measurements
name: measurements
name
----
cpu
disk
diskio
kernel
mem
processes
swap
system
Pokaż klucze kolumn/pól
Klucze pól są jak kolumny bazy danych
> 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
A na koniec możesz zrzucić tabelę wykonując coś takiego
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
{% hint style="warning" %}
W niektórych testach z obejściem uwierzytelniania zauważono, że nazwa tabeli musi być w podwójnych cudzysłowach, jak: select * from "cpu"
{% endhint %}
Zautomatyzowane Uwierzytelnianie
msf6 > use auxiliary/scanner/http/influxdb_enum
{% hint style="success" %}
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Wsparcie HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów github.
Użyj Trickest, aby łatwo budować i automatyzować przepływy pracy zasilane przez najbardziej zaawansowane narzędzia społecznościowe na świecie.
Uzyskaj dostęp już dziś:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=8086-pentesting-influxdb" %}