تحليل واستغلال ثغرات 0day في نظام ويندوز من مايكروسوفت
المقدمة
تضمن تصحيح الأمان من مايكروسوفت في الشهر الماضي ثغرة تصعيد امتياز win32k المستغلة في البرية، والتي توجد فقط في أنظمة Windows المبكرة. ستقوم هذه المقالة بتحليل كيفية استمرار المهاجمين في استغلال هذه الثغرة في ظل التحسين المستمر للتدابير الأمنية الحالية. بيئة التحليل هي Windows Server 2016.
خلفية الثغرة
ثغرات 0day تشير إلى الثغرات التي لم يتم الكشف عنها أو إصلاحها، والتي يمكن استغلالها بشكل ضار مما يسبب أضرارًا كبيرة. الثغرة 0day المكتشفة في نظام ويندوز يمكن أن تسمح للقراصنة بالحصول على السيطرة الكاملة على النظام، وتشمل العواقب ولكن لا تقتصر على:
سرقة المعلومات الشخصية
تعطل النظام وفقدان البيانات
خسارة مالية
زرع البرمجيات الخبيثة
تم سرقة المفتاح الخاص المشفر
تم نقل الأصول الرقمية
من منظور أوسع، قد تؤثر هذه الثغرة على نظام Web3 البيئي بأكمله الذي يعمل على بنية Web2 التحتية.
تحليل التصحيح
تم إصلاح خطأ في معالجة عد الإشارة لمرات متعددة. من تحليل تعليقات المصدر المبكر، يتبين أن الشيفرة الأصلية كانت تقفل كائن النافذة فقط، دون قفل كائن القائمة في النافذة، مما قد يؤدي إلى الإشارة الخاطئة لكائن القائمة.
تحليل استغلال الثغرات
تحليل يظهر أن هناك احتمالين للقائمة التي ترجعها دالة MenuItemState في دالة xxxEnableMenuItem: القائمة الرئيسية للنافذة أو القائمة الفرعية داخل القائمة.
بناء هيكل قائمة متداخلة متعددة الطبقات خاص، وتعيين خصائص معينة، يمكن تجاوز الكشف عن الوظائف. عند عودة دالة xxxRedrawTitle إلى طبقة المستخدم، احذف علاقة الإشارة بين القوائم وحرر كائن القائمة الهدف. في النهاية، يتم الإشارة إلى كائن القائمة غير الصالح في دالة xxxEnableMenuItem.
استغلال الثغرات
الفكرة العامة
اعتبار نوعين من الاستخدامات:
تنفيذ كود شل
استخدام عمليات القراءة والكتابة لتعديل عنوان التوكن
اختيار الخيار الثاني، سيؤدي إلى تقسيم عملية الاستخدام إلى مشكلتين:
كيفية استغلال ثغرة UAF للتحكم في قيمة cbwndextra
كيف تتحقق من التنفيذ المستقر لعمليات القراءة والكتابة
 كتابة البيانات الأولية
استخدم كائن اسم النافذة في فئة WNDClass لاحتلال كائن القائمة المحرر. ابحث عن فرصة كتابة البيانات في دالة xxxRedrawWindow.
الاختيار النهائي هو كتابة معلمة cb-extra في HWNDClass من خلال عملية AND 2 باستخدام علامة.
![Numen حصري: ثغرة 0day من مايكروسوفت يمكن أن تكشف عن نظام + مستوى مادي في لعبة Web3]###https://img-cdn.gateio.im/webp-social/moments-697c5814db02534f63b44c0d1d692f83.webp(
) تخطيط الذاكرة المستقر
تصميم ثلاثة كائنات HWND مستمرة، تحرير الكائن الأوسط واستخدام كائن HWNDClass. الكائنات HWND الأمامية والخلفية تستخدم على التوالي:
توفير معايير فحص العلامة
توفير وسائط قراءة وكتابة الأصل
تحديد ترتيب كائنات بدقة من خلال تسرب عنوان مقبض النواة.
![Numen حصري: ثغرة 0day من مايكروسوفت يمكنها قلب لعبة Web3 على المستوى النظامي والفيزيائي]###https://img-cdn.gateio.im/webp-social/moments-b0942592135ac96c6279544a62022329.webp(
) تنفيذ القيم الأساسية للقراءة والكتابة
قراءة عشوائية: GetMenuBarInfo###(
اكتب أي شيء: SetClassLongPtr)(
بخلاف كتابة TOKEN، يتم استخدام كائن فئة كائن النافذة الأولى في عمليات الكتابة الأخرى.
ملخص
قد يتم القضاء على ثغرة win32k في إصدار Windows الجديد
عملية استغلال الثغرات بسيطة نسبيًا، وتعتمد بشكل رئيسي على تسرب عنوان مقبض كومة سطح المكتب
قد يعتمد اكتشاف الثغرات على كشف تغطية الشيفرة بشكل أكثر كمالاً
يساعد الكشف عن القراءة والكتابة غير العادية في الذاكرة في اكتشاف الثغرات المماثلة
![Numen حصرية: ثغرة 0day من مايكروسوفت يمكنها أن تعصف بنظام + على المستوى الفيزيائي بمشهد Web3])https://img-cdn.gateio.im/webp-social/moments-b06b098af4f07260fdc03a75da160706.webp(
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
تسجيلات الإعجاب 13
أعجبني
13
3
إعادة النشر
مشاركة
تعليق
0/400
MidnightTrader
· منذ 12 س
ثقب كبير آخر، ويندوز بالفعل ليس جيدًا!
شاهد النسخة الأصليةرد0
TokenDustCollector
· منذ 12 س
ثغرة مايكروسوفت هذه خطيرة جداً، حيث يمكن سرقة المفتاح الخاص.
تحليل ثغرات Windows 0day: من UAF القائمة إلى تصعيد حقوق النظام
تحليل واستغلال ثغرات 0day في نظام ويندوز من مايكروسوفت
المقدمة
تضمن تصحيح الأمان من مايكروسوفت في الشهر الماضي ثغرة تصعيد امتياز win32k المستغلة في البرية، والتي توجد فقط في أنظمة Windows المبكرة. ستقوم هذه المقالة بتحليل كيفية استمرار المهاجمين في استغلال هذه الثغرة في ظل التحسين المستمر للتدابير الأمنية الحالية. بيئة التحليل هي Windows Server 2016.
خلفية الثغرة
ثغرات 0day تشير إلى الثغرات التي لم يتم الكشف عنها أو إصلاحها، والتي يمكن استغلالها بشكل ضار مما يسبب أضرارًا كبيرة. الثغرة 0day المكتشفة في نظام ويندوز يمكن أن تسمح للقراصنة بالحصول على السيطرة الكاملة على النظام، وتشمل العواقب ولكن لا تقتصر على:
من منظور أوسع، قد تؤثر هذه الثغرة على نظام Web3 البيئي بأكمله الذي يعمل على بنية Web2 التحتية.
تحليل التصحيح
تم إصلاح خطأ في معالجة عد الإشارة لمرات متعددة. من تحليل تعليقات المصدر المبكر، يتبين أن الشيفرة الأصلية كانت تقفل كائن النافذة فقط، دون قفل كائن القائمة في النافذة، مما قد يؤدي إلى الإشارة الخاطئة لكائن القائمة.
تحليل استغلال الثغرات
تحليل يظهر أن هناك احتمالين للقائمة التي ترجعها دالة MenuItemState في دالة xxxEnableMenuItem: القائمة الرئيسية للنافذة أو القائمة الفرعية داخل القائمة.
بناء هيكل قائمة متداخلة متعددة الطبقات خاص، وتعيين خصائص معينة، يمكن تجاوز الكشف عن الوظائف. عند عودة دالة xxxRedrawTitle إلى طبقة المستخدم، احذف علاقة الإشارة بين القوائم وحرر كائن القائمة الهدف. في النهاية، يتم الإشارة إلى كائن القائمة غير الصالح في دالة xxxEnableMenuItem.
استغلال الثغرات
الفكرة العامة
اعتبار نوعين من الاستخدامات:
اختيار الخيار الثاني، سيؤدي إلى تقسيم عملية الاستخدام إلى مشكلتين:
 كتابة البيانات الأولية
استخدم كائن اسم النافذة في فئة WNDClass لاحتلال كائن القائمة المحرر. ابحث عن فرصة كتابة البيانات في دالة xxxRedrawWindow.
الاختيار النهائي هو كتابة معلمة cb-extra في HWNDClass من خلال عملية AND 2 باستخدام علامة.
![Numen حصري: ثغرة 0day من مايكروسوفت يمكن أن تكشف عن نظام + مستوى مادي في لعبة Web3]###https://img-cdn.gateio.im/webp-social/moments-697c5814db02534f63b44c0d1d692f83.webp(
) تخطيط الذاكرة المستقر
تصميم ثلاثة كائنات HWND مستمرة، تحرير الكائن الأوسط واستخدام كائن HWNDClass. الكائنات HWND الأمامية والخلفية تستخدم على التوالي:
تحديد ترتيب كائنات بدقة من خلال تسرب عنوان مقبض النواة.
![Numen حصري: ثغرة 0day من مايكروسوفت يمكنها قلب لعبة Web3 على المستوى النظامي والفيزيائي]###https://img-cdn.gateio.im/webp-social/moments-b0942592135ac96c6279544a62022329.webp(
) تنفيذ القيم الأساسية للقراءة والكتابة
بخلاف كتابة TOKEN، يتم استخدام كائن فئة كائن النافذة الأولى في عمليات الكتابة الأخرى.
ملخص
قد يتم القضاء على ثغرة win32k في إصدار Windows الجديد
عملية استغلال الثغرات بسيطة نسبيًا، وتعتمد بشكل رئيسي على تسرب عنوان مقبض كومة سطح المكتب
قد يعتمد اكتشاف الثغرات على كشف تغطية الشيفرة بشكل أكثر كمالاً
يساعد الكشف عن القراءة والكتابة غير العادية في الذاكرة في اكتشاف الثغرات المماثلة
![Numen حصرية: ثغرة 0day من مايكروسوفت يمكنها أن تعصف بنظام + على المستوى الفيزيائي بمشهد Web3])https://img-cdn.gateio.im/webp-social/moments-b06b098af4f07260fdc03a75da160706.webp(