info[at]nsec.ir
(+۹۸)-۳۱-۳۳۹۱۵۳۳۶

اعطاي امتیاز ادمين ویندوز از راه دور، توسط سرور چاپ!

خلاصه: اخیراً آسیب‌پذیری دیگری در سرور چاپ ویندوز شناسایی شده است که به تمام کاربران ویندوز اجازه‌ی فعالیت در سطح ادمین می‌دهد. محققی به نام بنیامین دلپی، توانسته سرور چاپ از راه دوري ایجاد کند که به کاربران ويندوز با دسترسي محدود اجازه می‌دهد کنترل کامل دستگاه را به سادگی و با نصب درایور چاپ به دست آورند.

ماه ژوئن سال ۲۰۲۱، آسیب‌پذیری‌ روز صفر ویندوز موسوم به PrintNightmare، در سرویس spooler چاپ با شناسه‌ی آسیب‌پذیری CVE-2021-34527 شناسایی شد که امکان اجرای کد از راه دور و ارتقاء امتیاز را برای مهاجمین فراهم می‌آورد.  در حالی که مایکروسافت در یک به‌روزرسانی امنیتی این آسیب‌پذیری  را وصله کرد؛ پژوهشگران راه‌هایی برای دور زدن آن  در شرایط خاص پیدا کردند. حتی محققی، سرور چاپ از راه دوری ایجاد کرده است که  به تمام کاربران اجازه  میدهد، خط فرمانی با امتیاز ادمين  باز کنند.

بنیامین دلپی، محقق امنیتی و خالق Mimikatz، از پیشتازان پژوهش بر PrintNightmare بوده است و با استفاده از درایورهای چاپگر مخصوص و همچنین  بهره‌جویی از APIهای ویندوز، چندین راه دور زدن  و به‌روزرسانی اکسپلویت منتشر کرده است. وی برای نشان دادن نتایج تحقیقات خود،  یک سرور چاپ قابل اتصال به اینترنت در printnightmare [.]‎ gentilkiwi [.]‎ com ایجاد کرد که درایور چاپ را نصب کرده  و یک DLL با امتیاز SYSTEM راه‌اندازی می‌کند. دلپی در ادامه درايور را تغییر داد تا به جای آن خط فرمان را راه‌اندازی کند. این روش به عوامل تهدید، اجازه می‌دهد با نصب درایور چاپ از طریق شبکه، امتیازات ادمين را به دست آورند. دلپی اذعان داشت به علت فشار آوردن به مایکروسافت برای اولویت دادن به رفع این اشکال است که با وجود امکان سوءاستفاده از اکسپلویت، همچنان آن را ساخته  و منتشر کرده است.

 

چگونه می توان  آسیب‌پذیری سرور چاپ از راه دور PrintNightmare را رفع  کرد؟

از آنجا که هرکسی میتواند از سرور یادشده، برای بدست آوردن امتیاز ادمین در دستگاه‌هايی با سيستم عامل ويندوز، سوءاستفاده کند؛ در ادامه به چندین راهکار برای کاهش این آسیب‌پذیری اشاره شده است.

راهکار اول: سرویس Windows print spooler را غیرفعال کنید.

با استفاده از دستورات زیر می‌توان این سرویس را غیرفعال کرد؛ ولیکن بايد توجه شود  مادامی که این سرویس غیرفعال است، امکان چاپ نخواهیم داشت.

Stop-Service -Name Spooler -Force

Set-Service -Name Spooler -StartupType Disabled

راهکار دوم: ترافیک RPC و SMB را در مرز شبکه خود مسدود کنید.

گرچه این کار می‌تواند از خطر این آسیب‌پذیری بکاهد؛ باید در نظر داشت مسدود کردن این پروتکل‌ها ممکن است باعث شود عملکرد بخش‌های دیگر مطابق انتظار نباشد.

 

راهکار سوم: PackagePointAndPrintServerList را پیکربندی کنید.

بهترین راه برای جلوگیری از سوءاستفاده از سرور از راه دور این است که قابلیت Point و Print را به لیستی از سرورهای تأییدشده با استفاده از سیاست گروهی "Package Point and print - Approved Server " محدود  کنیم .این سیاست مانع از  آن می‌شود که کاربران غیر ادمين، درایورهای چاپ را با استفاده از Point و Print نصب کنند؛ مگر آن که سرور چاپ در لیست سرورهای تأیید شده باشد. بدین منظور از مسیر زیر، لیست سرورها را می‌توان اضافه کرد:

User Configuration Administrative Templates > Control Panel > Printers > Package Point and Print – Approved Servers

 

گرچه استفاده از این سیاست گروهی بهترین روش برای محافظت از سیستم در برابر اکسپلویت است؛ ولیکن همچنان مانع از تصاحب سرور مجاز چاپگر با درایورهای مخرب توسط عوامل تهدید نمی‌‌شود.  

 

در پایان بایستی هشدار داد که این  آخرین  سوءاستفاده‌ی مهاجمین   از سرویس spooler چاپ  ویندوز نیست؛ پژوهش‌‌های ارائه‌شده این هفته در دو کنفرانس امنیتی Black Hat و Def Con تأکیدی بر این مهم است.