شناسایی باگ RCE در Microsoft Exchange Server

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

شناسه آسیب‌پذیری:

CVE-2020-0688

درجه آسیب‌پذیری:

 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Base Score: 8.8 High

نسخه‌های آسیب پذیری:

Microsoft Exchange 2019 version 15.2.221.12

نیازمند تعامل کاربری‌: خیر

سال شناسایی: 2020

توضیحات:

مایکروسافت در متن اولیه خود اعلام کرد این باگ به دلیل آسیب‌پذیری خرابی حافظه است و با یک ایمیل دستکاری شده می‌توان اکسپلویت آسیب‌پذیری کرد. اما در حال حاضر این شرکت متن شواهد باگ را تغییر داده و اعلام شد که این باگ به دلیل ایجاد نادرست کلید رمزنگاری در این سرور هنگام نصب است. باگدشت در این صفحه به شناسایی باگ RCE در Microsoft Exchange Server پرداخت. امیدواریم اطلاعات لازم را کسب کنید.

این باگ در کامپوننت ECP (Exchange Control Panel) وجود دارد و به جای اینکه کلید به صورت تصادفی در حالت نصب تولید شود، تمام نسخه‌های Microsoft Exchange Server دارای یک کلید validationKey و decryptionKey مشابه در web.config هستند. این کلیدها برای امن سازی حالت ViewState استفاده می‌شوند. ViewState دیتای سمت سرور است که نرم‌افزار تحت وب ASP.NET این دیتا را به فرمت سریال سمت کلاینت ذخیره می‌کند. کلاینت این اطلاعات را به سرور از طریق پارامتر درخواست __VIEWSTATE برمی‌گرداند.

<system.web>
	<machinekey validationkey=“CB2721ABDAF8E9DC516D621D8BF13A2C9E8689A25303BF”
decryprionkey = “E9D2490BD0075B51D1BA5288514514AF”
decryption=”3DES” />
<!—

به دلیل استفاده از کلید استاتیک، حمله کننده احرازهویت شده می‌تواند منجر شود که سرور دیتای __VIEWSTATE به صورتی که او مدنظر دارد، پردازش کند. با کمک YSoSerial.net حمله کننده می‌تواند کد مخرب .NET را در سرور از طریق نرم‌افزار تحت وب Exchange Control Panel اجرا کند که با سطح دسترسی SYSTEM اجرا می‌شود.

برای اکسپلویت آسیب‌پذیری باید مقادیر ViewStateUserKey و __VIEWSTATEGENERATOR از نشست احرازهویت شده جمع‌آوری شود. مقدار __VIEWSTATEGENERATOR را می‌تواند از طریق کوکی ASP.NET در پارامتر __SessionID بدست آورد و همچنین مقدار ViewStateUserKey را می‌توان در بخش‌های مخفی درخواست مشاهده کرد. تمام این روش‌ها را از طریق تجهیزات توسعه دهنده‌ استاندارد در مرورگر قابل انجام است.

به روزرسانی این باگ توسط مایکروسافت ارایه شده است و مسوولین شبکه حتما می‌بایست این بهبود را انجام دهند. در حال حاضر با این به‌روز رسانی ایجاد کلیدهای رمزنگاری بصورت تصادفی صورت می‌گیرد. البته برای سواستفاده از این باگ نیاز به دسترسی به ECP می‌باشد که در یک سازمان تمام افراد امکان احراز هویت را دارا می‌باشند. مهاجمین بیرونی که دسترسی یکی از کاربران را بدست آورده‌اند نیز در مخاطیبن این باگ هستند.

باگدشت در این صفحه به شناسایی باگ RCE در Microsoft Exchange Server پرداخت. امیدواریم اطلاعات لازم را کسب کرده باشید.

منابع:

  1. NVD CVE-2020-0688
  2. Zero Day Initiative
در صورت تمایل به اشتراگ بگذارید