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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2021-1732 — استغلال نواة ويندوز لـ CVE-2021-1732، وهو ثغرة استخدام بعد التحرير في win32kfull.sys تتيح رفع الامتيازات المحلية عبر إنشاء نافذة مصممة خصيصًا وتلاعب بالاستدعاءات. | Kitploit
أدوات/GitHubGitHub/beneficialcode/cve-2021-1732
تصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالاستغلال الملفات الثنائية
GitHubbeneficialcode/cve-2021-1732

CVE-2021-1732

استغلال نواة ويندوز لـ CVE-2021-1732، وهو ثغرة استخدام بعد التحرير في win32kfull.sys تتيح رفع الامتيازات المحلية عبر إنشاء نافذة مصممة خصيصًا وتلاعب بالاستدعاءات.

عرض المستودع
11منذ 4 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2021-1732

  • الثغرة تحدث في وظيفة win32kfull!NtUserCreateWindowEx لبرنامج تشغيل الرسومات في Windows، حيث يوجد عدم تزامن بين استدعاء النواة لتخصيص الذاكرة في وضع المستخدم وإعداد خاصية tagWND->flag، مما يتسبب في ثغرة. هذا يسمح بتزوير قيمة tagWND->offset مما يؤدي إلى تجاوز سعة الذاكرة.
  • عندما يستدعي برنامج التشغيل win32kfull.sys الدالة NtUserCreateWindowEx لإنشاء نافذة، فإنه يتحقق من tagWND->cbWndExtra (عدد الذاكرة الإضافية المخصصة لمثيل النافذة). إذا كانت القيمة غير فارغة، فإنه يستدعي الدالة win32kfull!xxxClientAllocWindowClassExtraBytes التي تعيد الاتصال بطبقة المستخدم user32.dll!__xxxClientAllocWindowClassExtraBytes لتخصيص مساحة. يتم تعديل المكدس باستخدام الدالة NtCallbackReturn بعد التخصيص، ثم يعود إلى طبقة النواة ويحفظ القيمة ويستمر التشغيل. وعندما تحتوي قيمة tagWND->flag على الخاصية 0x800، تصبح القيمة المحفوظة عبارة عن إزاحة (offset).
  • يمكن للمهاجم اعتراض (Hook) الدالة user32.dll!_xxxClientAllocWindowClassExtraBytes واستدعاء NtUserConsoleControl لتعديل tagWND->flag بحيث تحتوي على الخاصية 0x800، ثم استخدام NtCallbackReturn لإرجاع قيمة مخصصة إلى tagWND->offset في النواة.
  1. الثغرة تحدث في وظيفة win32kfull!NtUserCreateWindowEx لبرنامج تشغيل الرسومات في Windows.
  2. عندما يستدعي برنامج التشغيل win32kfull.sys الدالة NtUserCreateWindowEx لإنشاء نافذة، فإنه يتحقق من tagWND->cbWndExtra (عدد الذاكرة الإضافية المخصصة لمثيل النافذة). إذا كانت القيمة غير فارغة، فإنه يستدعي الدالة win32kfull!xxxClientAllocWindowClassExtraBytes التي تعيد الاتصال بطبقة المستخدم user32.dll!__xxxClientAllocWindowClassExtraBytes لإنشاء الذاكرة. يتم تعديل المكدس باستخدام الدالة NtCallbackReturn بعد التخصيص، ثم يعود إلى طبقة النواة ويحفظ القيمة ويستمر التشغيل. وعندما تحتوي قيمة tagWND->flag على الخاصية 0x800، يتم استخدام الإزاحة (offset) للوصول إلى القيمة.
  3. استخدام NtUserConsoleControl لتعديل flag بحيث يحتوي على الخاصية 0x800.

17763:[[gpKernelHandleTable] + 0x18 * ((hwnd->cx * [gSharedInfo+0x10]) >> 5)]

يذكر أن استدعاء NtUserConsoleControl يعيد تعيين قيم tagWND->offset و tagWND->flag بحيث تحتوي على الخاصية 0x800. الخاصية 0x800 في قيمة flag تعني استخدام الإزاحة للوصول. هدفنا من استدعاء NtUserConsoleControl حالياً هو تعديل قيمة tagWND->flag لتشمل الخاصية 0x800، ثم استدعاء الدالة NtCallbackReturn لإرجاع قيمة محددة بهدف إعادة تعديل tagWND->offset، لأن الدالة win32kfull!xxxClientAllocWindowClassExtraBytes تضع القيمة المرجعة في tagWND->offset.

+0x058 KernelCallbackTable : 0x00007ffb0e9d1070 Void

00007ffb0e9d1448`

تنزيل الأداة