سوءاستفاده از قابلیت Plug and Play ویندوز
ویندوز از قابلیتی با نام Co-installer پشتیبانی میکند که با اتصال یک دستگاه USB جدید به رایانه، میتواند نرمافزار و درایورهای مرتبط با آن را بهصورت خودکار دانلود و نصب کند.
پژوهشگران امنیتی در سال 2021 دریافتند که ترکیب قابلیت Co-installer با یک آسیبپذیری موجود در Razer Synapse میتواند به یک کاربر عادی ویندوز اجازه دهد تنها با اتصال یک ماوس یا کیبورد Razer، سطح دسترسی خود را تا سطح سیستم (SYSTEM) افزایش دهد.
هنگام اتصال یک دستگاه Razer، ویندوز بهطور خودکار نصبکننده Razer Synapse را با سطح دسترسی سیستم دانلود و اجرا میکرد. یک ضعف امنیتی در این نصبکننده نیز به کاربر عادی اجازه میداد از طریق رابط نصب، پاورشل (PowerShell) را اجرا کند؛ در نتیجه، پاورشل با همان سطح دسترسی بالای نصبکننده اجرا میشد.
آزمایش این آسیبپذیری در آن سیستم نشان داد که مهاجم میتواند با سوءاستفاده از این ضعف، در مدت حدود دو دقیقه سطح دسترسی خود را به سیستم افزایش دهد.
در همان زمان، Will Dormann، تحلیلگر آسیبپذیری، هشدار داده بود که احتمال وجود ضعفهای امنیتی مشابه در سایر نرمافزارهایی که از طریق Plug and Play ویندوز بهصورت خودکار نصب میشوند نیز وجود دارد.
Alejandro Hernando توضیح داد که حمله Plug and Pwn در همان خانواده حملاتی قرار میگیرد که پیشتر با سوءاستفاده از نصبکننده Razer شناسایی شده بودند؛ با این تفاوت که پژوهش جدید بهجای تمرکز بر نصبکننده یک شرکت خاص، مسیر نصب دستگاه در ویندوز را هدف قرار داده است.
به گفته Hernando، برخی از زنجیرههای حمله طراحیشده در این پژوهش بدون نیاز به کلیک کاربر یا حتی وجود یک نشست کاربری فعال اجرا میشوند. یکی از این سناریوها نیز از طریق RDP و بدون نیاز به اتصال هیچ سختافزار فیزیکی قابل اجرا است.
به گفته پژوهشگران، مشکل اصلی از جایی آغاز میشود که ویندوز پس از شناسایی یک سختافزار جدید، پکیج نرمافزاری امضاشده مرتبط با آن را بهصورت خودکار دریافت میکند و ممکن است کامپوننتهای ارائهشده همراه این پکیج را با سطح دسترسی سیستم اجرا کند.
این فرآیند نصب با سطح دسترسی بالا میتواند شامل Co-installerها، سرویسها، فایلهای اجرایی پشتیبانی و درایورها باشد؛ در حالی که سیستمعامل در این مرحله درخواست تأیید UAC از کاربر دریافت نمیکند.
حمله Plug and Pwn با شبیهسازی دستگاههای USB توسط FaceDancer
پژوهشگران برای شبیهسازی دستگاههای USB از FaceDancer در کنار سختافزارهای Cynthion و GreatFET استفاده کردند. این تجهیزات به یک رایانه کوچک مجهز به لینوکس متصل بودند و امکان شبیهسازی دستگاههای USB مختلف را در اختیار پژوهشگران قرار میدادند.
FaceDancer یک فریمورک نرمافزاری برای شبیهسازی دستگاههای USB است که به پژوهشگران اجازه میدهد اطلاعات شناسایی دستگاه، رابطها ، کلاس دستگاه و Endpointهای آن را تنظیم کنند؛ اطلاعاتی که رایانه برای شناسایی دستگاههای متصل به کار میگیرد.
اتصال سختافزاری که FaceDancer روی آن اجرا میشود، میتواند سیستمعامل را بهگونهای تحت تأثیر قرار دهد که گویی یک دستگاه USB مشخص به رایانه متصل شده است. پژوهشگران نیز با استفاده از همین قابلیت در حمله Plug and Pwn توانستند سختافزار خود را بهعنوان دستگاههای USB مشخص به ویندوز معرفی کنند؛ در نتیجه، سیستمعامل دستگاه شبیهسازیشده را شناسایی کرده و پکیجهای درایور مرتبط با آن را شناسایی و نصب میکرد.
برخی از زنجیرههای حمله به این مرحله ختم نمیشوند و لازم است دستگاه شبیهسازیشده ابتدا از سیستم جدا گردد و سپس با هویت متفاوت دوباره به ویندوز معرفی شود.
به گفته Hernando، در چند زنجیره حمله، دستگاه باید بهصورت Composite (دستگاهی با چند رابط USB) معرفی شود تا ویندوز درایور usbccgp.sys را بارگذاری کرده و هر رابط را بهصورت مستقل شناسایی کند. در نتیجه، ویندوز بهجای استفاده از درایور داخلی خود، دستگاه را با پکیج نرمافزاری مربوط به آن تطبیق میدهد.
همچنین او توضیح داد که در برخی سناریوها، دستگاه باید دوباره به ویندوز معرفی شود؛ به این صورت که ابتدا از دسترس سیستم خارج شده و سپس با هویتی متفاوت دوباره به ویندوز معرفی شود.
زنجیره حمله بدون کلیک با شبیهسازی سیرا وایرلس و سونی فلیسا
پژوهشگران در یک حمله فیزیکی بدون نیاز به تعامل کاربر یا بدون کلیک (Zero-Click)، از نحوه عملکرد پکیجهای نصب سیرا وایرلس (Sierra Wireless) و سونی فلیسا (Sony FeliCa) برای اجرای یک زنجیره حمله سوءاستفاده کردند.
در نخستین مرحله، مهاجمان دستگاه سیرا وایرلس را شبیهسازی میکنند. ویندوز نیز در واکنش به شناسایی این دستگاه، نرمافزاری را نصب کرده که امکان تغییر تنظیمات DNS رایانه را فراهم میکند.
در ادامه، دستگاه سونی فلیسا شبیهسازی میشود و ویندوز نرمافزارهای دیگری از سونی را نصب میکند. این نرمافزارها فایلهای موردنیاز خود را از طریق یک ارتباط بدون رمزنگاری دریافت میکنند.
مهاجمان با کنترل تنظیمات DNS رایانه میتوانند مسیر این درخواستها و دانلودها را به سروری تحت کنترل خود تغییر دهند. سپس آنها با سوءاستفاده از یک آسیبپذیری در نرمافزار سونی، یک فایل مخرب را با سطح دسترسی سیستم روی رایانه قرار میدهند.
در مرحله پایانی، دستگاه سیرا وایرلس بار دیگر شبیهسازی میشود. ویندوز در پی شناسایی مجدد دستگاه، فایل مخرب را اجرا میکند و مهاجمان از این طریق میتوانند یک شل معکوس (Reverse Shell) با سطح دسترسی سیستم ایجاد کنند.
پژوهشگران این زنجیره از حمله Plug and Pwn را روی رایانهای مجهز به ویندوز 11 (Windows 11) و دارای آخرین بهروزرسانیهای امنیتی آزمایش کردند؛ در حالی که هیچ کاربری به سیستم وارد نشده بود. به گفته آنها، اجرای کامل این زنجیره حمله تنها حدود پنج دقیقه زمان میبرد.
در پاسخ به این پرسش که آیا میتوان این حمله را با تجهیزات کوچک و پرتابل اجرا کرد، Hernando توضیح داد که سختافزار مورد استفاده در این پژوهش ابعاد کوچکی دارد و بهراحتی قابل جابهجایی است. او همچنین معتقد است Raspberry Pi در حالت گجت USB از نظر تئوری میتواند برای اجرای این حمله مورد استفاده قرار گیرد.
بااینحال، Flipper Zero در حال حاضر از حملات FaceDancer پشتیبانی نمیکند. به گفته Hernando، در حال حاضر بکاند (Backend) نرمافزار FaceDancer برای این دستگاه وجود ندارد و این فریمورک نیز روی Flipper Zero اجرا نمیشود.
همچنین او توضیح داد که حالت BadUSB در Flipper Zero برای شبیهسازی دستگاههای رابط کاربری انسانی (HID) مناسب است، اما این دستگاه برای پشتیبانی از مشخصات Composite سفارشی و قابلیت شناسایی مجدد به توسعه و تغییر فریمور نیاز دارد.
حمله NoPlug & Pwn بدون نیاز به سختافزار فیزیکی
در ادامه پژوهشگران، سناریویی با عنوان NoPlug & Pwn را معرفی کردند که برخلاف نمونه فیزیکی حمله Plug and Pwn، برای اجرا به شبیهسازی سختافزاری دستگاههای USB نیاز ندارد.
این حمله از قابلیت انتقال USB در RDP (USB Redirection) سوءاستفاده میکند؛ قابلیتی که امکان دسترسی به دستگاههای USB متصل به رایانه لوکال کاربر را در یک نشست ویندوز از راه دور فراهم میکند.
پژوهشگران بهجای انتقال یک دستگاه USB واقعی، یک کلاینت RDP مبتنی بر پایتون (Python) توسعه دادند که هنگام برقراری اتصال RDP، اطلاعات شناسایی یک دستگاه USB مشخص را از طریق قابلیت USB Redirection ارسال میکند.
در نتیجه، سیستم ویندوزی راه دور این اطلاعات جعلی را بهعنوان یک دستگاه USB واقعی متصل به رایانه مهمان شناسایی میکند. سپس ویندوز دستگاه معرفیشده را از طریق Plug and Play روی سیستم میزبان ایجاد کرده و در ادامه، درایورها و نرمافزارهای مرتبط با آن را نصب میکند.
در آزمایش پژوهشگران، یک دوربین Intel RealSense شبیهسازی شد. پکیج مربوط به این دستگاه در قابلیت بهروزرسانی ویندوز (Windows Update) شامل یک Co-installer است که میتوان با سوءاستفاده از ربایش DLL (DLL Hijacking) از آن برای افزایش سطح دسترسی تا سطح سیستم استفاده کرد.
به گفته پژوهشگران، درایور هاب USB (USB Hub Driver) روی سرور، دستگاه مجازی را شناسایی میکند و Windows PnP همان روندی را طی میکند که در نمونه فیزیکی مشاهده شد؛ به این معنا که شناسه سختافزاری (Hardware ID) دستگاه را با اطلاعات مربوط به درایور تطبیق داده و سپس درایور را با سطح دسترسی سیستم نصب میکند.
سناریوی NoPlug & Pwn تنها در سیستمهایی قابل اجرا است که قابلیت USB Redirection در RDP در آنها فعال باشد. به گفته Hernando، این قابلیت در محیطهای دسکتاپ مجازی کاربرد نسبتاً گستردهای دارد.
غیرفعالسازی Co-installerها، حمله Plug and Pwn را متوقف نمیکند
Will Dormann به مدیران ویندوز توصیه کرده است برای مقابله با این نوع حملات، مقدار رجیستری DisableCoInstallers را فعال کنند؛ اقدامی که مانع اجرای Co-installerها توسط پکیجهای درایور در فرآیند نصب دستگاه میشود. برای فعالسازی این مقدار، ابتدا ویرایشگر رجیستری (Registry Editor) را باز کرده و سپس به کلید رجیستری زیر مراجعه کنید:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Device Installer
در این کلید، یک مقدار DWORD-32 با نام DisableCoInstallers ایجاد کرده و مقدار آن را روی 1 قرار دهید.
بااینحال، فعالسازی DisableCoInstallers لزوماً مانع اجرای حمله Plug and Pwn نمیشود. Hernando توضیح داده است که این مقدار میتواند برخی از سناریوهای حمله آزمایششده، از جمله حمله مبتنی بر Sony FeliCa و حمله Intel RealSense از طریق RDP را مختل کند، اما سطح حمله اصلی همچنان باقی میماند.
او تأکید کرده است که این اقدام تنها بخشی از زنجیره حمله را مختل میکند و بخشهای دیگر همچنان فعال باقی میمانند؛ از جمله شناسایی دستگاهها توسط Plug and Play، دریافت درایورها از قابلیت بهروزرسانی ویندوز، آمادهسازی درایورها برای نصب، پردازش فایلهای INF و سرویسهایی که از طریق فایلهای INF نصب میشوند.
پژوهشگران برای اثبات این موضوع، سناریوی حمله دیگری را با استفاده از پکیجهای Wacom و Atheros بررسی کردند. در این سناریو، مهاجمان از آسیبپذیری CVE-2019-10617 در سرویس درایور Atheros سوءاستفاده میکنند؛ سرویسی که مستقیماً از طریق یک فایل INF و بدون استفاده از Co-installer نصب میشود.
Hernando توصیه کرده است سازمانهایی که از سیستمهای حساس استفاده میکنند، علاوه بر فعالسازی DisableCoInstallers، محدودیتهای بیشتری برای نصب دستگاه اعمال کنند. این اقدامات میتواند شامل محدود کردن نصب دستگاهها یا استفاده از فهرست مجاز شناسههای سختافزاری باشد. همچنین توصیه میشود انتقال دستگاههای PnP در RDP (PnP Device Redirection) روی میزبانهای RDP و زیرساخت دسکتاپ مجازی (VDI) که نیازی به این قابلیت ندارند، غیرفعال شود. برای این کار میتوان مقدار fDisablePNPRedir را فعال کرد.
علاوه بر این، پژوهشگران اعلام کردهاند که همه سناریوهای حمله بررسیشده را بهعنوان آسیبپذیری جدید به شرکتهای مربوطه گزارش نکردهاند؛ زیرا بسیاری از این موارد بهتنهایی یک ضعف امنیتی مستقل محسوب نمیشوند و تنها در کنار سایر قابلیتها یا عملکردهای نرمافزاری میتوان از آنها برای اجرای حمله استفاده کرد.













