
CVE-2023-4220 PoC Chamilo RCE
यह रिपॉजिटरी CVE-2023-4220 के लिए एक प्रूफ ऑफ कॉन्सेप्ट (PoC) है, जो Chamilo LMS को प्रभावित करने वाली एक रिमोट कोड एक्सीक्यूशन (RCE) भेद्यता है। यह भेद्यता अनप्रमाणित हमलावरों को बड़ी फ़ाइल अपलोड सुविधा का शोषण करने की अनुमति देती है, जिससे सर्वर पर मनमाना कोड निष्पादन होता है।
[!IMPORTANT] यह रिपॉजिटरी केवल शैक्षिक उद्देश्यों और कानूनी अनुसंधान के लिए है। इस कोड का जिम्मेदारी से उपयोग करें और केवल उन्हीं सिस्टमों पर करें जिनका परीक्षण करने की अनुमति आपके पास है। लेखक प्रदान की गई जानकारी के दुरुपयोग से होने वाली किसी भी क्षति के लिए कोई दायित्व नहीं लेता है।
लर्निंग मैनेजमेंट सिस्टम एक सॉफ्टवेयर एप्लिकेशन या वेब-आधारित तकनीक है जिसका उपयोग किसी विशिष्ट सीखने की प्रक्रिया की योजना बनाने, लागू करने और मूल्यांकन करने के लिए किया जाता है। इसका उपयोग ई-लर्निंग प्रथाओं के लिए किया जाता है और, इसके सबसे सामान्य रूप में, इसमें दो तत्व होते हैं: एक सर्वर जो मूल कार्यक्षमता करता है और एक उपयोगकर्ता इंटरफ़ेस (UI) जो शिक्षकों, छात्रों और प्रशासकों द्वारा संचालित होता है।
Chamilo एक ओपन-सोर्स PHP-आधारित लर्निंग मैनेजमेंट सिस्टम (LMS) है जो ऑनलाइन शिक्षा और प्रशिक्षण की सुविधा प्रदान करता है। यह पाठ्यक्रम निर्माण, सामग्री प्रबंधन, मूल्यांकन, सहयोग और शैक्षिक संसाधनों की डिलीवरी जैसी सुविधाएँ प्रदान करता है।
requests & argparse & time लाइब्रेरीज़[!NOTE] इस PoC का परीक्षण python 3.11.9, requests 2.32.3 और chamilo 1.11 का उपयोग करके किया गया है
रिपॉजिटरी क्लोन करें:
रिपॉजिटरी को क्लोन करें और उसकी निर्देशिका में जाएँ।
git clone https://github.com/VanishedPeople/CVE-2023-4220.git
cd CVE-2023-4220
निर्भरताएँ स्थापित करें:
pip install -r requirements.txt
लक्ष्य पहचानें: सुनिश्चित करें कि आपके पास असुरक्षित Chamilo LMS इंस्टेंस (प्रभावित संस्करण) है।
शोषण चलाएँ: लक्ष्य के URL के साथ शोषण स्क्रिप्ट चलाएँ।
दुर्भावनापूर्ण पेलोड अपलोड करें: शोषण स्क्रिप्ट बड़ी फ़ाइल अपलोड सुविधा का लाभ उठाकर लक्ष्य Chamilo LMS इंस्टेंस पर एक दुर्भावनापूर्ण फ़ाइल अपलोड करेगी।
रिमोट कोड एक्सीक्यूशन ट्रिगर करें: अपलोड के बाद, दुर्भावनापूर्ण फ़ाइल सर्वर पर निष्पादित हो जाती है, जिससे हमलावर को रिमोट कोड निष्पादन क्षमता मिलती है।
परिणाम: आपको पेलोड और उपयोग किए गए विकल्प के आधार पर सर्वर पर एक शेल या कमांड का निष्पादन दिखाई देना चाहिए।
जाँच करें कि क्या LMS असुरक्षित है
python3 main.py --url <URL> -m check
एक वेबशेल अपलोड करें, जो RCE की ओर ले जाता है
python3 main.py --url <URL> --mode webshell
एक रिवर्स शेल उत्पन्न करें
python3 main.py --url <URL> --mode revshell
इस भेद्यता को कम करने के लिए, सुनिश्चित करें कि Chamilo LMS संस्करण नवीनतम संस्करण में अपडेट किया गया है जहाँ इस समस्या का समाधान किया गया है। समान भेद्यताओं से बचने के लिए फ़ाइल अपलोड के लिए सख्त सत्यापन और प्रमाणीकरण लागू करने की भी सिफारिश की जाती है।
यह प्रोजेक्ट Apache License 2.0 के तहत लाइसेंस प्राप्त है - विवरण के लिए LICENSE फ़ाइल देखें।