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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2020-0796-PoC — PoC لإثارة تجاوز سعة المخزن المؤقت عبر CVE-2020-0796 | Kitploit
أدوات/GitHubGitHub/eerykitty/cve-2020-0796-poc
تحليل الثغرات الأمنيةالاستغلالاختبار الاختراقالفريق الأحمرتطوير الحمولاتاستغلال الملفات الثنائية
GitHubeerykitty/cve-2020-0796-poc

CVE-2020-0796-PoC

PoC لإثارة تجاوز سعة المخزن المؤقت عبر CVE-2020-0796

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2020-0796 PoC المعروف باسم CoronaBlue أو SMBGhost

الاستخدام

./CVE-2020-0796.py servername

يتصل هذا السكريبت بالخادم الهدف، ويضغط طلب المصادقة مع تعيين حقل الإزاحة (offset field) بقيمة خاطئة في رأس التحويل (transformation header)، مما يتسبب في تجاوز سعة المخزن المؤقت (buffer overflow) لمفكك الضغط وتعطل الهدف.

يحتوي هذا على تعديل لبروتوكول smbprotocol الممتاز مع إضافة دعم لضغط وفك ضغط SMB 3.1.1 (فقط LZNT1). معظم الإضافات موجودة في smbprotocol/connection.py. تم تضمين نسخة من lznt1 معدلة لدعم Python 3.

رأس تحويل الضغط موجود في الفئة SMB2CompressionTransformHeader. يتم استدعاء الدالة _compress لضغط طلبات الشجرة (tree requests). وهنا يتم تعيين حقل الإزاحة إلى قيمة مرتفعة لإحداث التعطل.

root@kitploit:~
    def _compress(self, b_data, session):
        header = SMB2CompressionTransformHeader()
        header['original_size'] = len(b_data)
        header['offset'] = 4294967295
        header['data'] = smbprotocol.lznt1.compress(b_data)

حول

CVE-2020-0796 هو خلل في ميزة ضغط SMB3 الجديدة في Windows 10 1903/1909. يقدم إصدار بروتوكول SMB 3.1.1 إمكانية إعلان قدرات الضغط من قبل العميل أو الخادم، وضغط رسائل SMB3 بشكل انتقائي حسب الحاجة. ولتحقيق ذلك، عند التفاوض على جلسة SMB، يجب على كل من العميل والخادم تضمين SMB2_COMPRESSION_CAPABILITIES كما هو موثق في MS-SMB2 2.2.3.1.3.

بمجرد التفاوض على جلسة بهذه الإمكانية، يمكن للعميل أو الخادم ضغط رسائل SMB معينة بشكل انتقائي. وللقيام بذلك، يتم ضغط حزمة SMB بالكامل، ويتم إضافة رأس محول (transformed header) في البداية، كما هو موثق في MS-SMB2 2.2.42. هذا الرأس عبارة عن بنية صغيرة (16 بايت) تحتوي على قيمة سحرية (magic value)، وحجم البيانات غير المضغوطة، وخوارزمية الضغط المستخدمة، وقيمة الإزاحة.

ينتج CVE-2020-0796 عن عدم التحقق من حدود حجم الإزاحة، والذي يتم تمريره مباشرة إلى عدة دوال فرعية. سيؤدي تمرير قيمة كبيرة إلى تجاوز سعة المخزن المؤقت وتعطل النواة. ومع مزيد من العمل، يمكن تطوير هذا إلى استغلال لتنفيذ التعليمات البرمجية عن بُعد (RCE).

تنزيل الأداة