
wp2shell-Hestia-Scanner — Updated!
ماسح أمان WordPress للقراءة فقط لخوادم HestiaCP. يكتشف مؤشرات اختراق wp2shell (CVE-2026-63030 / CVE-2026-60137) عبر جميع المواقع المستضافة — تقارير بريد إلكتروني لكل مستخدم، ومقارنة ملفات النواة مع نسخة WordPress نظيفة، وتحليل PHP/JS/htaccess/الصور، وتقييم اختياري بالذكاء الاصطناعي عبر Claude API.
🛡️ wp2shell-Hestia-Scanner
ماسح أمان ووردبريس للقراءة فقط لخوادم HestiaCP.
يكتشف مؤشرات اختراق wp2shell عبر جميع المواقع المستضافة — مع تقارير بريد إلكتروني لكل عميل، ومقارنة ملفات النواة، واكتشاف الـ webshell عبر SHA256، وتقييم المخاطر، وتقييم اختياري بالذكاء الاصطناعي.
⚠️ النسخ الآمنة: ووردبريس 6.8.6 / 6.9.5 / 7.0.2 أو أحدث.
هذه السكربتات لا تعدّل أي شيء أبدًا — للقراءة فقط في جميع العمليات.
🇬🇧 الإنجليزية
ما هو wp2shell؟
wp2shell هي سلسلة استغلال لتنفيذ أكواد عن بُعد (RCE) قبل المصادقة في نواة ووردبريس، كُشف عنها في 17 يوليو 2026. يكفي طلب HTTP مجهول واحد إلى تثبيت افتراضي لإنشاء مدير خبيث وتنفيذ أكواد عشوائية على الخادم.
تتكون السلسلة من:
- CVE-2026-60137 — حقن SQL في معامل
author__not_inالخاص بـWP_Query - 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، ومقارنة ملفات النواة، واكتشاف الـ webshell عبر SHA256، وتقييم بالذكاء الاصطناعي، وتقييم المخاطر |
known_shells.sha256 | قاعدة بيانات بصمات SHA256 للـ webshell المعروفة — تُجلب تلقائيًا عند التشغيل |
ماذا يفحص الماسح
فحوصات قاعدة البيانات / المستخدمين
| الفحص | الخطورة |
|---|---|
| إصدار ووردبريس مقابل الإصدارات الآمنة | HIGH / OK |
حسابات ببادئة wp2_ أو بريد إلكتروني @wp2shell.invalid | CRITICAL |
| مديرون أُنشئوا بعد الكشف (15/07/2026) | MEDIUM |
| فجوات في تسلسل معرّفات المستخدمين (آثار مدير خبيث محذوف) | MEDIUM |
صفوف wp_usermeta يتيمة | MEDIUM |
صفوف oembed_cache / customize_changeset مسمومة | CRITICAL |
خيارات ووردبريس معبث بها (upload_path, auto_prepend_file, siteurl) | CRITICAL / HIGH |
سلامة ملفات النواة
| الفحص | الخطورة |
|---|---|
wp core verify-checksums مقابل wp.org | HIGH |
مقارنة diff -U5 سطرًا بسطر مع نواة نظيفة مُنزّلة | CRITICAL / HIGH / OK |
| ملفات إضافية غير موجودة في النواة النظيفة (مع عرض المحتوى والبيانات الوصفية) | CRITICAL / HIGH |
تحليل الملفات
| الفحص | الخطورة |
|---|---|
ملفات PHP في uploads/ | CRITICAL |
امتدادات PHP إضافية (.php7 .phtml .phar .php5) | HIGH |
| تطابق SHA256 مع قاعدة بيانات الـ webshell المعروفة (WSO, FilesMan, b374k, p0wny…) | CRITICAL |
PHP معدّلة بعد SINCE_DATE وأيضًا تطابق أنماطًا مشبوهة — مع عرض السطر المطابق | CRITICAL / HIGH |
| PHP بأنماط مشبوهة لكنها لم تُعدَّل مؤخرًا | LOW |
JS/HTML معدّلة بعد SINCE_DATE وتطابق أنماط تمويه | MEDIUM |
| روابط C2/تسريب بيانات خارجية (pastebin, ngrok, Discord webhooks, bit.ly…) | CRITICAL |
توجيهات .htaccess خطيرة (AddType, auto_prepend_file, RewriteRule خارجية) | HIGH |
.htaccess معدّل بعد SINCE_DATE | MEDIUM |
صور متعددة التنسيقات بحمولة PHP (<?php في .jpg/.png…) | CRITICAL |
ملفات نسخ احتياطي/إعدادات مكشوفة (wp-config.php.bak, *.sql…) | MEDIUM |
الثبات
| الفحص | الخطورة |
|---|---|
إدخالات crontab للمستخدم تحتوي curl/wget/php/base64 | 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 | نظيف على الأرجح |
| 21–40 | مخاطر منخفضة |
| 41–60 | مخاطر متوسطة |
| 61–80 | مخاطر عالية |
| 81+ | مُخترَق |
المتطلبات
- خادم لينكس يعمل بنظام HestiaCP
- bash 4.0+
- WP-CLI مثبَّت عالميًا باسم
wp - صلاحية
root sendmail(لتقارير البريد الإلكتروني)python3(لمعالجة 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
ملاحظة: الماسح الكامل يطرح أسئلة تفاعلية عند بدء التشغيل (تقييم الذكاء الاصطناعي، حفظ التقرير، حد التاريخ). تنزيل السكربت أولًا ثم تشغيله يضمن عمل الأسئلة بشكل صحيح.
الاستخدام
wp2shell-scan.sh — فحص سريع لكامل الخادم
sudo bash wp2shell-scan.sh
يجد جميع تثبيتات ووردبريس تحت /home/*/web/*/public_html/، وينفّذ جميع الفحوصات، ويطبع مخرجات ملوّنة في الطرفية، ويحفظ تقريرًا كاملًا في /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 | (فارغ) | مفتاح Claude API للتقييم بالذكاء الاصطناعي |
التقييم بالذكاء الاصطناعي (اختياري)
بالنسبة لنتائج الـ diff الغامضة التي لا تستطيع الأنماط وحدها تصنيفها، يرسل الماسح الـ diff إلى Claude API (claude-sonnet-4-6) ويعيد حكمًا: DANGER أو SUSPICIOUS أو REVIEW أو OK مع شرح من جملة واحدة. يُستخدم الذكاء الاصطناعي فقط في المنطقة الرمادية — أما الحالات الواضحة فتُصنَّف فورًا دون أي استدعاء API.
ضع مفتاحك في السكربت أو صدّره قبل التشغيل:
export ANTHROPIC_API_KEY='sk-ant-api03-...'
sudo -E bash wp2shell-report-per-user.sh
مفاتيح API: https://console.anthropic.com — وهي منفصلة عن اشتراكات claude.ai.
لا تملك مفتاح API؟ استخدم محلل المتصفح
الصق مخرجات الفحص في أداة wp2shell Report Analyzer على Claude.ai — فهي تنفّذ نفس التقييم بالذكاء الاصطناعي مباشرة في المتصفح دون الحاجة إلى مفتاحك الخاص.
تنسيق المخرجات
مستويات الخطورة
| التصنيف | اللون | المعنى |
|---|---|---|
[CRITICAL] | 🔴 أحمر عريض | مؤشر اختراق نشط — تصرّف فورًا |
[HIGH] | 🔴 أحمر | مؤشر قوي — راجعه على وجه السرعة |
[MEDIUM] | 🟡 أصفر | مشبوه — حقّق في الأمر |
[LOW] | 🔵 أزرق | أولوية منخفضة — غالبًا موجب كاذب |
[INFO] | ⚫ رمادي | معلوماتي |
[OK] | 🟢 أخضر | نظيف / متوقع |
مثال على مقارنة النواة
┌─ 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='));
└──────────────────────────────────────
ملاحظات
- الماسح لا يعدّل أي شيء أبدًا. آمن للتشغيل على خوادم الإنتاج المباشرة.
- تحديث ووردبريس إلى إصدار مصحّح يسدّ الثغرة لكنه لا ينظّف موقعًا مخترقًا بالفعل. إذا وُجدت مؤشرات، استعد من نسخة احتياطية نظيفة.
- دليل
CORE_CACHE(/root/wp2shell-cores/) يُعاد استخدامه بين الفحوصات. احذفه لإجبار تنزيل جديد. - قاعدة بيانات بصمات
known_shells.sha256تُحدَّث تلقائيًا مرة واحدة يوميًا.
الترخيص
GPL-3.0 — انظر LICENSE
الاعتمادات
طُوّر بواسطة BytesPulse استجابةً للكشف عن wp2shell (يوليو 2026).
معلومات CVE: https://wp2shell.com
🇬🇷 اليونانية
ما هو wp2shell؟
wp2shell هي سلسلة استغلال لتنفيذ أكواد عن بُعد (RCE) في نواة ووردبريس، كُشف عنها في 17 يوليو 2026. يكفي طلب HTTP مجهول واحد إلى تثبيت افتراضي لإنشاء مدير خبيث وتنفيذ أكواد عشوائية على الخادم.
تتكون السلسلة من:
- CVE-2026-60137 — حقن SQL في معامل
author__not_inالخاص بـWP_Query - 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، مقارنة النواة، اكتشاف الـ webshell عبر SHA256، تقييم بالذكاء الاصطناعي، درجة مخاطر |
known_shells.sha256 | قاعدة بيانات SHA256 للـ webshell المعروفة — تُنزَّل تلقائيًا عند التشغيل |
ماذا يفحص
قاعدة البيانات / المستخدمون
| الفحص | الخطورة |
|---|---|
| إصدار ووردبريس مقابل الإصدارات الآمنة | HIGH / OK |
حسابات ببادئة wp2_ أو بريد إلكتروني @wp2shell.invalid | CRITICAL |
| مديرون أُنشئوا بعد الكشف (15/07/2026) | MEDIUM |
| فجوات في تسلسل معرّفات المستخدمين (آثار مدير خبيث محذوف) | MEDIUM |
صفوف wp_usermeta يتيمة | MEDIUM |
صفوف oembed_cache / customize_changeset مسمومة | CRITICAL |
خيارات ووردبريس معبث بها (upload_path, auto_prepend_file, siteurl) | CRITICAL / HIGH |
سلامة ملفات النواة
| الفحص | الخطورة |
|---|---|
wp core verify-checksums مقابل wp.org | HIGH |
مقارنة diff -U5 سطرًا بسطر مع نواة نظيفة | CRITICAL / HIGH / OK |
| ملفات إضافية غير موجودة في النواة النظيفة | CRITICAL / HIGH |
تحليل الملفات
| الفحص | الخطورة |
|---|---|
ملفات PHP في uploads/ | CRITICAL |
امتدادات PHP إضافية (.php7 .phtml .phar .php5) | HIGH |
| تطابق SHA256 مع webshell معروفة (WSO, FilesMan, b374k, p0wny…) | CRITICAL |
PHP عُدّلت بعد SINCE_DATE وأيضًا تحتوي نمطًا مشبوهًا — مع السطر المطابق | CRITICAL / HIGH |
| PHP بأنماط مشبوهة لكنها لم تُعدَّل مؤخرًا | LOW |
JS/HTML عُدّلت بعد SINCE_DATE بأنماط تمويه | MEDIUM |
| روابط C2/تسريب بيانات خارجية (pastebin, ngrok, Discord webhooks, bit.ly…) | CRITICAL |
توجيهات خطيرة في .htaccess | HIGH |
.htaccess عُدّل بعد SINCE_DATE | MEDIUM |
| صور متعددة التنسيقات بحمولة PHP | CRITICAL |
| ملفات نسخ احتياطي/إعدادات مكشوفة | MEDIUM |
الثبات
| الفحص | الخطورة |
|---|---|
crontab مستخدم يحتوي curl/wget/php/base64 | 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 | نظيف على الأرجح |
| 21–40 | مخاطر منخفضة |
| 41–60 | مخاطر متوسطة |
| 61–80 | مخاطر عالية |
| 81+ | مُخترَق |
المتطلبات
- خادم لينكس يعمل بنظام HestiaCP
- bash 4.0+
- WP-CLI مثبَّت باسم
wp - صلاحية
root sendmail(لإرسال البريد الإلكتروني)python3(للتقييم بالذكاء الاصطناعي)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
الاستخدام
wp2shell-scan.sh
sudo bash wp2shell-scan.sh
يجد تلقائيًا جميع تثبيتات ووردبريس تحت /home/*/web/*/public_html/، وينفّذ جميع الفحوصات، ويطبع مخرجات ملوّنة في الطرفية، ويحفظ تقريرًا كاملًا في /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 (الافتراضي) — تظهر رسائل البريد على الشاشة ولا تُرسل. غيّرها إلى 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 | (فارغ) | مفتاح Claude API للتقييم بالذكاء الاصطناعي |
التقييم بالذكاء الاصطناعي (اختياري)
بالنسبة لنتائج الـ diff الغامضة التي لا تستطيع الأنماط تصنيفها، يرسل الماسح الـ diff إلى Claude API (claude-sonnet-4-6) ويعيد حكمًا: DANGER أو SUSPICIOUS أو REVIEW أو OK مع شرح من جملة واحدة. يُستخدم الذكاء الاصطناعي فقط في المنطقة الرمادية.
export ANTHROPIC_API_KEY='sk-ant-api03-...'
sudo -E bash wp2shell-report-per-user.sh
مفاتيح API: https://console.anthropic.com — منفصلة عن اشتراك claude.ai.
لا تملك مفتاح API؟ استخدم محلل المتصفح
الصق مخرجات الفحص في أداة wp2shell Report Analyzer على Claude.ai — تنفّذ نفس التقييم بالذكاء الاصطناعي مباشرة في المتصفح.
ملاحظات
- الماسح لا يعدّل أي شيء. آمن للتشغيل على خوادم إنتاج مباشرة.
- تحديث ووردبريس إلى الإصدار المصحّح يسدّ الثغرة لكنه لا ينظّف موقعًا مخترقًا بالفعل. إذا وُجدت مؤشرات، استعد من نسخة احتياطية نظيفة.
- مجلد
CORE_CACHE(/root/wp2shell-cores/) يُعاد استخدامه بين الفحوصات. احذفه لإجبار تنزيل جديد. - قاعدة
known_shells.sha256تُحدَّث تلقائيًا مرة كل 24 ساعة.
الترخيص
GPL-3.0 — انظر LICENSE
الاعتمادات
طُوّر بواسطة BytesPulse استجابةً للكشف عن wp2shell (يوليو 2026).
معلومات CVE: https://wp2shell.com