کمیته رکن چهارم – کارشناسان امنیتی متوجه وجود یک آسیبپذیری روز صفر در پرینت اسپولر (Print Spooler) سیستم عامل ویندوز شدهاند. این آسیبپذیری که با نام PrintNightmare شناخته می شود امکان اجرای کد از راه دور و ارتقای سطح دسترسی را برای مهاجمان فراهم میکند.
شرکت مایکروسافت یک بهروزرسانی امنیتی برای برطرف کردن این آسیبپذیری منتشر نموده و محققان امنیتی نیز رویکردهای مختلفی را برای دور زدن این راهکار پیدا کرده و روشهای جدیدی برای سوءاستفاده از این آسیبپذیری ایجاد کردهاند. یکی از محققان هم پس از پی بردن به وجود چنین آسیبپذیری، یک سرور چاپ طراحی کرده که امکان دسترسی به آن از طریق اینترنت وجود دارد. این سرور به کاربران ویندوزی با سطح دسترسی محدود این امکان را میدهد تا با نصب درایور چاپگر مدنظرشان، کنترل آن را از راه دور به دست آورده و خط فرمان را با دسترسیهای مدیریتی باز کنند.
آیا همه کاربران امکان دسترسی به مجوزهای SYSTEM را در سیستم عامل ویندوز دارند؟
یک محقق امنیتی به نام “Benjamin Delpy” پس از انجام مطالعات زیادی که در این زمینه داشته تعدادی بهروزرسانی و ترفند برای دور زدن که از درایورهای خاص چاپگر و APIهای ویندوز سوءاستفاده میکنند، منتشر کرده است. Delpy برای تشریح تحقیقات خود یک سرور چاپ اینترنتی به آدرس \\printnightmare[.]gentilkiwi[.]com راه اندازی نموده که درایور چاپ را منتشر و یک DDL با دسترسیهای سطح سیستم را اجرا میکند.
در گام نخست، این DDL یک فایل لاگ را در مسیر C:\Windows\System32 ایجاد می کند. فقط کاربرانی که دارای دسترسیهای سطح بالا هستند امکان نوشتن آن را دارند. سپس Delpy این درایور را اصلاح کرده تا بتواند خط فرمان سیستم را راهاندازی نماید.
این روش به هر شخصی از جمله مهاجمان سایبری امکان میدهد که فقط با نصب درایور چاپگر از راه دور، دسترسیهای مدیریتی را به دست آورند. اجرای فرمانهای دلخواه، افزودن کاربر، نصب نرمافزارهای دلخواه و حتی در اختیار گرفتن کنترل کامل سیستم عامل، از جمله دسترسیهایی هستند که پس از نصب چاپگر از راه دور برای شما فراهم میشوند. این رویکرد امکان دسترسی سریع و آسان به دسترسیهای مدیریتی را فراهم نموده و برای مهاجمانی که برای نصب باجافزار به شبکهها نفوذ میکنند، بسیار مفید است. مهاجمان با استفاده از چنین رویکردی میتوانند به صورت عرضی و مستمر در شبکه حرکت کرده و نظارت کامل بر آن داشته باشند.
کارشناسان وبسایت BleepingComputer درایور چاپ Delpy را بر روی یک سیستم با ویندوز ۱۰ ۲۱H1 که به صورت کامل بهروزرسانی شده بود، نصب کرده و مورد بررسی قرار دادند. آنها در تحقیقات خود از کاربری که دارای سطح دسترسیهای محدود میباشد، استفاده کردند. آنها ابتدا این ابزار را نصب و ویندوز دیفندر که امکان شناسایی چاپگر مخرب را دارد، غیرفعال کردند. سپس یک خط فرمان، باز شده و سطح دسترسی SYSTEM برای آنها فراهم شد.
Delpy مدعی است که وارد کردن فشار بر مایکروسافت جهت اولویت دادن به این آسیبپذیری از جمله دلایل اصلی او برای ابداع این سرور چاپ بوده است. بر اساس گفته های او: «تشخیص اینکه آیا یک آدرس آیپی متعلق به محققان است یا مهاجمان غیرممکن است. با این وجود من آدرسهای آیپی روسی را که به دنبال سوءاستفاده از سرورهای چاپ هستند از طریق فایروال مسدود کردهام». همچنین Delpy هشدار داده که رویدادهای جدیدی برای سوءاستفاده از پرینت اسپولر ویندوز به وقوع خواهند پیوست.
مقابله با آسیبپذیری جدید چاپگر
تمام کاربران میتوانند از این سرور چاپ راه دور سوءاستفاده نموده و امکان دسترسی سطح بالا (SYSTEM) به یک سیستم ویندوزی را به دست آورند. Delpy برای مقابله با این آسیبپذیری چند راهکار پیشنهاد داده که هر کدام از آنها را به صورت مختصر، در ادامه بررسی میکنیم.
گزینه اول: غیرفعال کردن پرینت اسپولر ویندوز
غیرفعال کردن پرینت اسپولر ویندوز با استفاده از فرمانهای زیر، از جمله روشهای سختگیرانه برای مقابله با آسیبپذیریهای PrintNightmare است:
Stop-Service -Name Spooler -Force Set-Service -Name Spooler -StartupType Disabled
البته با استفاده از این روش، دیگر امکان چاپ برای رایانه شما وجود نخواهد داشت!
گزینه دوم: مسدود کردن ترافیک RPC و SMB در لبه شبکه
از آنجا که اکسپلویت عمومی Delpy از یک سرور چاپ راه دور سوءاستفاده میکند باید ترافیک نگاشت کنندههای نقاط انتهایی RPC (135/TCP) و SMB (139/TCP و TCP/445) را در لبه شبکه غیرفعال کنید. البته یکی از کارشناسان امنیتی به اسم “Dormann” هشدار داده که شاید غیرفعال کردن این پروتکل باعث شود بعضی از قابلیتها به درستی عمل نکنند. Dormann میگوید: «باید توجه کنید که مسدود کردن این پورتها در یک سیستم ویندوزی، به ویژه در سیستمی که به عنوان یک سرور عمل می کند می تواند مانع از درست عمل کردن بعضی از قابلیتها شود».
گزینه سوم: پیکربندی PackagePointAndPrintServerList
بهترین روش برای مقابله با سوءاستفاده از این آسیبپذیری، محدود کردن قابلیت Point and Print به یکسری سرور تأیید شده است. این کار را میتوان با استفاده از سیاست گروهی Package Point and print – Approved servers انجام داد که مانع از نصب درایورهای چاپ توسط کاربران غیرمدیر با استفاده از روش Point and Print می شود؛ مگر اینکه سرور در فهرست تأیید شده قرار داشته باشد.
برای فعال سازی این سیاست ابتدا با اجرای فرمان gpedit.msc ویرایشگر سیاست گروهی را باز کرده و وارد مسیر زیر شوید:
User Configuration > Administrative Templates > Control Panel > Printers > Package Point and Print – Approved Servers
سپس این سیاست را فعال نموده و فهرست سرورهایی را که میخواهید به عنوان سرور چاپ استفاده شوند، وارد کرده و سپس بر روی گزینه OK کلیک کنید. اگر سرور چاپی در شبکه ندارید میتوانید برای فعال کردن این قابلیت، یک نام جعلی وارد نمایید. استفاده از این سیاست گروهی بهترین راه حفاظت در برابر این اکسپلویت است ولی از طرف دیگر مانع از تحت اختیار گرفتن یک سرور چاپ مجاز با کمک درایورهای مخرب توسط مهاجمان نخواهد شد.
منبع: فراست