Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-80099 — إضافات Newfold (wp-module-data <= 2.9.7) بدون مصادقة | Kitploit
أدوات/GitHubGitHub/wayang1337/cve-2026-80099
ماسحات الثغرات الأمنيةهجمات كلمات المرورالاستغلالالبرمجة النصية والأتمتةاستغلال تطبيقات الويبجمع المعلوماتما بعد الاستغلالأمن الويباختبار الاختراقأداة الوصول عن بعد
GitHubwayang1337/cve-2026-80099
منذ 7س 8دلم تتم المراجعة بعد

CVE-2026-80099

إضافات Newfold (wp-module-data <= 2.9.7) بدون مصادقة

عرض المستودع

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-80099 PoC

تجاوز مصادقة غير مُصادَق عليه واستغلال RCE يستهدف إضافات Newfold لـ WordPress التي تتضمن wp-module-data.

نظرة عامة

تستغل هذه الأداة ثغرة في التحقق من صحة رمز Bearer في وحدة wp-module-data الخاصة بـ Newfold. عندما يكون موقع WordPress الذي يستخدم إضافة Newfold متأثرة غير متصل بـ Hiive، فإن HiiveConnection::get_auth_token() يُرجع false. تُمرَّر هذه القيمة عبر strrev() ثم تُجزَّأ (hashed)، مما يؤدي إلى انهيار الملح السري (secret salt) إلى الثابت العام:

root@kitploit:~
sha256("") = e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

نظرًا لأن كل مكوّن آخر من الحمولة المُجزَّأة (طريقة HTTP، عنوان URL للطلب، جسم الطلب، الطابع الزمني) يتحكم فيه المهاجم بالكامل، يمكن حساب رمز Bearer صالح دون اتصال. يعمل الفلتر المصاب على rest_authentication_errors، لذا فإن الرمز المُزوَّر يُصادِق على المتصل بصفته لكامل واجهة WordPress REST API، بما في ذلك المسارات الأساسية. ثم يُستغَل هذا الوصول للوصول إلى تنفيذ كامل للتعليمات البرمجية عن بُعد.

أول مسؤول (administrator)

البرمجيات المتأثرة

الإضافة / الوحدةالإصدارات المتأثرةالمُرقَّعة
wp-module-data<= 2.9.72.9.8
bluehost-wordpress-plugin<= 4.19.0n/a
hostgator<= 3.2.0n/a
web<= 2.3.5n/a
crazy-domains<= 2.5.2n/a

يشمل الكشف أيضًا معرّفات إضافات WordPress.org وهي wp-plugin-web و crazy_blog.

السبب الجذري

في vendor/newfold-labs/wp-module-data/includes/Data.php:

root@kitploit:~
public function authenticate( $errors ) {        // hooked on rest_authentication_errors
    ...
    $data = array(
        'method'    => $_SERVER['REQUEST_METHOD'],
        'url'       => Url::getCurrentUrl(),
        'body'      => file_get_contents( 'php://input' ),
        'timestamp' => dataGet( getallheaders(), 'X-Timestamp' ),
    );
    $hash     = hash( 'sha256', wp_json_encode( $data ) );
    $salt     = hash( 'sha256', strrev( HiiveConnection::get_auth_token() ) );
    $is_valid = hash( 'sha256', $hash . $salt ) === $token;

    if ( $is_valid ) {
        ... wp_set_current_user( <first administrator> ); return true;
    }
}

على موقع غير متصل، يُجبِر strrev(false) على التحويل إلى strrev('') الذي يُنتج ''، ويصبح الملح هو التجزئة المعروفة للسلسلة الفارغة. كل مُدخَل آخر في سلسلة التجزئة يتحكم فيه المهاجم، لذا فإن الرمز قابل للتنبؤ بالكامل.

الميزات

  • كشف إضافات Newfold المتأثرة عبر بصمة الأصول الثابتة (static asset fingerprinting)
  • كشف وجود الوحدة عبر مسار REST newfold-data/v1/verify/<hex>
  • تزوير دون اتصال لرمز Bearer صالح (لا يتطلب سرًا)
  • التحقق من التجاوز عبر استدعاء GET /wp/v2/users/me وفحص الأدوار
  • سلسلة RCE كاملة مع تقنيات احتياطية متعددة:
    1. الكتابة عبر محرر القالب إلى 404.php / index.php
    2. رفع إضافة عبر ZIP
    3. الكتابة عبر المحرر في إضافة غير نشطة، وتفعيلها عبر REST، ثم الاستعادة
  • مدير ملفات .fm.php دائم اختياري يُسقَط في جذر الويب
  • وضع الفحص الجماعي مع عمّال متعددين (threaded workers)، ودعم الاستئناف، وتقدّم مُقيَّد
  • مساران للمصادقة بعد الاستغلال: تسجيل الدخول عبر رابط سحري (magic-link) لـ Newfold SSO (يتجاوز حظر ModSecurity على wp-login.php) وتسجيل الدخول الكلاسيكي عبر نموذج wp-login.php

المتطلبات

  • Python 3.7+
  • requests
  • urllib3 (اختياري، فقط لكتم تحذيرات TLS)

تثبيت التبعيات:

root@kitploit:~
pip install requests urllib3

الاستخدام

فحص هدف واحد

كشف للقراءة فقط والتحقق من التجاوز:

root@kitploit:~
python3 exploit.py -u https://target.example

RCE على هدف واحد

سلسلة كاملة إلى صدفة (shell) دائمة:

root@kitploit:~
python3 exploit.py -u https://target.example --mode rce

إعادة تعيين كلمة مرور أول مسؤول بدلًا من إنشاء واحد جديد:

root@kitploit:~
python3 exploit.py -u https://target.example --mode rce --takeover

الفحص الجماعي

فحص فقط عبر قائمة من الأهداف:

root@kitploit:~
python3 exploit.py --list targets.txt

السلسلة الكاملة على كل مضيف مصاب (يتطلب موافقة صريحة):

root@kitploit:~
python3 exploit.py --list targets.txt --mode rce --apply-rce

الترشيح المسبق باستخدام فحوصات الأصول الثابتة قبل لمس REST API:

root@kitploit:~
python3 exploit.py --list targets.txt --brand-filter

التوقف بعد أول N من المضيفين المصابين:

root@kitploit:~
python3 exploit.py --list targets.txt --stop-after 5

استئناف تشغيل سابق:

root@kitploit:~
python3 exploit.py --list targets.txt --resume

الخيارات

العَلَمالوصف
-u, --urlعنوان URL الأساسي لهدف واحد
--listملف يحتوي على عنوان URL واحد لكل سطر
--modecheck (كشف فقط) أو rce (السلسلة الكاملة)؛ الافتراضي check
--takeoverإعادة تعيين كلمة مرور أول مسؤول بدلًا من إنشاء مسؤول جديد
--outputمسار إخراج JSONL لوضع الجماعي؛ الافتراضي cve_2026_80099_results.jsonl
--vuln-listقائمة عناوين URL مجرّدة للمضيفين المصابين؛ الافتراضي vuln.txt
--threadsعدد العمّال لوضع الجماعي؛ الافتراضي 20
--timeoutمهلة الطلب بالثواني؛ الافتراضي 15
--fast-timeoutمهلة الفحص السريع بالثواني؛ الافتراضي 6
--retriesمحاولات إعادة المحاولة لكل طلب؛ الافتراضي 1
--proxyعنوان URL لوكيل HTTP(S)
--all-outكتابة كل صفوف الوضع الجماعي، وليس المصابة فقط
--apply-rceتشغيل سلسلة RCE على المضيفين المصابين في الوضع الجماعي
--brand-filterترشيح مسبق باستخدام الأصول الثابتة لإضافة Newfold
--stop-afterإيقاف الفحص الجماعي بعد N من المضيفين المصابين؛ 0 يعني تشغيل الكل
--quietتعطيل أسطر التقدّم لكل هدف
--resumeالإلحاق بالمخرجات وتخطي الأهداف الموجودة بالفعل

تفاصيل سلسلة RCE

بمجرد تأكيد سياق المسؤول، تحاول الأداة ثلاث تقنيات بالترتيب:

  1. صدفة محرر القالب — تكتب حمولة PHP صغيرة إلى 404.php أو index.php في القالب النشط. تُشغَّل الحمولة عبر طلب أي عنوان URL غير موجود (لـ 404.php) أو جذر الموقع (لـ index.php).

  2. صدفة رفع الإضافة — تبني ملف ZIP يحتوي على إضافة بسيطة، وترفعه عبر wp-admin/update.php?action=upload-plugin، وتصل إلى ملف PHP الخاص بالإضافة مباشرة.

  3. سلسلة محرر الإضافة غير النشطة — تسرد الإضافات عبر REST API، وتختار إضافة غير نشطة، وتكتب صدفة أوامر (cmd-shell) في ملفها الرئيسي عبر plugin-editor.php، وتفعّلها عبر PUT /wp/v2/plugins/<slug>، وتُشغّل الصدفة على أي عنوان URL للواجهة الأمامية، وتُسقِط .fm.php في جذر الويب، ثم تُعطّل الإضافة وتستعيد الملف الأصلي. صُمِّم هذا المسار للنجاة على المضيفين الذين يحظرون محرر القالب، أو يحظرون الوصول المباشر إلى wp-content، أو يتراجعون عن التعديلات عبر فحوصات السلامة (health checks) للاسترجاع (loopback).

عند النجاح، يُسقَط مدير ملفات .fm.php دائم في جذر الويب. يدعم:

  • ?cmd=<shell command>
  • ?cat=<path> لقراءة ملف
  • ?put=<path>&data=<base64> لكتابة ملف
  • ?ls=<path> لسرد محتويات مجلد

ملفات المخرجات

  • cve_2026_80099_results.jsonl — سجلات JSONL لكل هدف مفحوص. تتضمن الإدخالات المصابة vuln: true و admin و admin_id، وعند نجاح RCE، shell (عنوان URL لمدير الملفات أو الصدفة المُسقَطة).
  • vuln.txt — عنوان URL مجرّد واحد لكل سطر لكل هدف مصاب أو مُصدَّف (shelled).

ملاحظات

  • تتجاهل الأداة وكلاء النظام والبيئة عبر trust_env = False لتجنّب تسريب الفحوصات الجماعية عبر الوكلاء المحليين.
  • يُحسَب رمز Bearer مقابل عنوان URL الدقيق الذي سيراه الخادم (المخطط، المضيف، ومعرّف الطلب URI)، بما يطابق سلوك Url::getCurrentUrl(). يُحضَّر الطلب أولًا ويُشتَق الرمز من عنوان URL المُحضَّر.
  • يُحاكي مُرمِّز JSON المتوافق مع PHP سلوك json_encode الافتراضي، بما في ذلك الشرطات المائلة الأمامية المُهرَّبة، وتهريب \uXXXX لغير ASCII، وأزواج البدائل (surrogate pairs) UTF-16 للأحرف الفلكية (astral characters)، بحيث تتطابق الحمولة المُجزَّأة بايت ببايت.
  • عادةً ما يعني فحص فاشل يُرجع 401 أن الهدف مُرقَّع (الوحدة >= 2.9.8)، أو أن الموقع متصل بـ Hiive (رمز حقيقي، ملح غير معروف)، أو أن وسيطًا ما يزيل ترويسة Authorization. يشير 403 عادةً إلى تداخل فلتر آخر من rest_authentication_errors.

إخلاء المسؤولية

تُقدَّم هذه الأداة للاختبار الأمني والبحث المُصرَّح به فقط. استخدمها حصريًا ضد الأنظمة التي تملكها أو لديك إذن كتابي صريح باختبارها. الوصول غير المُصرَّح به إلى أنظمة الحاسوب غير قانوني في معظم الولايات القضائية وقد يؤدي إلى عقوبات مدنية وجنائية شديدة. لا يتحمل المؤلف أي مسؤولية عن سوء الاستخدام أو الأضرار الناجمة عن هذا البرنامج.

تنزيل الأداة