
🌀 CVE‑2026‑64638 – حزمة أمان WordPress XSS2Shell

⚠️ للاستخدام الأخلاقي فقط – اختبار أمني مصرّح به
توفر هذه المستودعات أدواتًا لـ المتخصصين الأمنيين المصرّح لهم، وفرق الدفاع الأزرق، واختباري الاختراق فقط.
الوصول غير المصرح به إلى أنظمة الكمبيوتر غير قانوني بموجب قانون CFAA (الولايات المتحدة)، وقانون إساءة استخدام الحاسوب (المملكة المتحدة)، وTCK 243/244 (تركيا)، وقوانين مماثلة حول العالم.
📖 نظرة عامة على الثغرة
CVE‑2026‑64638 هي ثغرة XSS انعكاسية حرجة قبل المصادقة في إصدارات WordPress الأساسية 4.7.0 حتى 7.0.2، وتسمح للمهاجم بتصعيد هجوم XSS إلى تنفيذ كامل للتعليمات البرمجية عن بُعد (RCE) عبر ميزة كلمة مرور التطبيق (Application Password).
كيف تعمل
- فارق المحلِّل (Parser Differential) – تقوم دالة
strip_tags() في PHP ودالة wp_kses_post() في WordPress بتحليل وسوم HTML بشكل مختلف، مما يسمح بمرور مدخلات خبيثة عبر عمليات التعقيم.
- XSS انعكاسية – يقوم المهاجم بحقن حمولة مصممة خصيصًا في نموذج تسجيل الدخول (
wp-login.php). عند فشل تسجيل الدخول، تنعكس الحمولة وتُنفَّذ في متصفح الضحية.
- إساءة استخدام كلمة مرور التطبيق – يقوم JavaScript المحقون تلقائيًا بإنشاء كلمة مرور تطبيق عبر REST API في WordPress، ويُرسلها إلى المهاجم.
- رفع إضافة (RCE) – باستخدام كلمة مرور التطبيق التي تم التقاطها، يوثّق المهاجم دخوله إلى لوحة الإدارة ويرفع إضافة خبيثة تحتوي على ويب شيل (webshell).
- اختراق كامل للنظام – يوفر الويب شيل تنفيذ أوامر النظام، مما يسمح بقذائف عكسية، وثباتية (persistence)، وحركة جانبية، وسيطرة كاملة على الخادم.
الإصدارات المتأثرة
- WordPress 4.7.0 – 7.0.2 – ثغرة قابلة للاستغلال
- WordPress 7.0.3 والإصدارات الأحدث – تم إصلاحها
- تم توفير التحديثات الأمنية لجميع الفروع المدعومة
التصحيح
- الترقية إلى WordPress 7.0.3 أو إصدار أحدث.
- إذا لم تكن الترقية ممكنة، عطّل ميزة كلمة مرور التطبيق كحل مؤقت.
🧰 الأدوات
| الأداة | الغرض | المستخدم المستهدف |
|---|
exploit.py | مجموعة أدوات استغلال كاملة مع قذيفة عكسية، وثباتية، وC2، وتصعيد صلاحيات، وأدلة جنائية للذاكرة، وتفريغ قاعدة البيانات، واستخراج مفاتيح SSH، وفحص جماعي. | فرق الاختراق / مختبرو الاختراق المصرح لهم |
safecheck.py | فاحص ثغرات غير تدخلي يكتشف انعكاس XSS ويقيّم الوضع الأمني دون تنفيذ أي حمولة خبيثة. يولّد تقارير مفصلة. | فرق الدفاع الأزرق / مدققو الأمن |
📊 مقارنة الميزات
| الميزة | exploit.py | safecheck.py |
|---|
| اكتشاف الثغرات | ✅ | ✅ |
| اكتشاف إصدار WordPress | ✅ | ✅ |
| اكتشاف انعكاس XSS | ✅ | ✅ |
| التقاط كلمة مرور التطبيق | ✅ | ❌ |
| رفع إضافة (RCE) | ✅ | ❌ |
| قذيفة عكسية | ✅ | ❌ |
| اتصال C2 (HTTP/DNS/Telegram) | ✅ | ❌ |
| تصعيد الصلاحيات | ✅ | ❌ |
| أدلة جنائية للذاكرة | ✅ | ❌ |
| تفريغ قاعدة البيانات | ✅ | ❌ |
| استخراج مفاتيح SSH | ✅ | ❌ |
| طرق الثباتية | ✅ | ❌ |
| تدقيق ترويسات الأمان | ❌ | ✅ |
| فحص كشف ملفات الإعدادات | ❌ | ✅ |
| فحص قوائم الدلائل | ❌ | ✅ |
| فحص كشف phpinfo | ❌ | ✅ |
| الفحص الجماعي | ✅ | ✅ |
| دعم البروكسي | ✅ | ✅ |
| دعم Tor | ✅ | ✅ |
| نفق Ngrok | ✅ | ❌ |
| قذيفة تفاعلية | ✅ | ❌ |
| وضع غير تدخلي (آمن) | ❌ | ✅ |
| إخراج JSON / تقرير | ✅ | ✅ |
🎯 ملخص حالات الاستخدام
| السيناريو | الأداة الموصى بها |
|---|
| فريق أزرق – التحقق مما إذا كان تثبيت WordPress لديك معرضًا للخطر | safecheck.py |
| تدقيق أمني – تقييم ثغرات غير تدخلي | safecheck.py |
| فريق أحمر – اختبار اختراق مصرح به مع استغلال كامل | exploit.py |
| مكافآت الثغرات (Bug Bounty) – اختبار مسؤول للكشف المسؤول | safecheck.py |
| فحص جماعي – التحقق من أهداف متعددة بحثًا عن الثغرة | exploit.py أو safecheck.py |
| الاستجابة للحوادث – التحقق مما إذا كانت الأنظمة مخترقة | safecheck.py |
| ما بعد الاستغلال المتقدم – ثباتية، C2، أدلة جنائية | exploit.py |
⚙️ التثبيت
git clone https://github.com/tc4dy/CVE-2026-64638-PoC-Exploit
cd CVE-2026-64638-PoC-Exploit
pip install -r requirements.txt
requirements.txt
requests
urllib3
#ops
pymysql
mysql-connector-python
PySocks
requests[socks]
📋 المعاملات
معاملات exploit.py
| المعامل | الوصف |
|---|
-t, --target | عنوان URL المستهدف لـ WordPress (مثل https://wordpress-site.com) |
-l, --list | ملف يحتوي على قائمة الأهداف (هدف واحد في كل سطر) للفحص الجماعي |
--lhost | عنوان IP المحلي لاستقبال اتصالات القذيفة العكسية |
--lport | المنفذ المحلي للقذيفة العكسية (الافتراضي: 4444) |
--proxy | بروكسي HTTP/HTTPS (مثل http://127.0.0.1:8080) |
--timeout | مهلة الطلب بالثواني (الافتراضي: 10) |
--retry | عدد مرات إعادة المحاولة (الافتراضي: 3) |
--threads | عدد الخيوط للفحص الجماعي (الافتراضي: 5) |
--exploit | استغلال تلقائي للأهداف المعرضة للخطر أثناء الفحص الجماعي |
--ngrok-token | رمز مصادقة Ngrok للنفق الخارجي |
--payload-type | نوع حمولة XSS: reflected, dom_based, waf_bypass, case_manipulation, double_encoded |
--session-hijack | تمكين اختطاف الجلسة (سرقة ملفات تعريف الارتباط الخاصة بالمدير) |
--dump-db | تفريغ قاعدة بيانات WordPress (يتطلب pymysql) |
--extract-ssh | استخراج مفاتيح SSH من النظام المستهدف |
--tor | توجيه الحركة عبر Tor (socks5h://127.0.0.1:9050) |
--stealth | تمكين وضع التخفي (ترويسات مزيفة، تأخير الطلبات) |
--no-cleanup | تخطي تنظيف السجلات بعد الاستغلال |
--ssl-verify | التحقق من شهادات SSL |
--c2-type | نوع C2: http, dns, telegram |
--c2-server | عنوان URL لخادم C2 أو رمز بوت Telegram |
--auto-priv-esc | تصعيد صلاحيات تلقائي بعد الحصول على القذيفة |
--memory-forensics | تمكين وحدة الأدلة الجنائية للذاكرة |
-v, --verbose | إخراج مفصّل |
-q, --quiet | وضع هادئ (حد أدنى من الإخراج) |
معاملات safecheck.py
| المعامل | الوصف |
|---|
-t, --target | عنوان URL المستهدف لـ WordPress (مثل https://wordpress-site.com) |
-l, --list | ملف يحتوي على قائمة الأهداف (هدف واحد في كل سطر) للفحص الجماعي |
--timeout | مهلة الطلب بالثواني (الافتراضي: 10) |
--retry | عدد مرات إعادة المحاولة (الافتراضي: 3) |
--threads | عدد الخيوط للفحص الجماعي (الافتراضي: 5) |
--proxy | بروكسي HTTP/HTTPS (مثل http://127.0.0.1:8080) |
--tor | توجيه الحركة عبر Tor (socks5h://127.0.0.1:9050) |
--ssl-verify | التحقق من شهادات SSL |
--output | ملف تقرير JSON للإخراج |
-v, --verbose | إخراج مفصّل |
-q, --quiet | وضع هادئ (حد أدنى من الإخراج) |
💥 السيناريوهات