Learn & practice AWS Hacking:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
Learn & practice GCP Hacking: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
Elasticsearch, **dağıtık**, **açık kaynak** bir arama ve analiz motorudur ve **her türlü veri** için kullanılır. **Hızı**, **ölçeklenebilirliği** ve **basit REST API'leri** ile bilinir. Apache Lucene üzerine inşa edilmiştir ve ilk olarak 2010 yılında Elasticsearch N.V. (şimdi Elastic olarak bilinir) tarafından piyasaya sürülmüştür. Elasticsearch, veri alımı, zenginleştirme, depolama, analiz ve görselleştirme için açık kaynak araçların bir koleksiyonu olan Elastic Stack'in temel bileşenidir. Genellikle ELK Stack olarak adlandırılan bu yığın, ayrıca Logstash ve Kibana'yı içerir ve şimdi Beats adı verilen hafif veri taşıma ajanlarına sahiptir.
Elasticsearch **indeksi**, **JSON** olarak saklanan **ilişkili belgelerin** bir koleksiyonudur. Her belge, **anahtarlar** ve bunların karşılık gelen **değerleri** (dizeler, sayılar, booleanlar, tarihler, diziler, coğrafi konumlar vb.) içerir.
Elasticsearch, hızlı tam metin aramaları sağlamak için **ters indeks** adı verilen verimli bir veri yapısı kullanır. Bu indeks, belgelerdeki her benzersiz kelimeyi listeler ve her kelimenin göründüğü belgeleri tanımlar.
İndeksleme süreci sırasında, Elasticsearch belgeleri saklar ve ters indeksi oluşturur, bu da neredeyse gerçek zamanlı arama yapılmasına olanak tanır. **İndeks API'si**, belirli bir indeks içinde JSON belgelerini eklemek veya güncellemek için kullanılır.
Elasticsearch'e erişmek için kullanılan protokol **HTTP**'dir. HTTP üzerinden eriştiğinizde bazı ilginç bilgiler bulacaksınız: `http://10.10.10.115:9200/`
**Varsayılan olarak Elasticsearch'te kimlik doğrulama etkin değildir**, bu nedenle varsayılan olarak veritabanının içindeki her şeye herhangi bir kimlik bilgisi kullanmadan erişebilirsiniz.
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}
Bu, kimlik doğrulamanın yapılandırıldığı ve **geçerli kimlik bilgilerine** sahip olmanız gerektiği anlamına gelir. Ardından, [**bunu brute force ile denemek**](../generic-methodologies-and-resources/brute-force.md#elasticsearch) (HTTP temel kimlik doğrulaması kullanır, bu nedenle BF HTTP temel kimlik doğrulaması ile kullanılabilecek her şey kullanılabilir).\
İşte bir **varsayılan kullanıcı adı listesi**: _**elastic** (superuser), remote\_monitoring\_user, beats\_system, logstash\_system, kibana, kibana\_system, apm\_system,_ \_anonymous\_.\_ Elasticsearch'in eski sürümleri için bu kullanıcı için varsayılan şifre **changeme**dir.
Bu uç noktalar [**belgeden alınmıştır**](https://www.elastic.co/guide/en/elasticsearch/reference/current/rest-apis.html) burada daha fazla **bulabilirsiniz**.\
Ayrıca, `/_cat`'e erişirseniz, yanıt `/_cat/*` uç noktalarını içerecektir.
**Bir indeksin içinde hangi tür verilerin kaydedildiği hakkında bilgi almak için** `http://host:9200/<index>` adresine erişebilirsiniz, bu durumda örneğin `http://10.10.10.115:9200/bank`
Eğer bir indeksin **tüm içeriğini dökmek** istiyorsanız, `http://host:9200/<index>/_search?pretty=true` adresine erişebilirsiniz, örneğin `http://10.10.10.115:9200/bank/_search?pretty=true`
Bu noktada, **"hits" içinde "total" adında bir alan olduğunu** fark edebilirsiniz; bu, **bu indekste 1000 belgenin bulunduğunu** ancak yalnızca 10'unun geri alındığını gösterir. Bunun nedeni, **varsayılan olarak 10 belge sınırının** olmasıdır.\
Ama, artık **bu indeksin 1000 belge içerdiğini** bildiğinize göre, **hepsini dökebilirsiniz**; dökmek istediğiniz giriş sayısını**`size`** parametresinde belirtebilirsiniz: `http://10.10.10.115:9200/quotes/_search?pretty=true&size=1000`asd\
_Not: Daha büyük bir sayı belirtirseniz, tüm girişler yine de dökülecektir; örneğin `size=9999` belirtebilirsiniz ve daha fazla giriş varsa garip olur (ama kontrol etmelisiniz)._
Hepsini dökmek için, **önceki yolla aynı yola gidebilir ancak herhangi bir indeks belirtmeden**`http://host:9200/_search?pretty=true` adresine gidebilirsiniz, örneğin `http://10.10.10.115:9200/_search?pretty=true`\
Bu durumda **varsayılan 10** sonuç sınırının uygulanacağını unutmayın. Daha **büyük bir sonuç miktarını** dökmek için `size` parametresini kullanabilirsiniz. Daha fazla bilgi için önceki bölümü okuyun.
Eğer bazı bilgiler arıyorsanız, tüm indekslerde **ham bir arama** yapmak için `http://host:9200/_search?pretty=true&q=<search_term>` adresine gidebilirsiniz, örneğin `http://10.10.10.115:9200/_search?pretty=true&q=Rockwell`
Eğer sadece bir indekste **arama yapmak** istiyorsanız, **yolu** belirterek **bunu yapabilirsiniz**: `http://host:9200/<index>/_search?pretty=true&q=<search_term>`
Ayrıca bir elasticsearch hizmetini fuzzlamak için [https://github.com/misalabs/horuz](https://github.com/misalabs/horuz) gibi bir şey de kullanabilirsiniz.
O cmd, "_bookId_", "_author_", "_publisher_" ve "_name_" özelliklerine sahip `books` türünde bir belge ile `bookindex` adında **yeni bir indeks** oluşturacaktır.
AWS Hacking'i öğrenin ve pratik yapın:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**