
wp2shell-Hestia-Scanner — Updated!
# हेस्टियाCP सर्वर के लिए रीड-ओनली वर्डप्रेस सुरक्षा स्कैनर सभी होस्टेड साइटों पर wp2shell समझौता संकेतक (CVE-2026-63030 / CVE-2026-60137) का पता लगाता है — प्रति-उपयोगकर्ता ईमेल रिपोर्ट, स्वच्छ वर्डप्रेस के विरुद्ध कोर फ़ाइल अंतर, PHP/JS/htaccess/छवि विश्लेषण, और Claude API के माध्यम से वैकल्पिक AI मूल्यांकन।
🛡️ wp2shell-Hestia-Scanner
HestiaCP सर्वरों के लिए केवल-पठनीय WordPress सुरक्षा स्कैनर।
सभी होस्टेड साइटों पर wp2shell समझौता संकेतकों का पता लगाता है — प्रति-क्लाइंट ईमेल रिपोर्ट, कोर फ़ाइल diff, SHA256 वेबशेल पहचान, जोखिम स्कोरिंग, और वैकल्पिक AI मूल्यांकन के साथ।
⚠️ सुरक्षित संस्करण: WordPress 6.8.6 / 6.9.5 / 7.0.2 या नया।
ये स्क्रिप्ट कभी भी कुछ संशोधित नहीं करतीं — पूरी तरह से केवल-पठनीय।
🇬🇧 English
wp2shell क्या है?
wp2shell WordPress कोर में एक प्री-ऑथेंटिकेशन रिमोट कोड एक्ज़ीक्यूशन (RCE) श्रृंखला है, जिसे 17 जुलाई 2026 को खुलासा किया गया। एक डिफ़ॉल्ट इंस्टॉलेशन के विरुद्ध एक एकल अनाम HTTP अनुरोध एक दुष्ट व्यवस्थापक बनाने और सर्वर पर मनमाना कोड निष्पादित करने के लिए पर्याप्त है।
यह श्रृंखला संयोजित करती है:
- CVE-2026-60137 —
WP_Queryकेauthor__not_inपैरामीटर में SQL इंजेक्शन - CVE-2026-63030 — REST API
/wp-json/batch/v1एंडपॉइंट में रूट कन्फ्यूज़न
समझौता की गई साइटें लॉगिन उपसर्ग wp2_ और ईमेल @wp2shell.invalid वाला एक दुष्ट व्यवस्थापक दिखाती हैं।
अधिक जानकारी: https://wp2shell.com
रिपॉज़िटरी सामग्री
| फ़ाइल | उद्देश्य |
|---|---|
wp2shell-scan.sh | तेज़ सर्वर-व्यापी IoC स्कैनर — रंग-कोडित टर्मिनल आउटपुट, प्रति साइट जोखिम स्कोर, /root/ में स्वतः-सहेजी गई रिपोर्ट |
wp2shell-report-per-user.sh | पूर्ण स्कैनर — प्रति-HestiaCP-उपयोगकर्ता ईमेल रिपोर्ट, कोर फ़ाइल diff, SHA256 वेबशेल पहचान, AI मूल्यांकन, जोखिम स्कोरिंग |
known_shells.sha256 | ज्ञात वेबशेल हैश डेटाबेस (SHA256) — रनटाइम पर स्वचालित रूप से प्राप्त |
स्कैनर क्या जाँचता है
डेटाबेस / उपयोगकर्ता जाँच
| जाँच | गंभीरता |
|---|---|
| WordPress संस्करण बनाम सुरक्षित संस्करण | HIGH / OK |
wp2_ उपसर्ग या @wp2shell.invalid ईमेल वाले खाते | CRITICAL |
| खुलासे (15/07/2026) के बाद बनाए गए व्यवस्थापक | MEDIUM |
| उपयोगकर्ता-ID अनुक्रम में अंतराल (हटाए गए दुष्ट व्यवस्थापक के निशान) | MEDIUM |
अनाथ wp_usermeta पंक्तियाँ | MEDIUM |
ज़हरीली oembed_cache / customize_changeset पंक्तियाँ | CRITICAL |
छेड़छाड़ किए गए WP विकल्प (upload_path, auto_prepend_file, siteurl) | CRITICAL / HIGH |
कोर फ़ाइल अखंडता
| जाँच | गंभीरता |
|---|---|
wp core verify-checksums बनाम wp.org | HIGH |
स्वच्छ डाउनलोड किए गए कोर के विरुद्ध पंक्ति-दर-पंक्ति diff -U5 | CRITICAL / HIGH / OK |
| स्वच्छ कोर में मौजूद नहीं अतिरिक्त फ़ाइलें (सामग्री + मेटाडेटा दिखाया गया) | CRITICAL / HIGH |
फ़ाइल विश्लेषण
| जाँच | गंभीरता |
|---|---|
uploads/ में PHP | CRITICAL |
अतिरिक्त PHP एक्सटेंशन (.php7 .phtml .phar .php5) | HIGH |
| ज्ञात वेबशेल डेटाबेस के विरुद्ध SHA256 मिलान (WSO, FilesMan, b374k, p0wny…) | CRITICAL |
SINCE_DATE के बाद संशोधित PHP और संदिग्ध पैटर्न से मेल खाती — मेल खाती पंक्ति इनलाइन दिखाई गई | CRITICAL / HIGH |
| संदिग्ध पैटर्न वाली PHP लेकिन हाल ही में संशोधित नहीं | LOW |
SINCE_DATE के बाद संशोधित JS/HTML और अस्पष्टीकरण पैटर्न से मेल खाते | MEDIUM |
| बाहरी C2/डेटा निष्कासन URLs (pastebin, ngrok, Discord webhooks, bit.ly…) | CRITICAL |
.htaccess खतरनाक निर्देश (AddType, auto_prepend_file, बाहरी RewriteRule) | HIGH |
SINCE_DATE के बाद संशोधित .htaccess | MEDIUM |
PHP पेलोड वाली पॉलीग्लॉट छवियाँ (<?php in .jpg/.png…) | CRITICAL |
उजागर बैकअप/कॉन्फ़िग फ़ाइलें (wp-config.php.bak, *.sql…) | MEDIUM |
स्थिरता (Persistence)
| जाँच | गंभीरता |
|---|---|
curl/wget/php/base64 वाली उपयोगकर्ता crontab प्रविष्टियाँ | HIGH |
| साइट पथ का संदर्भ देने वाली सिस्टम cron फ़ाइलें | MEDIUM |
जोखिम स्कोर
प्रत्येक साइट को 0–100 जोखिम स्कोर प्राप्त होता है जिसमें प्रत्येक योगदान देने वाले निष्कर्ष का विवरण होता है:
+------------------------------------------+
| RISK SCORE: 96/100 COMPROMISED |
+------------------------------------------+
+40 wp2shell fingerprint account
+30 PHP file(s) inside uploads/
+20 Vulnerable WordPress version
+6 Core checksum failure
| स्कोर | लेबल |
|---|---|
| 0–20 | Probably Clean |
| 21–40 | Low Risk |
| 41–60 | Medium Risk |
| 61–80 | High Risk |
| 81+ | COMPROMISED |
आवश्यकताएँ
- HestiaCP चलाने वाला Linux सर्वर
- bash 4.0+
- WP-CLI वैश्विक रूप से
wpके रूप में स्थापित rootपहुँचsendmail(ईमेल रिपोर्ट के लिए)python3(AI मूल्यांकन JSON हैंडलिंग के लिए)curl,sha256sum,file,strings,unzip
WP-CLI स्थापित करें (यदि अनुपलब्ध है)
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar && sudo mv wp-cli.phar /usr/local/bin/wp
एक-लाइनर इंस्टॉल और रन
तेज़ IoC स्कैन
curl -fsSL https://raw.githubusercontent.com/BytesPulse-OE/wp2shell-Hestia-Scanner/main/wp2shell-scan.sh | sudo bash
प्रति-क्लाइंट ईमेल रिपोर्ट के साथ पूर्ण स्कैन
curl -fsSL https://raw.githubusercontent.com/BytesPulse-OE/wp2shell-Hestia-Scanner/main/wp2shell-report-per-user.sh \
-o wp2shell-report-per-user.sh && sudo bash wp2shell-report-per-user.sh
नोट: पूर्ण स्कैनर स्टार्टअप पर इंटरैक्टिव प्रश्न पूछता है (AI मूल्यांकन, रिपोर्ट सहेजें, दिनांक सीमा)। पहले डाउनलोड करना फिर चलाना सुनिश्चित करता है कि प्रॉम्प्ट सही ढंग से काम करें।
उपयोग
wp2shell-scan.sh — तेज़ सर्वर-व्यापी स्कैन
sudo bash wp2shell-scan.sh
/home/*/web/*/public_html/ के अंतर्गत सभी WordPress इंस्टॉलेशन ढूँढता है, सभी जाँचें चलाता है, टर्मिनल पर रंग-कोडित आउटपुट प्रिंट करता है, और /root/wp2shell-report-YYYYMMDD-HHMMSS.txt में एक पूर्ण रिपोर्ट सहेजता है।
स्टार्टअप पर यह एक वैकल्पिक कस्टम दिनांक सीमा पूछता है (डिफ़ॉल्ट: 2026-07-15)।
wp2shell-report-per-user.sh — ईमेल रिपोर्ट के साथ पूर्ण स्कैन
sudo bash wp2shell-report-per-user.sh
स्टार्टअप पर, तीन प्रश्न:
[AI EVALUATION] Use AI evaluation for ambiguous files? [y/N]
[SAVE REPORT] Save a full report file for later review? [y/N]
[DATE THRESHOLD] Use a different date? Leave blank to keep default [YYYY-MM-DD]:
हमेशा DRY_RUN=1 से शुरू करें (डिफ़ॉल्ट) — ईमेल स्क्रीन पर पूर्वावलोकन किए जाते हैं, कुछ भी नहीं भेजा जाता। आउटपुट सही दिखने की पुष्टि करने के बाद ही DRY_RUN=0 में बदलें।
कॉन्फ़िगरेशन
wp2shell-scan.sh
| चर | डिफ़ॉल्ट | विवरण |
|---|---|---|
WEB_ROOT | /home | HestiaCP वेब रूट |
SINCE_DATE | 2026-07-15 | "हाल ही में संशोधित" सीमा |
WP | wp | WP-CLI का पथ |
wp2shell-report-per-user.sh
| चर | डिफ़ॉल्ट | विवरण |
|---|---|---|
DRY_RUN | 1 | 1 = केवल पूर्वावलोकन, 0 = ईमेल भेजें |
SEND_ONLY_IF_ISSUES | 0 | 1 = साइट स्वच्छ होने पर ईमेल छोड़ें |
SINCE_DATE | 2026-07-15 | "हाल ही में संशोधित" सीमा |
MAIL_FROM | security@<hostname> | लिफ़ाफ़ा प्रेषक |
CORE_CACHE | /root/wp2shell-cores | स्वच्छ कोर कैश निर्देशिका |
ANTHROPIC_API_KEY | (खाली) | AI मूल्यांकन के लिए Claude API कुंजी |
AI मूल्यांकन (वैकल्पिक)
अस्पष्ट diffs के लिए जिन्हें अकेले पैटर्न वर्गीकृत नहीं कर सकते, स्कैनर diff को Claude API (claude-sonnet-4-6) पर भेजता है और एक निर्णय लौटाता है: DANGER, SUSPICIOUS, REVIEW, या OK एक-वाक्य स्पष्टीकरण के साथ। AI का उपयोग केवल ग्रे ज़ोन में किया जाता है — स्पष्ट मामलों को बिना किसी API कॉल के तुरंत वर्गीकृत किया जाता है।
अपनी कुंजी स्क्रिप्ट में सेट करें या चलाने से पहले निर्यात करें:
export ANTHROPIC_API_KEY='sk-ant-api03-...'
sudo -E bash wp2shell-report-per-user.sh
API कुंजियाँ: https://console.anthropic.com — claude.ai सदस्यताओं से अलग।