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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2020-0796-BOF — ملف كائن Beacon الخاص بـ Cobalt Strike ينفذ CVE-2020-0796 SMBGhost لتصعيد الامتيازات المحلي مع مسارين للاستخدام الهجومي من أجل سرقة الرمز المميز ورفع مستوى الجلسة. | Kitploit
أدوات/GitHubGitHub/rsmudge/cve-2020-0796-bof
تصعيد الامتيازاتأطر الاستغلالالاستغلالشيل كودما بعد الاستغلالاختبار الاختراقالفريق الأحمرتطوير الحمولاتاستغلال الملفات الثنائية
GitHubrsmudge/cve-2020-0796-bof

CVE-2020-0796-BOF

ملف كائن Beacon الخاص بـ Cobalt Strike ينفذ CVE-2020-0796 SMBGhost لتصعيد الامتيازات المحلي مع مسارين للاستخدام الهجومي من أجل سرقة الرمز المميز ورفع مستوى الجلسة.

70196منذ 5 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

هذا هو تجربة رافاييل مع ثغرة SMBGhost LPE.

لقد بدأت مع الكود المصدري من إطار Metasploit:

cve-2020-0796: SMBv3 Compression Buffer Overflow (SMBGhost) (CVE 2020-0796) https://github.com/rapid7/metasploit-framework/tree/master/external/source/exploits/CVE-2020-0796 [BSD Licensed]

وإليك ما فعلته:

  1. قمت بتحويل Reflective DLL إلى ملف Beacon Object File خاص بـ Cobalt Strike 4.1.

تطلب هذا الإعلان عن العديد من واجهات برمجة تطبيقات Win32 بتنسيق MODULE$Function الخاص بحل الوظائف الديناميكي. على الجانب الإيجابي، قلل هذا من بعض الكود لاستدعاء أشياء في NTDLL لأن DFR يتولى ذلك بالنسبة لنا. :)

أزلت مصفوفة ptr غير المستخدمة المكونة من 1000 عنصر من get_handle_addr. كان هذا يتسبب في إدراج cl.exe لدالة __chkstk بسبب تجاوز المتغيرات المحلية لحد 8KB. BOFs لا تملك هذه الدالة متاحة لها.

ثم أدخلت بعض واجهات برمجة التطبيقات الخاصة بـ Beacon (مثل BeaconPrintf، BeaconInjectProcess، إلخ) للقيام بالأشياء باستخدام الطريقة الأصلية لـ Beacon.

اضطررت لكتابة بعض الدوال لتعويض أشياء libc التي لا أملكها (بسبب... BOFs).

  1. قسمت الكود إلى مسارين مختلفين للتسليح:

استخدم الاسم المستعار 'smbghost' في Beacon، بدون وسائط، لتشغيل هذه الثغرة والتأثير فقط على رمز عملية Beacon. إذا نجحت الثغرة، سيمتلك رمز العملية الحالي لديك قوى خارقة لم تكن لديك من قبل. على سبيل المثال، يمكنك الآن الحقن في عمليات أخرى (حتى في جلسات سطح مكتب أخرى) أو إنشاء عملية فرعية تحت winlogon.exe. قد تحتاج لتشغيل smbghost عدة مرات لأن الثغرة لا تنجح دائمًا في المرة الأولى.

اختياريًا، استخدم 'elevate smbghost' للحصول على جلسة Beacon جديدة باستخدام واجهة برمجة رفع الامتيازات المتاحة في Aggressor Script الخاص بـ Cobalt Strike. هذا مقبول لعرض سريع، يتناسب مع سير عمل المنتج، إلخ ولكن... يحقن في winlogon.exe. الحقن في winlogon.exe ليس ثابتًا لهذه الحالة الخاصة من الرفع. أظن أن جميع PoCs العامة تفعل ذلك لأن CreateRemoteThread لا يعمل عبر حدود العمليات ومن يريد كتابة الكود الإضافي لتزييف العملية الأم؟ winlogon.exe هو الهدف السهل الواضح لإظهار أن لدينا صلاحيات مرتفعة.

لتجميع هذا مع Visual Studio:

استخدم make.bat من x64 Cross Tools Command Prompt.

سيقوم هذا بإخراج expoit.x64.o إلى dist/

استخدمت Visual Studio 2013. لم يتم اختبار مترجمين/إصدارات أخرى. لم أحاول/أختبر x86.

تنزيل الأداة