
Python CLI जो profile-import अपलोड के माध्यम से Joomla JCE में CVE-2026-48907 का शोषण करता है, shell पथों की पुष्टि करता है, और अधिकृत लक्ष्यों पर एक इंटरैक्टिव कमांड चैनल खोलता है।
E.L.V — एक्सप्लॉइट लोडर एवं भेद्यता फर्मवेयर
अधिकृत भेद्यता मूल्यांकन के लिए साइबर सुरक्षा अनुसंधान उपयोगिता।
E.L.V CVE अनुसंधान एवं मूल्यांकन फ्रेमवर्क एक Python-आधारित कमांड-लाइन उपयोगिता है जो नियंत्रित सुरक्षा अनुसंधान और अधिकृत भेद्यता मूल्यांकन के लिए है।
प्रदान किए गए कार्यान्वयन में निम्नलिखित कार्यक्षमताएँ शामिल हैं:
वर्तमान स्रोत अपने अनुसंधान लक्ष्य की पहचान इस प्रकार करता है:
CVE-2026-48907 Joomla! JCE Extension < 2.9.99.5 Unauthenticated RCE
वह CVE/उत्पाद दावा स्रोत कोड द्वारा प्रदान किया गया मेटाडेटा है और इस README द्वारा स्वतंत्र रूप से सत्यापित नहीं किया गया है। सुरक्षा दावा प्रकाशित करने से पहले, पहचानकर्ता, प्रभावित संस्करणों, सलाहकार, प्रभावित घटक, और उपचार जानकारी को किसी विश्वसनीय विक्रेता/CVE स्रोत के विरुद्ध सत्यापित करें।
यह परियोजना दूरस्थ वेब अनुप्रयोगों के साथ इंटरैक्ट करती है और प्रदान किए गए कार्यान्वयन में एक कस्टम सर्वर-साइड पेलोड अपलोड करने और अपलोड किए गए शेल के साथ संचार करने की कार्यक्षमता शामिल है।
इसका उपयोग केवल उन सिस्टमों के विरुद्ध करें जिनके लिए आपके पास स्पष्ट प्राधिकरण है।
इस परियोजना का उपयोग निम्नलिखित के लिए न करें:
सुरक्षित प्रयोगशाला के लिए, एक पृथक स्थानीय VM/कंटेनर वातावरण या जानबूझकर भेद्य प्रशिक्षण लक्ष्य का उपयोग करें।
| फ़ील्ड | मान |
|---|---|
| परियोजना | E.L.V CVE अनुसंधान एवं मूल्यांकन फ्रेमवर्क |
| लेखक / इंजन | HxN / E.L.V |
| संस्करण | 1.0.0 |
| भाषा | Python |
| प्लेटफ़ॉर्म | *nix / Unix-जैसे सिस्टम |
| लाइसेंस | GNU GPL v3 |
| इंटरफ़ेस | कमांड लाइन |
| HTTP क्लाइंट | requests |
| समवर्तीता | ThreadPoolExecutor |
| प्राथमिक उद्देश्य | अधिकृत सुरक्षा अनुसंधान और मूल्यांकन |
प्रदान किए गए elv-cve.py स्रोत में निम्नलिखित प्रमुख घटक शामिल हैं।
स्क्रिप्ट --shell विकल्प के माध्यम से प्रदान की गई स्थानीय फ़ाइल को पढ़ती है।
स्रोत इसे एक कस्टम शेल/अपलोडर फ़ाइल के रूप में वर्णित करता है और निर्दिष्ट फ़ाइल पढ़ी नहीं जा सकने पर समाप्त हो जाती है।
प्रोग्राम दो परस्पर अनन्य लक्ष्य मोड का समर्थन करता है:
प्रत्येक लक्ष्य के लिए, स्क्रिप्ट लक्ष्य रूट के विरुद्ध एक GET अनुरोध करती है और जारी रखने से पहले HTTP 200 प्रतिक्रिया की अपेक्षा करती है।
कार्यान्वयन नियमित अभिव्यक्तियों का उपयोग करके लौटाए गए HTML में CSRF-संबंधित मान की खोज करता है।
वर्तमान में दो पैटर्न लागू किए गए हैं।
स्क्रिप्ट निम्नलिखित के विरुद्ध एक मल्टीपार्ट अपलोड अनुरोध का निर्माण करती है:```text /index.php?option=com_jce
अनुरोध में profile-import कार्य और निकाले गए टोकन शामिल हैं।
### 6. उम्मीदवार-पथ सत्यापन
अपलोड अनुरोध के बाद, प्रोग्राम परिणामी फ़ाइल के लिए कई संभावित स्थानों की जाँच करता है।
वर्तमान स्रोत में ये उम्मीदवार पथ शामिल हैं:```text
/tmp/
/images/
/images/stories/
/media/
एकल लक्ष्य के लिए, वर्तमान प्रोग्राम एक इंटरैक्टिव कमांड इंटरफ़ेस को आमंत्रित करता है जब यह एक सफल अपलोड किए गए शेल पथ की रिपोर्ट करता है।
स्रोत POST पैरामीटर का उपयोग करके कमांड भेजता है जिनके नाम हैं:```text cmd c
क्योंकि यह कार्यक्षमता रिमोट कमांड निष्पादन का परिणाम दे सकती है, इसे पृथक, स्पष्ट रूप से अधिकृत वातावरणों तक सीमित रखा जाना चाहिए।
### 8. बहु-लक्ष्य प्रसंस्करण
जब कोई लक्ष्य फ़ाइल प्रदान की जाती है, तो प्रोग्राम एक `ThreadPoolExecutor` का उपयोग करता है और लक्ष्यों को समवर्ती रूप से संसाधित करता है।
स्रोत में डिफ़ॉल्ट थ्रेड संख्या है:```text
10
उच्च स्तर पर, वर्तमान कार्यान्वयन इस प्रवाह का अनुसरण करता है:```text Start │ ├── Parse command-line arguments │ ├── Load local payload file │ ├── Load one target OR target list │ ├── Create ELV_CVE output directory │ ├── Target processing │ │ │ ├── GET target │ ├── Check HTTP response │ ├── Extract token │ ├── Submit profile-import request │ ├── Check candidate file paths │ └── Record result │ └── Write results / display summary
---
## आवश्यकताएँ
दिया गया स्रोत आयात करता है:
- Python मानक-लाइब्रेरी मॉड्यूल:
- `random`
- `re`
- `time`
- `argparse`
- `sys`
- `os`
- `json`
- `threading`
- `concurrent.futures`
- तृतीय-पक्ष मॉड्यूल:
- `requests`
- `urllib3`
इसलिए एक न्यूनतम निर्भरता स्थापना है:```bash
python3 -m pip install requests urllib3
पुनरुत्पादक परिनियोजनों के लिए, निर्भरताओं को requirements.txt फ़ाइल में पिन करें।
उदाहरण:```text requests urllib3
---
## इंस्टॉलेशन
प्रोजेक्ट को एक पृथक मूल्यांकन वातावरण में क्लोन या कॉपी करें।
उदाहरण:```bash
git clone <YOUR-REPOSITORY-URL>
cd <YOUR-REPOSITORY-DIRECTORY>
एक वर्चुअल एनवायरनमेंट बनाएं:```bash python3 -m venv .venv
सक्रिय करें:```bash
source .venv/bin/activate
निर्भरताएँ इंस्टॉल करें:```bash python3 -m pip install -r requirements.txt
Python सत्यापित करें:```bash
python3 --version
निर्भरता सत्यापित करें:```bash python3 -c "import requests, urllib3; print('Dependencies OK')"
> `<YOUR-REPOSITORY-URL>` और `<YOUR-REPOSITORY-DIRECTORY>` को अपने रिपॉजिटरी द्वारा उपयोग किए जाने वाले मानों से बदलें।
---
## कमांड-लाइन इंटरफ़ेस
स्रोत निम्नलिखित कमांड-लाइन विकल्पों को परिभाषित करता है।
### लक्ष्य चयन```text
-u, --url
एकल लक्ष्य URL।```text -f, --file
लक्ष्य URL वाली फ़ाइल का पथ।
ये विकल्प परस्पर अनन्य हैं और इनमें से एक आवश्यक है।
### पेलोड चयन```text
--shell
लोकल कस्टम पेलोड फ़ाइल का पथ।
यह आर्ग्युमेंट वर्तमान इम्प्लीमेंटेशन के लिए आवश्यक है।
-t, --threads
कार्यरत थ्रेड्स की संख्या।
डिफ़ॉल्ट:```text
10
-v, --verbose
वर्बोज़ फ़्लैग को सक्षम करता है जिसे आर्ग्युमेंट पार्सर द्वारा उजागर किया गया है।
नोट: वर्तमान स्रोत इस विकल्प को परिभाषित करता है लेकिन आउटपुट व्यवहार को वास्तविक रूप से बदलने के लिए `args.verbose` का उपयोग नहीं करता है।