آسیب‌پذیری PrintNightmare و نحوه رفع آن

1- شروع ماجرا
بعد از آسیب‌پذیری با شناسه CVE-2021-1675 روی سرویس print spooler که منجر به اجرای دستور از راه دور (RCE) می‌شد یک بهره‌جویی  توسط Benjamin Delpy  خالق ابزار معروف mimikatz روی ویندوز سرور 2019 که تا تاریخ 2021/06/06 هم آپدیت شده بود منتشر شد  (شکل 1)، در ابتدا تصور می‌شد که آپدیت مایکروسافت برای این آسیب‌پذیری درست عمل نکرده اما بعداً معلوم شد که یک آسیب‌پذیری جدید است و با شناسه CVE-2021-34527 و نام PrintNightmare نامگذاری شد. این آسیب‌پذیری نیز منجر به اجرای کد ازراه‌دور (RCE) روی سیستم قربانی می‌شد. چند روز پس از انتشار آسیب‌پذیری CVE-2021-34527 یک وصله‌ی  اولیه برای رفع آن توسط شرکت مایکروسافت منتشر شد که بهره‌جویی هم آپدیت شد و نشان داد که آپدیت منتشرشده مشکل را کامل رفع نکرده است و در نهایت مایکروسافت آپدیت کاملی برای این آسیب پذیری ارائه داد.
شکل 1- عمل‌کردن بهره‌جویی روی ویندوز سرور 2019 به روز

آسیب‌پذیری CVE-2021-34527 دارای امتیاز CVSS 8.8 است اما به علت وجود آسیب‌پذیری روی سرویس Print Spooler (به صورت پیش‌فرض روی Domain Controllerها توسط سیستم‌های عضو دامنه قابل دسترس است) و امکان دسترسی راحت به آن اهمیت بالایی پیدا کرده است.
بهره‌جویی این آسیب‌پذیری از راه دور توسط یک سیستم عضو دامنه قابل انجام است و نیاز به احراز هویت و تعامل کاربر ندارد. مهاجم به کمک این آسیب‌پذیری می‌تواند به‌صورت راه‌دور کد دلخواه موردنظر خود را اجرا کند.
در این گزارش به زبان ساده خطرات این آسیب‌پذیری، نحوه بررسی آسیب‌پذیربودن سیستم و به‌روزرسانی آن را شرح خواهیم داد.

2- آسیب‌پذیر‌ی cve-2021-1675 چه آثار مخربی دارد؟
از آنجا که با بهره‌جویی از این آسیب‌پذیری امکان اجرای کد از راه‌دور وجود دارد، مهاجم می‌تواند کد دلخواه خود را روی سرور مهم Domain Controller اجرا کند. بنابراین این آسیب‌پذیری بسیار مهم می‌باشد.

3- چه سیستم‌هایی تحت تاثیر این آسیب پذیری قرار دارند؟
طبق اعلام مایکروسافت  این آسیب‌پذیری روی ویندوز سرور 2004, 2008, 2008R2, 2012, 2012R2, 2016, 2019, 20H2 و ویندوزهای 7, 8.1, RT8.1, 10 وجود دارد.
برای بررسی آسیب‌پذیربودن یک سیستم، هنوز اسکریپت یا ابزار غیر مخرب و معتبری منتشر نشده است که محض انتشار اطلاع‌رسانی خواهد شد. البته از ابزارهایی مانند mimikatz می‌توان استفاده کرد که چون ممکن است باعث خرابی DC‌ شود اینکار توصیه نمی‌شود.


4- نحوه مقابله
برای رفع این آسیب‌پذیری می‌توانید به‌روزرسانی مربوطه را طبق دستورالعمل‌های زیر نصب کنید و یا سرویس spooler را غیرفعال کنید. البته توجه داشته باشید که غیرفعال کردن این سرویس روی سیستم‌هایی که پرینتر اشتراکی دارند مشکلاتی ایجاد خواهد کرد.

4-1- نصب به‌روزرسانی به‌صورت خودکار (توصیه می‌شود)
سیستم خود را به اینترنت متصل کنید و در منوی استارت ویندوز update را تایپ کنید و روی windows update و در صفحه بازشده Check for updates (شکل 2) کلیک کنید و مدت طولانی منتظر بمانید تا ویندوز شما آپدیت شود و درنهایت سیستم را Restart کنید.
شکل 2- شروع به‌روزرسانی ویندوز

4-2- نصب به‌روزرسانی به‌صورت دستی

اگر به هر دلیلی امکان به‌روزرسانی خودکار برای شما وجود ندارد از این روش استفاده کنید.
ابتدا با نوشتن winver در run یا منو استارت ویندوز نسخه دقیق ویندوز را تعیین کنید. پس از تعیین نسخه دقیق ویندوز به صفحه توضیحات آسیب‌پذیری بروید  و در بخش Security Updates متناسب با نسخه ویندوز خود آپدیت مناسب را انتخاب کنید و نصب کنید (شکل 3).

شکل 3 - صفحه انتخاب به‌روزرسانی بر اساس نسخه سیستم‌عامل

4-3- غیرفعال‌کردن سرویس spooler
برای مقابله با این آسیب‌پذیری می‌توانید سرویس spooler را از طریق GPO غیرفعال کنید. تنظیمات سرویس spooler در مسیر زیر قرار دارد و باید مانند شکل 4 روی Disabled قرار گیرد.

Computer Configuration -> Administrative Templates -> Printers -> Allow Print Spooler to accept client connections



شکل 4- غیرفعال‌سازی سرویس Spooler

در صورتی که روی سرورها و سیستم های خود به سرویس Print Spooler‌یا سرویس‌های مشابه نیاز ندارید آنها را غیرفعال کنید یا حداقل از دسترسی به آنها از طریق شبکه به کمک Firewall ویندوز جلوگیری کنید.

نسخه الکترونیکی گزارش فوق :
n-_-cve-2021-34527printnightmare.pdf [1.18 Mb] ( تعداد دانلود: 1)
تا آسیب‌پذیری جدید بدرود! wink