هشدار: دو آسیب‌پذیری خطرناک در سرویس Print Spooler ویندوز

هشدار: دو آسیب‌پذیری خطرناک در سرویس Print Spooler ویندوز

تاریخ ایجاد

اخیراً یک ‫آسیب‌پذیری با شناسه‌ی CVE-2021-1675 و شدت بالا (7.8 از 10) در سرویس Print Spooler ویندوز کشف شده است که بهره‌برداری از آن امکان ارتقای امتیاز و افزایش سطح دسترسی بر روی سیستم‌های ویندوزی آسیب‌پذیر را برای مهاجم فراهم می‌کند. لازم به ذکر است که مهاجم برای بهره‌برداری به امتیاز یا دسترسی بالایی نیاز ندارد. باید توجه داشت که سرویس Print Spooler به صورت پیش‌فرض در سیستم‌های ویندوزی در حال اجرا است و برای اجرا نیاز به اتصال به یک دستگاه پرینتر ندارد.

در تاریخ 10 تیر ‫مایکروسافت از وجود یک آسیب‌پذیری دیگر در سرویس Print Spooler خبر داد که با نام PrintNightmare و شناسه‌ی CVE-2021-34527 شناخته می‌شود. بهره‌برداری از این آسیب‌پذیری روزصفرم امکان اجرای کد از راه دور با دسترسی SYSTEM بر روی سیستم آسیب‌پذیر، نصب برنامه، مشاهده، تغییر یا حذف اطلاعات و ایجاد حساب‌های کاربری با دسترسی کامل را برای مهاجم احراز هویت شده فراهم می‌کند.

وصله‌های امنیتی/ اقدامات کاهشی
CVE-2021-1675
مایکروسافت از این آسیب‌پذیری به عنوان یک آسیب‌پذیری بحرانی یاد کرده است لذا هرچه سریع‌تر نسبت به به‌روزرسانی محصولات آسیب‌پذیر اقدام کنید.

windows

در ویندوز سرورهایی که به عنوان کنترل کننده‌ی دامنه (DC) فعالیت می‌کنند و سیستم‌های که فیلد «NoWarningNoElevationOnInstall» در تنظیمات group policy، با مقدار «یک» تنظیم شده باشد، دریافت وصله امنیتی در رفع آسیب‌پذیری موثر نخواهد بود و باید نسبت به غیرفعال کردن (Disable) سرویس Print Spooler در این سیستم‌ها اقدام شود. برای مشاهده‌ی مقدار فیلد مذکور به آدرس زیر در DC مراجعه کنید:

HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\WindowsNT\Printers\PointAndPrint\NoWarningNoElevationOnInstall

CVE-2021-34527- PrintNightmare
تاکنون وصله امنیتی که آسیب‌پذیری را به‌طور کامل برطرف کند، توسط مایکروسافت منتشر نشده است و کد اکسپلویت این آسیب‌پذیری طی چند روز اخیر در سطح اینترنت منتشر شده و در اختیار عموم قرار گرفته است.
با توجه به اینکه یکی از کدهای اکسپلویت به طور خاص کنترل‌کننده‌های دامنه (DC) Active Directory را هدف قرار داده است اکیداً توصیه می‌گردد اگر از ویندوز سرور به عنوان کنترل کننده‌ی دامنه (DC) استفاده می‌کنید، سرویس Print spooler ویندوز را در کنترل‌کننده‌های دامنه و سیستم‌های که از خدمت پرینت استفاده نمی‌کنند (با تغییر Group Policy)، غیرفعال کنید تا در صورت هدف قرار گرفتن توسط مهاجمان، کل شبکه داخلی سازمان تحت اختیار مهاجمان قرار نگیرد. توجه داشته باشید که سرویس باید غیرفعال شود (disabled) نه متوقف (Stopped)؛ چراکه در صورت متوقف کردن سرویس، مهاجم می‌تواند مجدداً آن را راه‌اندازی کند.
جهت آگاهی از اینکه سرویس Print spooler در حال اجرا است یا خیر دستور زیر را با اکانت آدمین دامنه (Domain Admin) اجرا کنید:

Get-Service -Name Spooler

در صورت فعال بودن سرویس برای غیرفعال کردن آن در رابط‌های Command line و PowerShell از دستور زیر استفاده کنید:

Command line: net stop spooler && sc config spooler start=disabled
PowerShell: Stop-Service -Name Spooler -Force Set-Service -Name Spooler -StartupType Disabled

از آنجایی که عموماً کلاینت‌ها نیاز به استفاده از این سرویس دارند به جای غیرفعال کردن سرویس، می‌توان پیکربندی آن را طوری تغییر داد که امکان برقراری اتصال از سایر کلاینت از بین برود. به این منظور به صورت محلی یا با استفاده از تنظیمات Group Policy مطابق شکل زیر«Allow Print Spooler to accept client connections» را بر روی Disabled تنظیم کنید.

windows

لازم به ذکر است که آسیب‌پذیری‌های موجود در سرویس Print Spooler پیش‌تر نیز توسط بدافزارها و ویروس‌های کامپیوتری مورد بهره‌برداری قرار گرفته‌اند (CVE-2010-2729).

منابع:

https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-1675
https://docs.microsoft.com/en-us/defender-for-identity/cas-isp-print-spooler
https://doublepulsar.com/zero-day-for-every-supported-windows-os-version-in-the-wild-printnightmare-b3fdb82f840c
https://blog.truesec.com/2021/06/30/exploitable-critical-rce-vulnerability-allows-regular-users-to-fully-compromise-active-directory-printnightmare-cve-2021-1675/