از سرریز پشته تا حملههای دادهمحور در کرنل ویندوز
خلاصهٔ کاملتر
به گفتهٔ نویسنده این نوشته شروع یه سری چهارقسمتیه که عمیق وارد اکسپلویت کرنل ویندوز میشه و تکامل تکنیکهای حملهٔ Ring 0 رو دنبال میکنه — از روشهای قدیمیِ ربودن اجرا تا حملههای دادهمحور (Data-Only) مدرن. کل کار روی درایور عمداً آسیبپذیرِ HEVD (HackSys Extreme Vulnerable Driver) روی نسخهٔ بهروزِ ویندوز ۱۱ ۶۴بیتی سوار شده و قدمبهقدم ساختن پرایمیتیوهای کرنل رو نشون میده.
قسمت اول سراغ سرریز بافر تو پشتهٔ کرنل میره. به گفتهٔ نویسنده اینجا محافظ SMEP رو با یه زنجیرهٔ ROP که بیت مربوطه تو رجیستر CR4 رو برمیگردونه دور میزنه، توکن SYSTEM رو با دستکاری مستقیم آبجکتهای کرنل (DKOM) میدزده و با محاسبهٔ دقیق فاصلههای پشته، وضعیت اجرا رو برمیگردونه تا سیستم کرش نکنه.
قسمت دوم از سرریز بافر به یه پرایمیتیو Write-What-Where میرسه؛ یعنی نوشتن یه مقدار دلخواه تو یه آدرس دلخواه. نویسنده میگه برای غلبه بر ناپایداری رجیسترها تو استککالهای کرنل، اجرا رو به یه پشتهٔ جعلیِ نگاشتشده تو فضای ۳۲بیتی منتقل میکنه و بعد با کمک لنگر InitialStack تو ساختار _KTHREAD، پشتهٔ اصلی و قانونی کرنل رو دوباره بازسازی میکنه.
قسمت سوم کلاً ربودن اجرا رو کنار میذاره و میره سراغ حملهٔ دادهمحورِ خالص. چون مکانیزمهای امنیتی ویندوز ۱۱ مدرن نشت آدرس اشارهگرهای کرنل رو میبندن، نویسنده از یه خطای خواندنِ خارج از محدوده (out-of-bounds) تو Pool استفاده میکنه و با کمک Named Pipeها به ناحیهٔ NonPagedPoolNx پیوت میکنه. قسمت چهارم هم با تکنیک groomingِ دو-پایپ آدرسهای مطلق کرنل رو بهصورت ریاضی حساب میکنه و در نهایت با جابهجا کردن توکن تو ساختار _EPROCESS به یه ارتقای سطح دسترسیِ محلیِ پایدار میرسه.
نکات کلیدی:
- سری چهارقسمتی اکسپلویت کرنل ویندوز ۱۱ روی درایور آسیبپذیر HEVD
- روند از سرریز پشته و ربودن اجرا به سمت حملههای دادهمحورِ خالص میره
- تکنیکها: دور زدن SMEP با ROP، سرقت توکن SYSTEM با DKOM، پرایمیتیو Write-What-Where
- در نسخههای مدرن ویندوز ۱۱ که نشت اشارهگر کرنل بسته شده، pool grooming و Named Pipe جایگزین میشن
- هدف نهایی، ارتقای سطح دسترسی محلی (LPE) پایدار با جابهجایی توکن در _EPROCESS




