
CVE-2012-2982 (Webmin RCE) के लिए PoC exploit, शैक्षिक उद्देश्यों के लिए।
इस रिपॉजिटरी में CVE-2012-2982 के लिए एक Proof-of-Concept (PoC) एक्सप्लॉइट है, जो Webmin संस्करण 1.590 और उससे पहले को प्रभावित करने वाली एक रिमोट प्रमाणित कमांड निष्पादन कमजोरी है। यह कमजोरी /file/show.cgi एंडपॉइंट में मौजूद है, जहाँ एक हमलावर एक हेरफेर किए गए अनुरोध में विशेष वर्णों (जैसे | पाइप प्रतीक) को इंजेक्ट करके मनमानी कमांड्स निष्पादित कर सकता है।
यह PoC केवल शैक्षिक और सुरक्षा अनुसंधान उद्देश्यों के लिए है। अनधिकृत प्रणालियों का बिना अनुमति शोषण अवैध और अनैतिक है।
Webmin एक लोकप्रिय वेब-आधारित सिस्टम प्रशासन उपकरण है जो Unix-आधारित सिस्टम के प्रबंधन के लिए है। संस्करण 1.590 और उससे पहले में, File Manager मॉड्यूल में एक सुरक्षा दोष मौजूद है। यह समस्या /file/show.cgi स्क्रिप्ट के साथ इंटरैक्ट करते समय उपयोगकर्ता इनपुट के अनुचित सैनिटाइजेशन के कारण उत्पन्न होती है। शेल मेटाकैरेक्टर (|) इंजेक्ट करके, एक प्रमाणित उपयोगकर्ता लक्ष्य सिस्टम पर Webmin प्रक्रिया के विशेषाधिकारों (अक्सर root) के साथ मनमानी कमांड्स निष्पादित कर सकता है।
प्रभावित संस्करण: Webmin 1.590 और उससे पहले
हमले की पूर्वशर्तें:
हमलावर के पास वैध Webmin क्रेडेंशियल्स होने चाहिए (निम्न-विशेषाधिकार वाला उपयोगकर्ता खाता पर्याप्त है)।
File Manager मॉड्यूल सुलभ होना चाहिए।
शोषण की अनुमति:
रिमोट कोड निष्पादन (RCE)
विशेषाधिकार वृद्धि (यदि Webmin root के रूप में चल रहा है)
सिस्टम से समझौता
कमजोर एंडपॉइंट है:
http://<target_ip>:10000/file/show.cgi
हमला फ़ाइल पथ पास करते समय अनुचित इनपुट सत्यापन का शोषण करता है, जो | के माध्यम से इंजेक्ट किए गए शेल कमांड के निष्पादन की अनुमति देता है।
इस रिपॉजिटरी में एक पायथन एक्सप्लॉइट स्क्रिप्ट है जो स्वचालित करती है:
प्रमाणीकरण: प्रदान किए गए क्रेडेंशियल्स का उपयोग करके Webmin में लॉगिन करता है।
सत्र आईडी निष्कर्षण: प्रमाणित अनुरोधों के लिए आवश्यक सत्र आईडी प्राप्त करता है।
पेलोड निष्पादन: मनमानी कमांड्स निष्पादित करने के लिए एक दुर्भावनापूर्ण अनुरोध भेजता है।
यादृच्छिक निष्पादन पथ: पहचान से बचने के लिए यादृच्छिक रूप से उत्पन्न फ़ाइल नाम का उपयोग करता है।
रिवर्स शेल समर्थन: हमलावर की मशीन से वापस जुड़ने के लिए एक रिवर्स शेल पेलोड उत्पन्न करता है।
त्रुटि प्रबंधन: अनुरोध विफलताओं को सुचारू रूप से संभालता है।
मॉड्यूलर डिज़ाइन: विभिन्न पेलोड के परीक्षण के लिए संशोधित करना आसान है।
Python 3
requests लाइब्रेरी (pip install requests)
परीक्षण के लिए एक Webmin इंस्टेंस (कमजोर संस्करण) (नियंत्रित प्रयोगशाला वातावरण का उपयोग करें)
उपयोग:
python3 exploit.py <target_IP>
उदाहरण:
python3 exploit.py 192.168.1.100
हमलावर IP (**lhost**): 10.21.48.124
हमलावर पोर्ट (**lport**): 1937
लक्ष्य Webmin क्रेडेंशियल्स:
उपयोगकर्ता नाम: user1
पासवर्ड: 1user
यदि सफल होता है, तो एक्सप्लॉइट हमलावर की मशीन से एक रिवर्स शेल कनेक्शन स्थापित करता है।
एक्सप्लॉइट चलाने से पहले, अपनी हमलावर मशीन पर Netcat लिसनर सेट करें ताकि रिवर्स शेल प्राप्त हो सके:
nc -lvnp 1937
एक बार एक्सप्लॉइट सफलतापूर्वक निष्पादित हो जाने पर, आपको लक्ष्य मशीन से एक शेल कनेक्शन प्राप्त होना चाहिए।
यह PoC कड़ाई से सुरक्षा अनुसंधान और शैक्षिक उद्देश्यों के लिए है। इसका उपयोग केवल अधिकृत पैठ परीक्षण वातावरण में किया जाना चाहिए। उत्पादन प्रणालियों के खिलाफ अनधिकृत उपयोग साइबर सुरक्षा कानूनों का उल्लंघन है और इसके कानूनी परिणाम हो सकते हैं।
लेखक इस एक्सप्लॉइट के किसी भी दुरुपयोग के लिए जिम्मेदार नहीं हैं। इस PoC का उपयोग केवल कानूनी सुरक्षा परीक्षण और नैतिक हैकिंग गतिविधियों के लिए करें।