هشدار مایکروسافت در خصوص وجود دو آسیبپذیری در PowerShell
شرکت مایکروسافت (Microsoft Corp) به راهبران امنیتی توصیه نموده تا در اسرع وقت نسبت به وصله دو ضعفامنیتی در PowerShell 7 اقدام کنند. این آسیبپذیریها به مهاجمان اجازه میدهند تا از سد کنترلهای امنیتی Windows Defender Application Control – به اختصار WDAC – عبور کرده و به اطلاعات اصالتسنجی دسترسی پیدا کنند.
در این گزارش که با همکاری شرکت مهندسی شبکه گستر و مرکز مدیریت راهبردی افتای ریاست جمهوری تهیه شده جزییات این دو آسیبپذیری مورد بررسی قرار گرفته است.
PowerShell یک بستر (Platform) و یکی از ابزارهای خودکارسازی وظایف و مدیریت پیکربندی است که توسط شرکت مایکروسافت برای سیستمعامل Windows ارائه شده است. این ابزار جهت کاهش حجم کاری مدیران و کاربران ایجاد شده تا قابلیت خودکارسازی تنظیمات سیستمعامل، وظایف و پردازشهای ساده Windows را فراهم کند.
PowerShell متشکل از یک پوسته خط فرمان و یک زبان برنامه نویسی Scripting بوده و بیش از 130 خط فرمان استاندارد برای توابع مختلف دارد. در ابتدا فقط یکی از مولفههای Windows بود که به Windows PowerShell معروف و بر روی Net Framework. ساخته شده بود. در 18 آگوست 2016، با معرفی PowerShell Core به صورت منبعباز و چندبستری بر روی Net Core. ساخته شد.
در ماههای اکتبر و سپتامبر نیز نسخههای PowerShell 7.0.8 و PowerShell 7.1.5 به منظور رفع ضعفامنیتی موجود در PowerShell 7 و PowerShell 7.1 ارائه شده بود.
WDAC جهت محافظت از سیستمهای Windows در برابر نرمافزارهای مخرب و تضمین اجرای برنامههای معتبر و راهاندازهای امن طراحی شده است و اجرای بدافزارها و نرم افزارهای ناخواسته را مسدود میکند.
هنگامی که لایه امنیتی مبتنی بر نرمافزار WDAC در Windows فعال است، PowerShell به طور خودکار به وضعیت Constrained Language Mode سوییچ میکند و تنها موجب دسترسی به مجموعه محدودی از Windows API میشود.
مهاجمان با سوءاستفاده از ضعفامنیتی موجود در WDAC که از نوع “عبور از سد کنترلهای امنیتی” (Security Feature Bypass) بوده و دارای شناسه CVE-2020-0951 میباشد، فهرست مجاز WDAC را دور زده و فرامین PowerShell را که در حالت عادی بواسطه فعال بودن WDAC مسدود میشوند، اجرا میکنند.
شرکت مایکروسافت در گزارش خود به نشانی زیر اعلام نموده که مهاجم جهت سوءاستفاده از این آسیبپذیری، به سطح دسترسی ممتاز (Administrator) در سیستم محلی که PowerShell در آن اجرا میشود، نیاز دارد. مهاجم پس از دستیابی به سطح دسترسی بالا، به PowerShell متصل شده و فرامینی را جهت “اجرای کد ناخواسته” (Arbitrary Code Execution) ارسال میکند.
https://github.com/PowerShell/Announcements/issues/27
آسیبپذیری دوم، که دارای شناسه CVE-2021-41355 میباشد، ضعف امنیتی از نوع “افشای اطلاعات” (Information Disclosure) در .NET Core است که سوءاستفاده از آن، اطلاعات اصالتسنجی را به صورت کاملاً واضح در سیستمهایی که سیستمعاملی غیر از Windows در آنها در حال اجراست، فاش میکند.
مایکروسافت در گزارش دیگری به نشانی زیر، عنوان نموده که ضعفامنیتی مذکور از طریق System.DirectoryServices.Protocols.LdapConnection منجر به افشای اطلاعات اصالتسنجی به صورت کاملاً واضح در سیستمهای فاقد سیستمعامل Windows میشود.
https://github.com/PowerShell/Announcements/issues/26
آسیبپذیری CVE-2020-0951 در هر دو نسخه PowerShell 7 و PowerShell 7.1 وجود دارد، در حالی که فقط کاربران PowerShell 7.1 از ضعفامنیتی با شناسه CVE-2021-41355 تأثیر میپذیرند.
به منظور شناسایی نسخهای از PowerShell که در سیستم در حال اجرا است و تعیین اینکه سیستم در برابر کدام یک از دو ضعف امنیتی فوق آسیبپذیر میباشد، راهبران میتوانند فرمان pwsh -v را در Command Prompt اجرا کنند.
مایکروسافت در ادامه عنوان میکند که در حال حاضر هیچگونه اقدام کاهشی جهت مسدودسازی سوءاستفاده از ضعفهای امنیتی مذکور وجود ندارد و به راهبران امنیتی توصیه میکند تا در اسرع وقت نسخههای بهروز شده PowerShell 7.0.8 و PowerShell 7.1.5 را جهت محافظت سیستمها در برابر حملات احتمالی نصب کنند.
مایکروسافت در ادامه به راهبران امنیتی توصیه نموده که بهروزرسانی نسخهای از PowerShell 7 را که تحت تاثیر ضعفهای امنیتی مذکور نبوده است، در دستور کار خود قرار دهند. جزئیات مربوط به نسخههای بهروز شده و نسخههایی از PowerShell که تحت تاثیر آسیبپذیریهای فوق بودهاند در نشانیهای زیر قابل دریافت است.
https://github.com/PowerShell/Announcements/issues/27
https://github.com/PowerShell/Announcements/issues/26
در ماه جولای نیز این شرکت در مورد آسیبپذیری دیگری از نوع “اجرای کد از راه دور” (Remote Code Execution) با شناسه CVE-2021-26701 در PowerShell 7 هشدار داده بود.
این شرکت اعلام نموده که با انتشار بهروزرسانیهای بعدی از طریق سرویس Microsoft Update Service، بهروزرسانی PowerShell برای مشتریان Windows 10 و Windows Server آسانتر میشود.