Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-96349 — أداة إثبات مفهوم (PoC) بلغة Python واستغلال جماعي للثغرة CVE-2026-96349، وهي ثغرة تنفيذ أوامر عن بُعد (RCE) دون مصادقة في إضافة WordPress SiteSkite الإصدار ≤2.1.8 عبر تسجيل الدخول التلقائي بمفتاح API وتقييم PHP عبر MCP. | Kitploit
أدوات/GitHubGitHub/murrez/cve-2026-96349
الاستطلاعتوليد الحمولةتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبأمن الويباختبار الاختراقأداة الوصول عن بعد
GitHubmurrez/cve-2026-96349

CVE-2026-96349

أداة إثبات مفهوم (PoC) بلغة Python واستغلال جماعي للثغرة CVE-2026-96349، وهي ثغرة تنفيذ أوامر عن بُعد (RCE) دون مصادقة في إضافة WordPress SiteSkite الإصدار ≤2.1.8 عبر تسجيل الدخول التلقائي بمفتاح API وتقييم PHP عبر MCP.

2منذ شهر واحدلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
عرض المستودع

CVE-2026-96349 — إضافة WordPress SiteSkite ≤ 2.1.8 ← سلسلة RCE بدون مصادقة

الحقلالقيمة
CVECVE-2026-96349
المنتجإضافة WordPress SiteSkite
المتأثر≤ 2.1.8
المُصلَح2.2.0
CWECWE-94 — التحكم غير السليم في توليد الشيفرة
CVSS10.0 (حرجة) — استشارة Patchstack
فهرس PoCbithttps://pocbit.org/pocs/
صفحة PoCbithttps://pocbit.org/pocs/cve-2026-96349
علامة التحققPOCBIT-96349-OK

PoC بلغة Python على نفس نمط CVE-2026-102425: قائمة تفاعلية، استغلال جماعي (افتراضي)، --check، -u، --lab، تجمّع خيوط، hits.txt / exploited.txt.


ما هي هذه الثغرة

تصف Patchstack وبرنامج CVE الثغرة CVE-2026-96349 بأنها ثغرة تنفيذ شيفرة عن بُعد بدون مصادقة في إضافة SiteSkite. النص العام قصير عمدًا؛ إصلاح المورّد 2.2.0 (سبتمبر 2026) يمسّ المصادقة وتسجيل الدخول التلقائي بشكل كبير. تُظهر المقارنة الساكنة بين 2.1.8 و2.2.0 في هذا المستودع (extract-2.1.8/، extract-2.2.0/) سطح الهجوم العملي الذي ينفّذه هذا الـ PoC.

SiteSkite إضافة WebOps كبيرة: نسخ احتياطية، وواجهة برمجة تطبيقات البوابة، وMCP ذكاء اصطناعي داخل الموقع ("abilities") بما في ذلك أدوات متقدمة تستدعي eval() على شيفرة PHP يوفّرها المهاجم (siteskite_execute_php) وكتابة ملفات عشوائية (siteskite_write_file). يمكن الوصول إلى تلك القدرات عبر REST وعبر admin-ajax.php عندما يكون الموقع مرتبطًا بـ مفتاح API الخاص بـ SiteSkite.

الخطأ الحرج في ≤ 2.1.8 هو أن نفس مفتاح API طويل الأمد يعمل أيضًا كـ حامل تسجيل دخول مدير WordPress بدون مصادقة:

  • يقبل AutoLoginController المعامل ?token=<siteskite_api_key> على /siteskite-autologin، وعبر handle_token_login()، على أي عنوان URL في الواجهة الأمامية يتضمن ?token=….
  • تُجرى المقارنة بمساواة بسيطة مقابل get_option('siteskite_api_key') (بدون توقيع البوابة، وبدون nonce لمرة واحدة).
  • عند نجاح التحقق يُستدعى wp_set_auth_cookie() لـ أول مدير، مع تجاوز اختياري للمصادقة الثنائية (2FA) لإضافات Solid Security وما شابهها.

يزيل الإصدار 2.2.0 هذا المسار: تُرفض حاملات مفتاح API الخام (فحوصات hash_equals، "Login Unavailable")، ويتطلب تسجيل الدخول روابط موقّعة صادرة من البوابة (AutologinPortalSignature). لم يعد نواة الأمان mu-plugin تعترف بعمليات تسجيل الدخول بالمفاتيح القديمة.

من منظور المهاجم، تتكون السلسلة من:

  1. الحصول على مفتاح API الخاص بـ SiteSkite لموقع الضحية (روابط "Login as" في البوابة، السجلات، تسريبات المُحيل، نسخ احتياطية مخترقة، شخص داخلي، أو ثغرة أخرى). يصنّف Patchstack المشكلة كـ RCE بدون مصادقة لأنه لا يُشترط اسم مستخدم/كلمة مرور WordPress — فقط السر الحامل للإضافة، والذي غالبًا ما يكون مكشوفًا خارج الموقع.
  2. إثبات جلسة المدير اختياريًا عبر تسجيل الدخول التلقائي (/?token=KEY أو /siteskite-autologin?token=KEY).
  3. استدعاء POST /wp-json/siteskite/v1/abilities/execute (أو admin-ajax.php?action=siteskite_api) مع الترويسة X-SiteSkite-Key: KEY وتشغيل siteskite_execute_php أو إسقاط up.php عبر siteskite_write_file ← POCBIT-96349-OK.

أدوات MCP المتقدمة مفعّلة افتراضيًا في 2.1.8 (McpSettings::DEFAULT_ADVANCED = '1')، لذا تكشف العديد من المواقع المرتبطة عن eval بمجرد معرفة المفتاح.


الشيفرة المتأثرة (مرجع)

المكوّنسلوك 2.1.8تغيير 2.2.0
includes/Core/AutoLoginController.php?token= يساوي مفتاح API المخزّن ← ملف تعريف ارتباط المسؤوليُرفض المفتاح الخام؛ تسجيل دخول البوابة عبر HMAC فقط
includes/Mcp/Abilities/AdvancedAbilities.phpsiteskite_execute_php ← eval($code)لا يزال موجودًا؛ محمي بالمصادقة والإعدادات
includes/Mcp/AbilitiesRest.phpX-SiteSkite-Key ← تنفيذ القدراتنفس السطح؛ لم يعد تسجيل الدخول التلقائي يسرّب الجلسة دون مفتاح
includes/API/FallbackAPI.phpwp_ajax_nopriv_siteskite_api يمرّر القدرات عندما يكون المفتاح صالحًالا يزال يتطلب مفتاحًا / مفتاح ضيف

توجد مسارات REST أخرى غير مصادَق عليها (UploadRest، تسجيل OAuth) لكنها تتطلب رموزًا أو PKCE؛ وهي ليست السلسلة الأساسية المُنمذجة هنا.


تخطيط PoC

الملفالدور
poc.pyCLI / تفاعلي / استغلال جماعي
_engine.pyمنطق HTTP، بيانات PoCbit الوصفية، خادم المختبر
up.phpفحص اختياري لقشرة الويب (?pocbit=1 ← علامة)
targets.example.txtقائمة عناوين URL؛ اختياريًا URL<TAB>api_key
extract-2.1.8/ / extract-2.2.0/مصدر المورّد للمقارنة (غير مطلوب لتشغيل PoC)

المتطلبات

  • Python 3.10+
  • pip install requests colorama

الاستخدام (الاستغلال أولًا)

تفاعلي (الوضع الافتراضي = exploit)

python poc.py

المطالبات: الوضع، مفتاح API عام اختياري، الملف الهدف، الخيوط (افتراضيًا 16)، المهلة الزمنية.

الاستغلال الجماعي ← exploited.txt

python poc.py fofa_targets.txt
python poc.py urls.txt --key YOUR_SITESKITE_API_KEY
python poc.py urls.txt -t 24 -T 25

مفاتيح لكل هدف (علامة جدولة أو مسافة أو خط عمودي بعد URL):

https://customer.example	abc123…siteskiteKey…
https://other.site|anotherKey

المفتاح الاحتياطي من البيئة: SITESKITE_API_KEY أو SITESKITE_KEY.

فحص جماعي ← hits.txt

python poc.py --check fofa_targets.txt

البصمة: الوسم المستقر في readme.txt، استجابة الرمز المفقود القديمة /siteskite-autologin، الإصدار ≤ 2.1.8.

هدف واحد

python poc.py -u https://target.example --check
python poc.py -u https://target.example --key SITE_SKITE_KEY

مختبر محلي (بدون تثبيت WordPress)

python poc.py --lab

يشغّل 127.0.0.1:8796 مع readme وهمي 2.1.8، وتسجيل دخول تلقائي، ونقطة نهاية abilities؛ يجب أن يُرجع "exploited": true.


مسار الاستغلال (المحرك)

flowchart LR
  A[Target URL] --> B{readme ≤ 2.1.8?}
  B -->|no| Z[skip / patched]
  B -->|yes| C{API key known?}
  C -->|no| N[needs_api_key]
  C -->|yes| D[POST abilities/execute]
  D --> E{siteskite_execute_php}
  E -->|marker| F[RCE verified]
  E -->|fail| G[autologin ?token=KEY]
  G --> D
  E -->|fail| H[write_file / ajax fallback]
  H --> F
  1. siteskite_execute_php مع echo POCBIT-96349-OK;
  2. نفس الشيء عبر احتياطي admin-ajax (route=/abilities/execute)
  3. siteskite_write_file → wp-content/uploads/pocbit_96349.php
  4. eval لإسقاط مساعد لـ up.php
  5. تسجيل الدخول التلقائي ثم إعادة محاولة abilities

تتضمن صفوف نتائج JSON pocbit وpocbit_catalog وpocbit_page وعناوين URL الخاصة بـ CVE وverify_marker لخطوط أنابيب التسجيل.


الاستكشاف / FOFA (وضع الفحص)

أمثلة (عدّلها لتناسب مفهرسك):

body="/wp-content/plugins/siteskite/"
header="siteskite" && body="wp-content/plugins"

وضع الفحص لا يقوم بتخمين مفاتيح API بالقوة الغاشمة. يتطلب وضع الاستغلال مفتاحًا ما لم تكن لديك بالفعل أزواج url\tkey من بوابتك أو من معلومات التسريب الخاصة بك.


التخفيف

  1. قم بترقية SiteSkite إلى ≥ 2.2.0 فورًا.
  2. قم بتدوير مفتاح API الخاص بـ SiteSkite بعد الترقية (كان المفتاح القديم حاملًا لتسجيل الدخول).
  3. عطّل أدوات MCP / الأدوات المتقدمة غير المستخدمة إذا كنت لا تحتاج إلى التحرير بالذكاء الاصطناعي.
  4. احظر الوصول الخارجي إلى /siteskite-autologin وراجع السجلات بحثًا عن إساءة استخدام ?token= / X-SiteSkite-Key.
  5. مستخدمو Patchstack WAF: فعّل قاعدة التخفيف الخاصة بالمورّد حتى يتم الترقيع.

الجوانب القانونية

استخدمه فقط على الأنظمة التي تملكها أو لديك تفويض كتابي لاختبارها. الوصول غير المصرح به غير قانوني.


تنزيل الأداة