8089 - Pentesting Splunkd
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Το Splunk είναι ένα εργαλείο ανάλυσης καταγραφών που παίζει κρίσιμο ρόλο στη συλλογή, ανάλυση και οπτικοποίηση δεδομένων. Ενώ ο αρχικός του σκοπός δεν ήταν να λειτουργεί ως εργαλείο SIEM (Διαχείριση Πληροφοριών και Συμβάντων Ασφαλείας), έχει αποκτήσει δημοτικότητα στον τομέα της παρακολούθησης ασφάλειας και της επιχειρηματικής ανάλυσης.
Οι αναπτύξεις του Splunk χρησιμοποιούνται συχνά για την αποθήκευση ευαίσθητων δεδομένων και μπορούν να χρησιμεύσουν ως πολύτιμη πηγή πληροφοριών για πιθανούς επιτιθέμενους αν καταφέρουν να παραβιάσουν το σύστημα. Προεπιλεγμένη θύρα: 8089
Ο διακομιστής ιστού Splunk εκτελείται από προεπιλογή στη θύρα 8000.
Η δοκιμή του Splunk Enterprise μετατρέπεται σε δωρεάν έκδοση μετά από 60 ημέρες, η οποία δεν απαιτεί αυθεντικοποίηση. Δεν είναι ασυνήθιστο για τους διαχειριστές συστημάτων να εγκαθιστούν μια δοκιμή του Splunk για να το δοκιμάσουν, η οποία στη συνέχεια ξεχνιέται. Αυτό θα μετατραπεί αυτόματα στη δωρεάν έκδοση που δεν έχει καμία μορφή αυθεντικοποίησης, εισάγοντας μια τρύπα ασφαλείας στο περιβάλλον. Ορισμένες οργανώσεις μπορεί να επιλέξουν τη δωρεάν έκδοση λόγω περιορισμών προϋπολογισμού, χωρίς να κατανοούν πλήρως τις συνέπειες της έλλειψης διαχείρισης χρηστών/ρόλων.
Σε παλαιότερες εκδόσεις του Splunk, τα προεπιλεγμένα διαπιστευτήρια είναι admin:changeme
, τα οποία εμφανίζονται βολικά στη σελίδα σύνδεσης.
Ωστόσο, η τελευταία έκδοση του Splunk ορίζει διαπιστευτήρια κατά τη διαδικασία εγκατάστασης. Εάν τα προεπιλεγμένα διαπιστευτήρια δεν λειτουργούν, αξίζει να ελέγξετε για κοινές αδύναμες κωδικούς πρόσβασης όπως admin
, Welcome
, Welcome1
, Password123
, κ.λπ.
Αφού συνδεθούμε στο Splunk, μπορούμε να περιηγηθούμε σε δεδομένα, να εκτελέσουμε αναφορές, να δημιουργήσουμε πίνακες ελέγχου, να εγκαταστήσουμε εφαρμογές από τη βιβλιοθήκη Splunkbase και να εγκαταστήσουμε προσαρμοσμένες εφαρμογές. Μπορείτε επίσης να εκτελέσετε κώδικα: Το Splunk έχει πολλούς τρόπους εκτέλεσης κώδικα, όπως εφαρμογές Django server-side, REST endpoints, scripted inputs και alerting scripts. Μια κοινή μέθοδος για την απόκτηση απομακρυσμένης εκτέλεσης κώδικα σε έναν διακομιστή Splunk είναι μέσω της χρήσης ενός scripted input.
Επιπλέον, καθώς το Splunk μπορεί να εγκατασταθεί σε Windows ή Linux hosts, μπορούν να δημιουργηθούν scripted inputs για να εκτελούν Bash, PowerShell ή Batch scripts.
Splunk build
Μια προσαρμοσμένη εφαρμογή μπορεί να εκτελεί Python, Batch, Bash ή PowerShell scripts. Σημειώστε ότι το Splunk έρχεται με εγκατεστημένο Python, οπότε ακόμη και σε συστήματα Windows θα μπορείτε να εκτελείτε κώδικα python.
Μπορείτε να χρησιμοποιήσετε αυτό το πακέτο Splunk για να μας βοηθήσει. Ο φάκελος bin
σε αυτό το repo έχει παραδείγματα για Python και PowerShell. Ας προχωρήσουμε βήμα-βήμα.
Για να το επιτύχουμε αυτό, πρέπει πρώτα να δημιουργήσουμε μια προσαρμοσμένη εφαρμογή Splunk χρησιμοποιώντας την παρακάτω δομή φακέλων:
Ο bin
φάκελος θα περιέχει οποιαδήποτε σενάρια που σκοπεύουμε να εκτελέσουμε (σε αυτή την περίπτωση, ένα PowerShell reverse shell), και ο προεπιλεγμένος φάκελος θα έχει το αρχείο inputs.conf
μας. Το reverse shell μας θα είναι ένα PowerShell one-liner:
Το αρχείο inputs.conf λέει στο Splunk ποιο σενάριο να εκτελέσει και οποιεσδήποτε άλλες συνθήκες. Εδώ ρυθμίζουμε την εφαρμογή ως ενεργοποιημένη και λέμε στο Splunk να εκτελεί το σενάριο κάθε 10 δευτερόλεπτα. Η διάρκεια είναι πάντα σε δευτερόλεπτα, και η είσοδος (σενάριο) θα εκτελείται μόνο αν αυτή η ρύθμιση είναι παρούσα.
Χρειαζόμαστε το .bat
αρχείο, το οποίο θα εκτελείται όταν αναπτυχθεί η εφαρμογή και θα εκτελεί την PowerShell one-liner.
Το επόμενο βήμα είναι να επιλέξουμε Install app from file
και να ανεβάσουμε την εφαρμογή.
Πριν ανεβάσουμε την κακόβουλη προσαρμοσμένη εφαρμογή, ας ξεκινήσουμε έναν listener χρησιμοποιώντας το Netcat ή το socat.
Στη σελίδα Upload app
, κάντε κλικ στο browse, επιλέξτε το tarball που δημιουργήσαμε νωρίτερα και κάντε κλικ στο Upload
. Μόλις ανεβάσουμε την εφαρμογή, θα λάβουμε ένα reverse shell καθώς η κατάσταση της εφαρμογής θα αλλάξει αυτόματα σε Enabled
.
Αν ασχολούμασταν με έναν Linux host, θα έπρεπε να επεξεργαστούμε το σενάριο Python rev.py
πριν δημιουργήσουμε το tarball και ανεβάσουμε την προσαρμοσμένη κακόβουλη εφαρμογή. Η υπόλοιπη διαδικασία θα ήταν η ίδια, και θα αποκτούσαμε μια σύνδεση reverse shell στον ακροατή Netcat μας και θα ξεκινούσαμε.
Στην παρακάτω σελίδα μπορείτε να βρείτε μια εξήγηση για το πώς αυτή η υπηρεσία μπορεί να καταχραστεί για να κλιμακώσει τα δικαιώματα και να αποκτήσει επιμονή:
Splunk LPE and PersistenceLearn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)