8089 - Pentesting Splunkd
基本信息
Splunk 是一款日志分析工具,在收集、分析和可视化数据方面发挥着关键作用。虽然它最初的目的不是作为SIEM(安全信息和事件管理)工具,但在安全监控和业务分析领域中备受欢迎。
Splunk 部署经常用于存储敏感数据,如果攻击者设法入侵系统,它可以成为潜在攻击者的宝贵信息来源。 默认端口: 8089
Splunk Web 服务器默认在端口 8000 上运行。
枚举
免费版本
Splunk Enterprise 试用版在 60 天后转换为免费版本,无需身份验证。系统管理员经常安装 Splunk 试用版进行测试,随后被遗忘。这将自动转换为没有任何形式身份验证的免费版本,在环境中引入了安全漏洞。一些组织可能由于预算限制而选择免费版本,但并没有完全理解没有用户/角色管理的影响。
默认凭据
在旧版本的 Splunk 中,默认凭据是 admin:changeme
,方便地显示在登录页面上。
然而,最新版本的 Splunk 在安装过程中设置凭据。如果默认凭据不起作用,值得检查常见弱密码,如 admin
,Welcome
,Welcome1
,Password123
等。
获取信息
登录到 Splunk 后,我们可以浏览数据,运行报告,创建仪表板,从 Splunkbase 库安装应用程序,以及安装自定义应用程序。 您还可以运行代码:Splunk 有多种运行代码的方式,如服务器端 Django 应用程序,REST 端点,脚本输入和警报脚本。在 Splunk 服务器上获得远程代码执行的常见方法是通过脚本输入。
此外,由于 Splunk 可以安装在 Windows 或 Linux 主机上,可以创建脚本输入来运行 Bash、PowerShell 或批处理脚本。
Shodan
Splunk 构建
RCE
创建自定义应用程序
自定义应用程序可以运行Python、批处理、Bash 或 PowerShell 脚本。 请注意,Splunk 已安装 Python,因此即使在Windows系统中,您也可以运行 Python 代码。
您可以使用此 Splunk 软件包来帮助我们。此存储库中的 bin
目录有Python 和PowerShell 的示例。让我们逐步进行。
要实现这一点,我们首先需要使用以下目录结构创建自定义 Splunk 应用程序:
bin
目录将包含我们打算运行的任何脚本(在本例中是一个PowerShell反向shell),默认目录将有我们的inputs.conf
文件。我们的反向shell将是一个PowerShell一行命令:
inputs.conf文件告诉Splunk要运行哪个脚本以及任何其他条件。在这里,我们将应用设置为启用,并告诉Splunk每10秒运行一次脚本。间隔始终以秒为单位,只有在存在此设置时,输入(脚本)才会运行。
我们需要.bat
文件,在部署应用程序时运行并执行PowerShell一行命令。
下一步是选择从文件安装应用程序
并上传应用程序。
在上传恶意自定义应用程序之前,让我们使用Netcat或socat启动一个监听器。
在上传应用程序
页面,点击浏览,选择我们之前创建的tarball,然后点击上传
。一旦我们上传应用程序,应用程序的状态将自动切换为已启用
,同时我们会收到一个反向shell。
Linux
如果我们在处理Linux主机,我们需要在创建tarball并上传自定义恶意应用程序之前编辑rev.py
Python脚本。其余流程将保持不变,我们将在Netcat监听器上收到一个反向shell连接,然后就可以开始操作了。
远程代码执行 & 提权
在下面的页面中,您可以找到关于如何滥用此服务以提升权限并获取持久性的解释:
Splunk LPE and Persistence参考资料
最后更新于