<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 स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा एक्सक्लूसिव [**NFTs**](https://opensea.io/collection/the-peass-family) का संग्रह
* 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) में **शामिल हों** या [**telegram group**](https://t.me/peass) या **Twitter** पर मुझे 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm) **का अनुसरण करें**.
* **अपनी हैकिंग ट्रिक्स साझा करें, HackTricks** के [**github repos**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) में PRs सबमिट करके.
> Elasticsearch एक वितरित, ओपन सोर्स सर्च और एनालिटिक्स इंजन है जो सभी प्रकार के डेटा के लिए है, जिसमें टेक्स्टुअल, न्यूमेरिकल, जियोस्पेशियल, स्ट्रक्चर्ड, और अनस्ट्रक्चर्ड शामिल हैं। Elasticsearch Apache Lucene पर आधारित है और पहली बार 2010 में Elasticsearch N.V. (अब Elastic के नाम से जाना जाता है) द्वारा जारी किया गया था। इसके सरल REST APIs, वितरित प्रकृति, गति, और स्केलेबिलिटी के लिए जाना जाता है, Elasticsearch Elastic Stack का केंद्रीय घटक है, जो डेटा इंजेस्शन, समृद्धि, संग्रहण, विश्लेषण, और दृश्यीकरण के लिए ओपन सोर्स टूल्स का एक सेट है। आमतौर पर ELK Stack (Elasticsearch, Logstash, और Kibana के बाद) के रूप में जाना जाता है, Elastic Stack अब Beats का एक समृद्ध संग्रह शामिल करता है, जो हल्के शिपिंग एजेंट्स हैं जो डेटा को Elasticsearch में भेजने के लिए जाने जाते हैं।
Elasticsearch _इंडेक्स_**दस्तावेजों का एक संग्रह है** जो एक-दूसरे से संबंधित होते हैं। 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 से कोई भी जानकारी प्राप्त की जा सके। फिर, आप [**इसे ब्रूटफोर्स करने की कोशिश कर सकते हैं**](../generic-methodologies-and-resources/brute-force.md#elasticsearch) (यह HTTP बेसिक ऑथ का उपयोग करता है, इसलिए कुछ भी जो HTTP बेसिक ऑथ को ब्रूटफोर्स कर सकता है, उसका उपयोग किया जा सकता है)।\
यहाँ आपके पास **डिफ़ॉल्ट यूज़रनेम्स की सूची है**: _**elastic** (सुपरयूज़र), remote\_monitoring\_user, beats\_system, logstash\_system, kibana, kibana\_system, apm\_system,_ \_anonymous\_.\_ Elasticsearch के पुराने संस्करणों में इस यूज़र के लिए डिफ़ॉल्ट पासवर्ड **changeme** होता है
ये endpoints [**दस्तावेज़ीकरण से लिए गए हैं**](https://www.elastic.co/guide/en/elasticsearch/reference/current/rest-apis.html) जहाँ आप **और अधिक जानकारी पा सकते हैं**।\
साथ ही, यदि आप `/_cat` एक्सेस करते हैं तो प्रतिक्रिया में उस instance द्वारा समर्थित `/_cat/*` endpoints शामिल होंगे।
**किस प्रकार का डेटा एक इंडेक्स के अंदर सेव है, इसकी जानकारी प्राप्त करने के लिए** आप इस पते पर जा सकते हैं: `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`
_इस बिंदु पर थोड़ा समय लें और बैंक इंडेक्स के अंदर प्रत्येक दस्तावेज़ (प्रविष्टि) की सामग्री की तुलना करें और इस इंडेक्स के क्षेत्रों से जो हमने पिछले अनुभाग में देखा था।_
इसलिए, इस बिंदु पर आप देख सकते हैं कि **"हिट्स" के अंदर "टोटल" नामक एक क्षेत्र है** जो दर्शाता है कि **इस इंडेक्स के अंदर 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>`
यह cmd एक **नया इंडेक्स** बनाएगा जिसे `bookindex` कहा जाता है जिसमें `books` प्रकार का एक दस्तावेज़ होगा जिसमें "_bookId_", "_author_", "_publisher_" और "_name_" गुण होंगे।
<summary><strong>शून्य से नायक तक AWS हैकिंग सीखें</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS रेड टीम एक्सपर्ट)</strong></a><strong> के साथ!</strong></summary>
* यदि आप चाहते हैं कि आपकी **कंपनी का विज्ञापन HackTricks में दिखाई दे** या **HackTricks को PDF में डाउनलोड करें**, तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks स्वैग**](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/carlospolopm) को **फॉलो करें**.
* **HackTricks** के [**github repos**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) में PRs सबमिट करके अपनी हैकिंग ट्रिक्स शेयर करें.