گوگل آسیبپذیری امنیتی اصلاح نشده در ویندوز 8.1 را فاش کرد
3 دقیقه خواندن
منتشر شده در
صفحه افشای ما را بخوانید تا بدانید چگونه می توانید به MSPoweruser کمک کنید تا تیم تحریریه را حفظ کند ادامه مطلب
یکی از محققان گوگل یک آسیب پذیری امنیتی وصله نشده در ویندوز 8.1 را فاش کرده است. محقق گوگل این باگ را در صفحه تحقیقات امنیتی گوگل پست کرده است و مشمول 90 روز مهلت افشای آن است. اگر 90 روز بدون وصله گسترده در دسترس بگذرد، گزارش اشکال به طور خودکار برای عموم قابل مشاهده خواهد بود. هیچ اطلاعاتی در مورد اینکه آیا مایکروسافت این اشکال را تصدیق کرده یا اینکه آیا آنها در حال کار بر روی آن هستند وجود ندارد. اما من احساس می کنم که انتشار یک آسیب پذیری در محصولاتی مانند ویندوز 8 که روزانه توسط میلیون ها نفر استفاده می شود، اقدامی غیرمسئولانه از سوی گوگل است.
اطلاعات زیر در مورد باگ ارسال شده است
در به روز رسانی ویندوز 8.1، فراخوانی سیستم NtApphelpCacheControl (کد در واقع در ahcache.sys است) اجازه می دهد تا داده های سازگاری برنامه برای استفاده مجدد سریع در هنگام ایجاد فرآیندهای جدید در حافظه پنهان ذخیره شوند. یک کاربر معمولی می تواند کش را پرس و جو کند اما نمی تواند ورودی های کش جدید اضافه کند زیرا این عملیات به مدیران محدود می شود. این در تابع AhcVerifyAdminContext بررسی می شود.
این تابع دارای یک آسیبپذیری است که در آن نشانه جعل هویت تماسگیرنده را به درستی بررسی نمیکند تا مشخص کند آیا کاربر مدیر است یا خیر. رمز جعل هویت تماسگیرنده را با استفاده از PsReferenceImpersonationToken میخواند و سپس بین SID کاربر در توکن با SID LocalSystem مقایسه میکند. سطح جعل هویت توکن را بررسی نمیکند، بنابراین میتوانید از یک فرآیند سیستم محلی، یک رمز شناسایی روی رشته خود دریافت کنید و از این بررسی عبور کنید. برای این منظور PoC از سرویس BITS و COM برای دریافت نشانه جعل هویت سوء استفاده می کند، اما احتمالا راه های دیگری نیز وجود دارد.
درست در آن صورت یافتن راهی برای بهره برداری از آسیب پذیری است. در PoC یک ورودی حافظه پنهان برای یک فایل اجرایی UAC بالا بردن خودکار (مثلاً ComputerDefaults.exe) ایجاد میشود و کش را طوری تنظیم میکند که به ورودی compat برنامه برای regsvr32 اشاره کند که یک RedirectExe shim را مجبور میکند تا regsvr32.exe را مجدداً بارگیری کند. به هر حال هر فایل اجرایی می تواند مورد استفاده قرار گیرد، ترفند پیدا کردن یک پیکربندی سازگار برنامه از قبل موجود برای سوء استفاده است.
مشخص نیست که آیا ویندوز 7 آسیب پذیر است یا خیر زیرا مسیر کد برای به روز رسانی دارای یک بررسی امتیاز TCB بر روی آن است (اگرچه به نظر می رسد بسته به پرچم ها ممکن است این مورد قابل عبور باشد). هیچ تلاشی برای تأیید آن در ویندوز 7 انجام نشده است. توجه: این یک اشکال در UAC نیست، بلکه فقط از ارتفاع خودکار UAC برای اهداف نمایشی استفاده می کند.
PoC بر روی به روز رسانی ویندوز 8.1، هر دو نسخه 32 بیتی و 64 بیتی آزمایش شده است. فقط برای اطمینان توصیه می کنم روی 32 بیت اجرا کنید. برای تایید مراحل زیر را انجام دهید:
1) AppCompatCache.exe و Testdll.dll را روی دیسک قرار دهید
2) مطمئن شوید که UAC فعال است، کاربر فعلی یک مدیر تقسیمبندی توکن است و تنظیمات UAC پیشفرض است (بدون درخواست برای فایلهای اجرایی خاص).
3) AppCompatCache را از خط فرمان با خط فرمان "AppCompatCache.exe c:windowssystem32ComputerDefaults.exe testdll.dll" اجرا کنید.
4) اگر موفقیت آمیز بود، ماشین حساب باید به عنوان مدیر اجرا شود. اگر بار اول کار نکرد (و برنامه ComputerDefaults را دریافت کردید) اکسپلویت را مجدداً از 3 اجرا کنید، به نظر می رسد گاهی اوقات در اولین اجرا مشکل ذخیره سازی/زمان بندی وجود دارد.
منبع: گوگل از طریق: مایکروسافت