- क्या आप किसी **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित** देखना चाहते हैं? या क्या आपको **PEASS की नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का उपयोग** करने की इच्छा है? [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जांच करें!
- **अपने हैकिंग ट्रिक्स को [hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके साझा करें।**
> Elasticsearch सभी प्रकार के डेटा के लिए एक वितरित, ओपन सोर्स खोज और विश्लेषण इंजन है, जिसमें पाठिक, संख्यात्मक, भूगोलिक, संरचित और असंरचित सभी प्रकार के डेटा शामिल होते हैं। Elasticsearch Apache Lucene पर निर्मित है और 2010 में Elasticsearch N.V. (अब Elastic के रूप में जाना जाता है) द्वारा पहली बार जारी किया गया था। यह अपनी सरल REST API, वितरित स्वभाव, गति और स्केलेबिलिटी के लिए जाना जाता है, Elasticsearch Elastic Stack का मुख्य घटक है, जो डेटा संग्रहण, संग्रहण, भंडारण, विश्लेषण और दृश्यीकरण के लिए खुला स्रोत उपकरणों का सेट है। Elasticsearch, Logstash और Kibana के बाद आमतौर पर ELK Stack के रूप में उल्लिखित, Elastic Stack अब 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}
इसका मतलब है कि प्रमाणीकरण कॉन्फ़िगर किया गया है और **आपको मान्य क्रेडेंशियल्स** की आवश्यकता होगी ताकि आप elasticserach से कोई भी जानकारी प्राप्त कर सकें। फिर, आप [**इसे ब्रूटफ़ोर्स करने की कोशिश कर सकते हैं**](../generic-methodologies-and-resources/brute-force.md#elasticsearch) (यह HTTP बेसिक ऑथ का उपयोग करता है, इसलिए ब्रूटफ़ोर्स के लिए कुछ भी उपयोग किया जा सकता है)।\
यहां आपको **डिफ़ॉल्ट उपयोगकर्ता नामों की सूची** है: _**elastic** (सुपरयूजर), remote\_monitoring\_user, beats\_system, logstash\_system, kibana, kibana\_system, apm\_system,_ \_anonymous\_.\_ पुराने संस्करणों में Elasticsearch के लिए डिफ़ॉल्ट पासवर्ड **changeme** होता है।
इलास्टिकसर्च के लिए पेंटेस्टिंग करते समय, उपयोगकर्ता जांच एक महत्वपूर्ण कदम है। यह आपको उपयोगकर्ताओं के बारे में महत्वपूर्ण जानकारी प्रदान करता है जो आपको आगे की पेंटेस्टिंग के लिए मदद कर सकती है। निम्नलिखित तकनीकों का उपयोग करके आप इलास्टिकसर्च पर उपयोगकर्ताओं की जांच कर सकते हैं:
#### 1. डिफ़ॉल्ट उपयोगकर्ता और पासवर्ड
इलास्टिकसर्च के डिफ़ॉल्ट उपयोगकर्ता और पासवर्ड को जांचें। डिफ़ॉल्ट उपयोगकर्ता "elastic" होता है और पासवर्ड खाली होता है।
यदि डिफ़ॉल्ट उपयोगकर्ता और पासवर्ड काम नहीं कर रहे हैं, तो आप ब्रूटफोर्सिंग तकनीक का उपयोग करके अन्य उपयोगकर्ता और पासवर्ड की कोशिश कर सकते हैं। इसके लिए, आप किसी ब्रूटफोर्सिंग टूल का उपयोग कर सकते हैं जैसे कि Hydra या Burp Suite Intruder।
यदि आपको किसी उपयोगकर्ता और पासवर्ड की जानकारी मिल जाती है, तो आप उनका उपयोग करके लॉगिन कर सकते हैं। इसके लिए, आप उपयोगकर्ता और पासवर्ड को इलास्टिकसर्च के लॉगिन पेज पर दर्ज करके जांच सकते हैं।
यदि आप इन तकनीकों का उपयोग करके उपयोगकर्ताओं की जांच करते हैं और कोई सफलता प्राप्त नहीं करते हैं, तो आपको अन्य उपयोगकर्ता जांच तकनीकों का उपयोग करना चाहिए जैसे कि उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामों की दिक्कत, उपयोगकर्ता नामो<E0A4AE>
ये एंडपॉइंट्स [**दस्तावेज़ी से लिए गए हैं**](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`
तो, इस बिंदु पर आप यह देख सकते हैं कि "हिट्स" के अंदर "टोटल" नामक एक फ़ील्ड है जो इस इंडेक्स में मौजूद 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) जैसी कुछ चीजें भी उपयोग कर सकते हैं।
वह cmd एक **नया इंडेक्स** बनाएगा जिसका नाम `bookindex` होगा और जिसमें `books` नामक एक डॉक्यूमेंट होगा जिसमें "_bookId_", "_author_", "_publisher_" और "_name_" नामक गुण होंगे।
- क्या आप किसी **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित** देखना चाहते हैं? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का उपयोग** करने की इच्छा है? [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जांच करें!
- **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में या मुझे **ट्विटर** पर **फ़ॉलो** करें [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
- **अपने हैकिंग ट्रिक्स को [hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके साझा करें।**