<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να**κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**την Οικογένεια PEASS**](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.
Το Elasticsearch είναι ένα **κατανεμημένο**, **ανοιχτού κώδικα** σύστημα αναζήτησης και αναλυτικής μηχανής για**όλους τους τύπους δεδομένων**. Είναι γνωστό για την **ταχύτητά του**, **κλιμακωσιμότητα** και **απλές REST API**. Χτισμένο πάνω στο Apache Lucene, κυκλοφόρησε για πρώτη φορά το 2010 από την Elasticsearch N.V. (πλέον γνωστή ως Elastic). Το Elasticsearch είναι η κύρια συνιστώσα του Elastic Stack, μια συλλογή από εργαλεία ανοιχτού κώδικα για την εισαγωγή, εμπλουτισμό, αποθήκευση, ανάλυση και οπτικοποίηση δεδομένων. Αυτή η συλλογή, γνωστή και ως ELK Stack, περιλαμβάνει επίσης τα Logstash και Kibana, και τώρα διαθέτει ελαφριά πράκτορες αποστολής δεδομένων που ονομάζονται Beats.
Ένα **ευρετήριο Elasticsearch** είναι μια συλλογή **σχετικών εγγράφων** που αποθηκεύονται ως **JSON**. Κάθε έγγραφο αποτελείται από **κλειδιά** και τις αντίστοιχες **τιμές** τους (συμβολοσειρές, αριθμοί, λογικές τιμές, ημερομηνίες, πίνακες, γεωτοποθεσίες κ.λπ.).
Το Elasticsearch χρησιμοποιεί μια αποδοτική δομή δεδομένων που ονομάζεται **αντίστροφο ευρετήριο**γιανα διευκολύνει γρήγορες αναζητήσεις κειμένου. Αυτό το ευρετήριο καταλογογραφεί κάθε μοναδική λέξη στα έγγραφα και εντοπίζει τα έγγραφα στα οποία εμφανίζεται κάθε λέξη.
Κατά τη διάρκεια της διαδικασίας ευρετηρίασης, το Elasticsearch αποθηκεύει τα έγγραφα και κατασκευάζει το αντίστροφο ευρετήριο, επιτρέποντας την αναζήτηση σε πραγματικό χρόνο. Το**API ευρετηρίου** χρησιμοποιείται για την προσθήκη ή ενημέρωση εγγράφων JSON σε ένα συγκεκριμένο ευρετήριο.
Το πρωτόκολλο που χρησιμοποιείται για την πρόσβαση στο Elasticsearch είναι το **HTTP**. Όταν έχετε πρόσβαση μέσω HTTP θα βρείτε ορισμένες ενδιαφέρουσες πληροφορίες: `http://10.10.10.115:9200/`
**Από προεπιλογή το Elasticsearch δεν έχει ενεργοποιημένη την ταυτοποίηση**, οπότε από προεπιλογή μπορείτε να έχετε πρόσβαση σε όλα τα περιεχόμενα της βάσης δεδομένων χωρίς να χρειάζεται να χρησιμοποιήσετε διαπιστευτήρια.
curl -X GET "ELASTICSEARCH-SERVER:9200/_xpack/security/user"
{"error":{"root_cause":[{"type":"exception","reason":"Security must be explicitly enabled when using a [basic] license. Enable security by setting [xpack.security.enabled] to [true] in the elasticsearch.yml file and restart the node."}],"type":"exception","reason":"Security must be explicitly enabled when using a [basic] license. Enable security by setting [xpack.security.enabled] to [true] in the elasticsearch.yml file and restart the node."},"status":500}
Αυτό σημαίνει ότι η πιστοποίηση έχει ρυθμιστεί και **χρειάζεστε έγκυρα διαπιστευτήρια**γιανα λάβετε οποιαδήποτε πληροφορία από το Elasticsearch. Στη συνέχεια, μπορείτε να [**προσπαθήσετε να κάνετε brute force**](../generic-methodologies-and-resources/brute-force.md#elasticsearch) (χρησιμοποιεί HTTP βασική πιστοποίηση, οπότε μπορεί να χρησιμοποιηθεί οτιδήποτε κάνει brute force σε HTTP βασική πιστοποίηση).\
Εδώ έχετε μια **λίστα προεπιλεγμένων ονοματεπων χρηστών**: _**elastic** (υπερχρήστης), remote\_monitoring\_user, beats\_system, logstash\_system, kibana, kibana\_system, apm\_system,_ \_anonymous\_.\_ Οι παλαιότερες εκδόσεις του Elasticsearch έχουν το προεπιλεγμένο κωδικό πρόσβασης **changeme**για αυτόν τον χρήστη.
Η βασική απαρίθμηση χρηστών είναι μια τεχνική που χρησιμοποιείται γιανα ανακτήσει πληροφορίες σχετικά με τους χρήστες που υπάρχουν σε ένα σύστημα Elasticsearch. Αυτή η τεχνική μπορεί να βοηθήσει έναν εισβολέα να ανακαλύψει πιθανά ονόματα χρηστών και να προσπαθήσει να εκμεταλλευτεί τυχόν αδυναμίες στην αυθεντικοποίηση.
Για να πραγματοποιηθεί η απαρίθμηση, μπορούν να χρησιμοποιηθούν διάφορες μέθοδοι, όπως η ανάκτηση των δημόσιων δεδομένων του Elasticsearch, η ανάλυση των αρχείων καταγραφής ή η χρήση εργαλείων απαρίθμησης χρηστών.
Είναι σημαντικό να σημειωθεί ότι η απαρίθμηση χρηστών μπορεί να θεωρηθεί ως επίθεση σε ένα σύστημα, και επομένως πρέπει να γίνεται με προσοχή και με την άδεια του νόμιμου κατόχου του συστήματος.
Αυτά τα σημεία πρόσβασης προήλθαν από την [**τεκμηρίωση**](https://www.elastic.co/guide/en/elasticsearch/reference/current/rest-apis.html) όπου μπορείτε να**βρείτε περισσότερα**.\
Επίσης, αν έχετε πρόσβαση στο `/_cat`, η απόκριση θα περιέχει τα σημεία πρόσβασης `/_cat/*` που υποστηρίζονται από την περίπτωση.
Για να λάβετε πληροφορίες σχετικά με τον τύπο των δεδομένων που αποθηκεύονται σε ένα ευρετήριο, μπορείτε να έχετε πρόσβαση στη διεύθυνση: `http://host:9200/<index>`για παράδειγμα σε αυτήν την περίπτωση `http://10.10.10.115:9200/bank`
Εάν θέλετε να αντιγράψετε **όλο το περιεχόμενο** ενός ευρετηρίου, μπορείτε να έχετε πρόσβαση στη διεύθυνση: `http://host:9200/<index>/_search?pretty=true` όπως `http://10.10.10.115:9200/bank/_search?pretty=true`
_Πάρτε λίγο χρόνο γιανα συγκρίνετε το περιεχόμενο κάθε εγγραφής (καταχώρησης) μέσα στο ευρετήριο της τράπεζας και τα πεδία αυτού του ευρετηρίου που είδαμε στην προηγούμενη ενότητα._
Έτσι, σε αυτό το σημείο μπορείτε να παρατηρήσετε ότι υπάρχει ένα πεδίο με το όνομα "total" μέσα στο "hits" που υποδηλώνει ότι βρέθηκαν **1000 έγγραφα** μέσα σε αυτό το ευρετήριο, αλλά μόνο 10 ανακτήθηκαν. Αυτό συμβαίνει επειδή **από προεπιλογή υπάρχει ένα όριο των 10 εγγράφων**.\
Ωστόσο, τώρα που γνωρίζετε ότι **αυτό το ευρετήριο περιέχει 1000 έγγραφα**, μπορείτε να αντιγράψετε όλα αυτά δηλώνοντας τον αριθμό των καταχωρήσεων που θέλετε να αντιγράψετε στην παράμετρο **`size`**: `http://10.10.10.115:9200/quotes/_search?pretty=true&size=1000`asd\
_Σημείωση: Εάν δηλώσετε μεγαλύτερο αριθμό, όλες οι καταχωρήσεις θα αντιγραφούν ούτως ή άλλως, για παράδειγμα μπορείτε να δηλώσετε `size=9999` και θα είναι περίεργο αν υπήρχαν περισσότερες καταχωρήσεις (αλλά θα πρέπει να ελέγξετε)._
Για να αντιγράψετε όλα, απλά πηγαίνετε στην **ίδια διαδρομή όπως πριν αλλά χωρίς να δηλώσετε κάποιο ευρετήριο**`http://host:9200/_search?pretty=true` όπως `http://10.10.10.115:9200/_search?pretty=true`\
Να θυμάστε ότι σε αυτήν την περίπτωση θα εφαρμοστεί το **προεπιλεγμένο όριο των 10** αποτελεσμάτων. Μπορείτε να χρησιμοποιήσετε την παράμετρο `size`γιανα αντιγράψετε ένα **μεγαλύτερο πλήθος αποτελεσμάτων**. Διαβάστε την προηγούμενη ενότητα για περισσότερες πληροφορίες.
Εάν ψάχνετε για κάποιες πληροφορίες, μπορείτε να κάνετε μια **αναζήτηση σε όλα τα ευρετήρια** πηγαίνοντας στη διεύθυνση `http://host:9200/_search?pretty=true&q=<search_term>` όπως στο `http://10.10.10.115:9200/_search?pretty=true&q=Rockwell`
Εάν θέλετε απλά να**αναζητήσετε σε ένα ευρετήριο**, μπορείτε απλά να το **καθορίσετε** στη **διαδρομή**: `http://host:9200/<index>/_search?pretty=true&q=<search_term>`
Μπορείτε επίσης να χρησιμοποιήσετε κάτι όπως [https://github.com/misalabs/horuz](https://github.com/misalabs/horuz) γιανα εκτελέσετε fuzz σε ένα υπηρεσία elasticsearch.
Μπορείτε να ελέγξετε τα δικαιώματα εγγραφής σας δοκιμάζοντας να δημιουργήσετε ένα νέο έγγραφο μέσα σε ένα νέο ευρετήριο εκτελώντας κάτι παρόμοιο με το παρακάτω:
Αυτή η εντολή θα δημιουργήσει ένα **νέο ευρετήριο** με το όνομα `bookindex` με ένα έγγραφο τύπου `books` που έχει τα χαρακτηριστικά "_bookId_", "_author_", "_publisher_" και "_name_"
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να**κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**την Οικογένεια PEASS**](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.