تحليل ثغرة الصفر يوم في نظام ويندوز من مايكروسوفت: قد تهدد أمان نظام Web3
في الآونة الأخيرة، قامت مايكروسوفت بإصدار تصحيح أمني يصلح ثغرة تصعيد امتيازات في نظام ويندوز تم استغلالها من قبل القراصنة. تتواجد هذه الثغرة بشكل رئيسي في إصدارات ويندوز السابقة، ولا يمكن استغلالها في ويندوز 11. ستقوم هذه المقالة بتحليل كيف يمكن للمهاجمين الاستمرار في استغلال هذه الثغرة في ظل تعزيز آليات الأمان الحالية.
خلفية الثغرات
هذه ثغرة يوم الصفر، وهي ثغرة نظام تم استغلالها قبل الكشف عنها علنًا. من خلال هذه الثغرة، يمكن للهاكر الحصول على السيطرة الكاملة على نظام Windows، مما قد يؤدي إلى تسرب المعلومات الشخصية، وتعطل النظام، وفقدان البيانات، وخسائر مالية، وغيرها من العواقب الخطيرة. بالنسبة لمستخدمي Web3، قد يتم سرقة المفاتيح الخاصة، مما يعرض الأصول الرقمية لخطر النقل. من منظور أوسع، قد تؤثر هذه الثغرة حتى على النظام البيئي بأكمله لـ Web3 الذي يعمل على بنية تحتية تعتمد على Web2.
تحليل الثغرات
أظهر تحليل التصحيح أن هذه مشكلة تتعلق بعدد مرات الإشارة إلى كائنات النوافذ في win32k. من خلال تحليل التعليقات السابقة في الشيفرة المصدرية، تم اكتشاف أن الشيفرة القديمة كانت تقوم فقط بقفل كائن النافذة، دون قفل كائن القائمة في النافذة، مما أدى إلى احتمال الإشارة الخاطئة إلى كائن القائمة.
عند إجراء مزيد من التحليل، تم اكتشاف أن المشكلة تكمن في دالة xxxEnableMenuItem. قد يكون كائن القائمة الذي تُرجعه هذه الدالة هو القائمة الرئيسية للنافذة، أو قد يكون قائمة فرعية أو حتى قائمة فرعية فرعية. من خلال إنشاء هيكل قائمة متداخلة خاص متعدد الطبقات، يمكن تحرير كائن قائمة وسيط معين عند إرجاع المستخدم من الدالة، مما يتسبب في ثغرة عند الإشارة إليه لاحقًا.
استغلال الثغرات
هناك فكرتان رئيسيتان لاستغلال هذه الثغرة:
تنفيذ كود shellcode. لكن في إصدارات Windows الأحدث، تواجه هذه الطريقة بعض التحديات التقنية.
استخدام عمليات القراءة والكتابة لتعديل عنوان الـtoken. تتمتع هذه الطريقة بعمومية أفضل، والشيء الرئيسي الذي يتعين حله هو كيفية التحكم في قيمة cbwndextra.
الخطة المعتمدة هي:
من خلال التحكم في تخطيط الذاكرة لكائن النافذة، استخدم العمليات على علامات الدالة xxxRedrawWindow لكتابة قيمة cb-extra لـ HWNDClass.
تصميم تخطيط ذاكرة كائنات HWND المتتالية، تحرير الكائنات الوسيطة واستخدام كائن HWNDClass.
استخدام عنوان مقبض النواة المتسرب في ذاكرة الكومة للتحكم بدقة في ترتيب الكائنات.
استخدم GetMenuBarInfo() لتحقيق القراءة العشوائية، واستخدم SetClassLongPtr() لتحقيق الكتابة العشوائية.
أخيرًا، يتم تحقيق رفع المستوى عن طريق تعديل عنوان التوكن.
ملخص
مايكروسوفت تعيد بناء كود win32k المتعلق بـ Rust، وقد تنخفض مثل هذه الثغرات في المستقبل.
إن عملية استغلال الثغرة هذه بسيطة نسبياً، وتعتمد بشكل رئيسي على تسرب عنوان مقبض كومة سطح المكتب.
قد يعتمد اكتشاف هذه الثغرة على تحسين الكشف عن تغطية الكود.
الكشف عن تخطيط الذاكرة غير الطبيعي وعمليات القراءة والكتابة يساعد في اكتشاف الثغرات المماثلة.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
تسجيلات الإعجاب 12
أعجبني
12
3
مشاركة
تعليق
0/400
ApeWithNoChain
· منذ 3 س
عواقب عدم تحديث النظام لفترة طويلة
شاهد النسخة الأصليةرد0
Rekt_Recovery
· منذ 8 س
خسرت 90% في الرافعة المالية لكنني لا أزال على قيد الحياة... أشارك قصص المعارك من الخنادق بصراحة.
تهديد ثغرات يوم الصفر في ويندوز لأمان Web3: ثغرات البنية التحتية لـ Web2 قد تؤثر على أصل رقمي
تحليل ثغرة الصفر يوم في نظام ويندوز من مايكروسوفت: قد تهدد أمان نظام Web3
في الآونة الأخيرة، قامت مايكروسوفت بإصدار تصحيح أمني يصلح ثغرة تصعيد امتيازات في نظام ويندوز تم استغلالها من قبل القراصنة. تتواجد هذه الثغرة بشكل رئيسي في إصدارات ويندوز السابقة، ولا يمكن استغلالها في ويندوز 11. ستقوم هذه المقالة بتحليل كيف يمكن للمهاجمين الاستمرار في استغلال هذه الثغرة في ظل تعزيز آليات الأمان الحالية.
خلفية الثغرات
هذه ثغرة يوم الصفر، وهي ثغرة نظام تم استغلالها قبل الكشف عنها علنًا. من خلال هذه الثغرة، يمكن للهاكر الحصول على السيطرة الكاملة على نظام Windows، مما قد يؤدي إلى تسرب المعلومات الشخصية، وتعطل النظام، وفقدان البيانات، وخسائر مالية، وغيرها من العواقب الخطيرة. بالنسبة لمستخدمي Web3، قد يتم سرقة المفاتيح الخاصة، مما يعرض الأصول الرقمية لخطر النقل. من منظور أوسع، قد تؤثر هذه الثغرة حتى على النظام البيئي بأكمله لـ Web3 الذي يعمل على بنية تحتية تعتمد على Web2.
تحليل الثغرات
أظهر تحليل التصحيح أن هذه مشكلة تتعلق بعدد مرات الإشارة إلى كائنات النوافذ في win32k. من خلال تحليل التعليقات السابقة في الشيفرة المصدرية، تم اكتشاف أن الشيفرة القديمة كانت تقوم فقط بقفل كائن النافذة، دون قفل كائن القائمة في النافذة، مما أدى إلى احتمال الإشارة الخاطئة إلى كائن القائمة.
عند إجراء مزيد من التحليل، تم اكتشاف أن المشكلة تكمن في دالة xxxEnableMenuItem. قد يكون كائن القائمة الذي تُرجعه هذه الدالة هو القائمة الرئيسية للنافذة، أو قد يكون قائمة فرعية أو حتى قائمة فرعية فرعية. من خلال إنشاء هيكل قائمة متداخلة خاص متعدد الطبقات، يمكن تحرير كائن قائمة وسيط معين عند إرجاع المستخدم من الدالة، مما يتسبب في ثغرة عند الإشارة إليه لاحقًا.
استغلال الثغرات
هناك فكرتان رئيسيتان لاستغلال هذه الثغرة:
تنفيذ كود shellcode. لكن في إصدارات Windows الأحدث، تواجه هذه الطريقة بعض التحديات التقنية.
استخدام عمليات القراءة والكتابة لتعديل عنوان الـtoken. تتمتع هذه الطريقة بعمومية أفضل، والشيء الرئيسي الذي يتعين حله هو كيفية التحكم في قيمة cbwndextra.
الخطة المعتمدة هي:
من خلال التحكم في تخطيط الذاكرة لكائن النافذة، استخدم العمليات على علامات الدالة xxxRedrawWindow لكتابة قيمة cb-extra لـ HWNDClass.
تصميم تخطيط ذاكرة كائنات HWND المتتالية، تحرير الكائنات الوسيطة واستخدام كائن HWNDClass.
استخدام عنوان مقبض النواة المتسرب في ذاكرة الكومة للتحكم بدقة في ترتيب الكائنات.
استخدم GetMenuBarInfo() لتحقيق القراءة العشوائية، واستخدم SetClassLongPtr() لتحقيق الكتابة العشوائية.
أخيرًا، يتم تحقيق رفع المستوى عن طريق تعديل عنوان التوكن.
ملخص
مايكروسوفت تعيد بناء كود win32k المتعلق بـ Rust، وقد تنخفض مثل هذه الثغرات في المستقبل.
إن عملية استغلال الثغرة هذه بسيطة نسبياً، وتعتمد بشكل رئيسي على تسرب عنوان مقبض كومة سطح المكتب.
قد يعتمد اكتشاف هذه الثغرة على تحسين الكشف عن تغطية الكود.
الكشف عن تخطيط الذاكرة غير الطبيعي وعمليات القراءة والكتابة يساعد في اكتشاف الثغرات المماثلة.