اجرای کد از راه دور در سرور EXCHANGE مایکروسافت از طریق کلیدهای رمزنگاری ایستا

اجرای کد از راه دور در سرور EXCHANGE مایکروسافت از طریق کلیدهای رمزنگاری ایستا

تاریخ ایجاد

شرکت مایکروسافت در آخرین بروزرسانی ماهانه خود (Patch Tuesday)، یک وصله‌ی امنیتی مهم را جهت رفع نقص اجرای کد از راه دور در سرور Microsoft Exchange منتشر کرده است. این ‫آسیب‌پذیری که توسط یک محقق ناشناس به این شرکت گزارش داده شد، تمام نسخه‌های پشتیبانی شده‌ی Microsoft Exchange Server را تا قبل از نسخه وصله شده، تحت تاثیر قرار می‌دهد. در ابتدا، مایکروسافت اظهار داشت که این نقص به دلیل یک آسیب‌پذیری تخریب حافظه است و می‌تواند توسط یک ایمیل ساختگی خاص و فرستاده شده به یک سرور آسیب‌پذیر Exchange، مورد بهره برداری قرار گیرد. این آسیب‌پذیری نتیجه مشکل سرور Exchange در ایجاد کلیدهای رمزنگاری منحصربفرد در زمان نصب است.
به طور خاص، این نقص در مولفه Exchange Control Panel )ECP) یافت شده است. ماهیت باگ بسیار ساده است. به جای داشتن کلیدهای تصادفی ایجاد شده بر اساس هر نصب، تمام نصب‌های سرور Exchange دارای مقادیر یکسان کلید اعتبارسنجی و کلید رمزنگاری در web.config هستند. این کلیدها به منظور تامین امنیت ViewState استفاده می‌شوند. ViewState، داده‌های سمت سرور است که وب‌اپلیکیشن‌های ASP.NET در فرمت مرتب بر روی کلاینت ذخیره می‌کنند. کلاینت، این داده‌ها را از طریق پارامتر درخواست VIEWSTATE__ به این سرور ارائه می‌دهد. شکل زیر قطعه ای از فایل web.config که حاوی کلید اعتبارسنجی می باشد را نشان می دهد.

exchange

به دلیل استفاده از کلیدهای استاتیک، یک مهاجم احراز هویت‌شده می‌تواند این سرور را به سمت داده ViewState مخرب ساختگی سوق دهد. با کمک YSoSerial.net، یک مهاجم می‌تواند کد .NET دلخواه خود را بر روی سرور در وب‌اپلیکیشن Exchange Control Panel که به صورت SYSTEM اجرا می‌شود، اجرا کند.
مایکروسافت این آسیب‌پذیری را در February 2020، با شناسه " CVE-2020-0688 " وصله کرده است. با توجه به write-up، آنها آسیب‌پذیری مذکور را با "اصلاح نحوه ایجاد کلیدها در هنگام نصب توسط Microsoft Exchange" رفع کرده‌اند. به عبارت دیگر، اکنون کلیدهای رمزنگاری در زمان نصب، تصادفی می‌شوند. مایکروسافت این مسئله را از نظر شدت در دسته Important قرار داده است، شاید به این علت که مهاجم ابتدا باید احراز هویت کند. با این حال باید توجه داشت که در یک شرکت، اکثر کاربران مجاز به احراز هویت در سرور Exchange هستند. به طور مشابه، هر کدام از مهاجمان خارجی که دستگاه یا credentials هر کاربر شرکت را به خطر بیاندازد، قادر است به سرور Exchange دست یابد. پس از تحقق این امر، مهاجم در موقعیتی قرار می‌گیرد که بنا به درخواست خود بتواند ارتباطات ایمیل شرکت را صادر و جعل کند. بر این اساس، اگر شما یک مدیر سرور Exchange هستید، باید این مورد را یک مسئله بحرانی در نظر گرفته و سریعا در جهت رفع آن اقدام نمایید.
در کشور ایران نیز استفاده از سرور Exchange محبوبیت بالایی داشته و بسیاری از سازمان ها و شرکت های دولتی و خصوصی از آن استفاده می کنند. همانطور که در گزارش ذکر شد به طور دقیق نمی توان سرورهای آسیب پذیر را پیدا کرد مگر اینکه به یک اکانت از سرور Exchange دسترسی داشته باشیم. اما مدیران و کارشناسان با بررسی تنظیمات و نسخه آپدیت شده سرور خود می توانند اطمینان حاصل کنند که آیا نسبت به این آسیب پذیری مقاوم هستند یا خیر. درصورتیکه آخرین آپدیت سرور شما مربوط به قبل از فوریه 2020 می باشد حتما نسبت به بروزرسانی سرور خود اقدام نمایید.

منبع:

https://www.zerodayinitiative.com/blog/2020/2/24/cve-2020-0688-remote-code-execution-on-microsoft-exchange-server-through-fixed-cryptographic-keys