🛡️ wp2shell-Hestia-Scanner
🇬🇧 English
|
🇬🇷 Ελληνικά

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 |
स्कैनर क्या जाँचता है
डेटाबेस / उपयोगकर्ता जाँच
कोर फ़ाइल अखंडता
| जाँच | गंभीरता |
|---|
wp core verify-checksums बनाम wp.org | HIGH |
स्वच्छ डाउनलोड किए गए कोर के विरुद्ध पंक्ति-दर-पंक्ति diff -U5 | CRITICAL / HIGH / OK |
| स्वच्छ कोर में मौजूद नहीं अतिरिक्त फ़ाइलें (सामग्री + मेटाडेटा दिखाया गया) | CRITICAL / HIGH |
फ़ाइल विश्लेषण
स्थिरता (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 |
आवश्यकताएँ
- 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
wp2shell-report-per-user.sh
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 सदस्यताओं से अलग।
कोई API कुंजी नहीं? ब्राउज़र विश्लेषक का उपयोग करें
अपने स्कैन आउटपुट को Claude.ai पर wp2shell Report Analyzer आर्टिफैक्ट में पेस्ट करें — यह आपकी अपनी कुंजी की आवश्यकता के बिना सीधे ब्राउज़र में समान AI मूल्यांकन करता है।
आउटपुट प्रारूप
गंभीरता स्तर
कोर diff उदाहरण
┌─ MODIFIED: wp-includes/load.php
│ [CRITICAL] Assessment (patterns): executable/obfuscated pattern in added lines
│ +20 Core file modified with dangerous pattern
│
│ ORIGINAL: /root/wp2shell-cores/7.0.2-el/wp-includes/load.php
│ SITE: /home/user/web/example.gr/public_html/wp-includes/load.php
│ @@ -212,5 +212,6 @@
│ - $loaded = true;
│ + $loaded = true;
│ + eval(base64_decode('aGVsbG8='));
└──────────────────────────────────────
नोट्स
- स्कैनर कभी भी कुछ संशोधित नहीं करता। लाइव प्रोडक्शन सर्वरों पर चलाना सुरक्षित है।
- WordPress को पैच किए गए संस्करण में अपडेट करना भेद्यता को बंद करता है लेकिन पहले से समझौता की गई साइट को साफ़ नहीं करता। यदि संकेतक पाए जाते हैं, तो स्वच्छ बैकअप से पुनर्स्थापित करें।
CORE_CACHE निर्देशिका (/root/wp2shell-cores/) स्कैन के बीच पुन: उपयोग की जाती है। ताज़ा डाउनलोड के लिए इसे हटा दें।
known_shells.sha256 हैश डेटाबेस दिन में एक बार स्वचालित रूप से ताज़ा होता है।
लाइसेंस
GPL-3.0 — LICENSE देखें
क्रेडिट
BytesPulse द्वारा wp2shell खुलासे (जुलाई 2026) के जवाब में विकसित।
CVE जानकारी: https://wp2shell.com
🇬🇷 Ελληνικά
Τι είναι το wp2shell;
Το wp2shell είναι μια αλυσίδα εκμετάλλευσης απομακρυσμένης εκτέλεσης κώδικα (RCE) στον πυρήνα του WordPress, που αποκαλύφθηκε στις 17 Ιουλίου 2026. Ένα μόνο ανώνυμο HTTP αίτημα σε μια προεπιλεγμένη εγκατάσταση αρκεί για τη δημιουργία διαχειριστή και την εκτέλεση αυθαίρετου κώδικα στον server.
Η αλυσίδα συνδυάζει:
- CVE-2026-60137 — SQL injection στην παράμετρο
author__not_in του WP_Query
- CVE-2026-63030 — Route confusion στο REST API
/wp-json/batch/v1
Τα παραβιασμένα sites εμφανίζουν λογαριασμό διαχειριστή με πρόθεμα wp2_ και email @wp2shell.invalid.
Περισσότερες πληροφορίες: https://wp2shell.com
Περιεχόμενα
| Αρχείο | Σκοπός |
|---|
wp2shell-scan.sh | Γρήγορος σαρωτής IoC — έγχρωμη έξοδος στο terminal, risk score ανά site, αυτόματη αποθήκευση report στο /root/ |
wp2shell-report-per-user.sh | Πλήρης σαρωτής — email αναφορές ανά HestiaCP user, diff πυρήνα, SHA256 ανίχνευση webshells, AI αξιολόγηση, risk score |
Τι ελέγχει
Βάση δεδομένων / Χρήστες
Ακεραιότητα αρχείων πυρήνα
| Έλεγχος | Σοβαρότητα |
|---|
wp core verify-checksums vs. wp.org | HIGH |
Γραμμή-γραμμή diff -U5 έναντι καθαρού πυρήνα | CRITICAL / HIGH / OK |
| Επιπλέον αρχεία που δεν υπάρχουν στον καθαρό πυρήνα | CRITICAL / HIGH |
Ανάλυση αρχείων
Persistence
| Έλεγχος | Σοβαρότητα |
|---|
Crontab χρήστη με curl/wget/php/base64 | HIGH |
| System cron αρχεία που αναφέρουν το path του site | MEDIUM |
Risk Score
Κάθε site λαμβάνει βαθμολογία 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 |
|
Απαιτήσεις
- Linux server με HestiaCP
- bash 4.0+
- WP-CLI εγκατεστημένο ως
wp
- Πρόσβαση
root
sendmail (για αποστολή email)
python3 (για AI αξιολόγηση)
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
Πλήρης σαρωτής με email αναφορές
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
Χρήση
wp2shell-scan.sh
sudo bash wp2shell-scan.sh
Βρίσκει αυτόματα όλα τα WordPress installs κάτω από /home/*/web/*/public_html/, εκτελεί όλους τους ελέγχους, τυπώνει έγχρωμη έξοδο στο terminal και αποθηκεύει πλήρες report στο /root/.
wp2shell-report-per-user.sh
sudo bash wp2shell-report-per-user.sh
Κατά την εκκίνηση ρωτά τρία πράγματα:
[AI EVALUATION] Χρήση AI αξιολόγησης για αμφίβολα αρχεία; [y/N]
[SAVE REPORT] Αποθήκευση πλήρους report σε αρχείο; [y/N]
[DATE THRESHOLD] Διαφορετική ημερομηνία; Αφήστε κενό για default [YYYY-MM-DD]:
Ξεκινήστε πάντα με DRY_RUN=1 (default) — τα emails εμφανίζονται στην οθόνη, δεν στέλνονται. Αλλάξτε σε DRY_RUN=0 μόνο αφού επιβεβαιώσετε ότι η έξοδος είναι σωστή.
Ρυθμίσεις
wp2shell-scan.sh
wp2shell-report-per-user.sh
AI Αξιολόγηση (προαιρετική)
Για αμφίβολα diffs που τα patterns δεν μπορούν να ταξινομήσουν, ο σαρωτής στέλνει το diff στο Claude API (claude-sonnet-4-6) και επιστρέφει ετυμηγορία: DANGER, SUSPICIOUS, REVIEW, ή OK με μία πρόταση εξήγηση. Το AI χρησιμοποιείται μόνο στη γκρίζα ζώνη.
export ANTHROPIC_API_KEY='sk-ant-api03-...'
sudo -E bash wp2shell-report-per-user.sh
API keys: https://console.anthropic.com — ξεχωριστό από τη συνδρομή claude.ai.
Χωρίς API key; Χρησιμοποιήστε τον browser analyzer
Κάντε paste το output του scan στο wp2shell Report Analyzer artifact στο Claude.ai — εκτελεί την ίδια AI αξιολόγηση απευθείας στον browser.
Σημειώσεις
- Ο σαρωτής δεν τροποποιεί τίποτα. Ασφαλής εκτέλεση σε live production servers.
- Η ενημέρωση του WordPress στην patched έκδοση κλείνει την ευπάθεια αλλά δεν καθαρίζει ένα ήδη παραβιασμένο site. Αν βρεθούν indicators, επαναφέρετε από καθαρό backup.
- Ο φάκελος
CORE_CACHE (/root/wp2shell-cores/) επαναχρησιμοποιείται μεταξύ scans. Διαγράψτε τον για αναγκαστική επαναλήψη.
- Η βάση
known_shells.sha256 ανανεώνεται αυτόματα μία φορά ανά 24 ώρες.
Άδεια
GPL-3.0 — δείτε LICENSE
Credits
Αναπτύχθηκε από την BytesPulse σε απόκριση της αποκάλυψης wp2shell (Ιούλιος 2026).
Πληροφορίες CVE: https://wp2shell.com