
CVE-2015-3224 एक्सप्लॉइट - Rails Web Console RCE
CVE-2015-3224 के शोषण के लिए एक JavaScript कार्यान्वयन (Node.js)। यह उपकरण Ruby on Rails अनुप्रयोगों को लक्षित करता है जो web-console gem के कमजोर संस्करण चला रहे हैं, जो अप्रमाणित दूरस्थ कोड निष्पादन (RCE) की अनुमति देता है।
CVE-2015-3224 एक हमलावर को Rails web-console gem की IP व्हाइटलिस्ट सुरक्षा को बायपास करने की अनुमति देता है।
web-console एक डीबगिंग उपकरण है जो केवल विकास के दौरान उपयोग के लिए है। डिफ़ॉल्ट रूप से, यह 127.0.0.1 (localhost) IP पते तक पहुंच को प्रतिबंधित करता है। हालांकि, कमजोर संस्करण उचित सत्यापन के बिना X-Forwarded-For HTTP हेडर के आधार पर क्लाइंट के IP पते को सत्यापित करते हैं।
एक विशिष्ट नकली IP (जैसे, 0000::1) के साथ अनुरोध तैयार करके, एक हमलावर एप्लिकेशन को यह विश्वास दिला सकता है कि अनुरोध एक विश्वसनीय स्थानीय स्रोत से आ रहा है। चूंकि कंसोल Ruby कोड का मूल्यांकन करता है, इससे तत्काल दूरस्थ कोड निष्पादन (RCE) होता है।
यह स्क्रिप्ट दो मुख्य चरणों में शोषण प्रक्रिया को स्वचालित करती है:
टोह और पथ निष्कर्षण:
data-remote-path को निकालता है, जो कंसोल के साथ बातचीत करने के लिए आवश्यक एक अद्वितीय सत्र ID है।पेलोड इंजेक्शन:
X-Forwarded-For: 0000::1 हेडर इंजेक्ट करता है।input पैरामीटर के अंदर उपयोगकर्ता द्वारा परिभाषित कमांड भेजता है (उचित रूप से form-url-encoded बॉडी के रूप में स्वरूपित)।fetch समर्थन के लिए v18 या उच्चतर अनुशंसित)।रिपॉजिटरी को क्लोन करें और Node.js के साथ सीधे स्क्रिप्ट चलाएं:
# सिंटैक्स
node exploit.js [TARGET_URL] [COMMAND]
# उदाहरण
node exploit.js http://vulnerable-site.com "uname -a"
[*] Target: http://vulnerable-site.com
[*] Command: whoami
[+] Console path found: console/repl_sessions/cd984a0d............
[+] Command Output:
---------------------------------------------------
webrick
---------------------------------------------------
इस कमजोरी को ठीक करने के लिए, अपने Gemfile में web-console gem को संस्करण 2.1.3 या उच्चतर पर अपडेट करें:
gem 'web-console', '>= 2.1.3'
वैकल्पिक रूप से, सुनिश्चित करें कि उत्पादन वातावरण में वेब कंसोल सख्ती से अक्षम है।
MIT लाइसेंस के तहत वितरित।