اگر میدانستم این فصل از سریال آسیبپذیریهای پی در پی مایکروسافت اکسچنج انقدر طولانی خواهد بود قطعا آنرا تماشا میکردم. آیا کسی میداند چند قسمت دیگر وجود دارد؟
جدای از طعنه و کنایه، ممکن است “پروکسی توکن” یک قسمت دیگر از طولانیترین نمایش سال 2021 باشد ولی این چیزی از مهم بودن ماجرا کم نمیکند و این یک ماجرای هیجان انگیز واقعی است.
قسمتی که مربوط به این هفته است پروکسی توکن نام دارد. یک آسیبپذیری که به مهاجم احرازهویت نشده اجازه میدهد تا تنظیمات مربوط به پیکربندی را روی صندوقهای پستی که متعلق به کاربران دلخواه است اجرایی کند. به عنوان مثال، مهاجم با استفاده از این آسیبپذیری میتواند نامههای شما را به حساب خودش ارسال کند و تمامی ایمیلهای شما را بخواند البته نه فقط حساب کاربری شما، بلکه امکان دسترسی به تمامی ایمیلهایی که به همکاران خود ارسال کردهاید را دارد، بنابراین این مسئله از چند جنبه از جمله سرقت اطلاعات، جاسوسی یا جاسوسی صنعتی دارای اهمیت است.
پیشینه و ویژگی پروکسی توکن
قبل از اینکه بخواهیم در مورد موضوع مربوط به آسیبپدذیری پروکسی توکن صحبت کنیم بهتر است یکسری اطلاعات پیشزمینهایی در این رابطه داشته باشیم و با نقشآفرینان اصلی آشنا شویم.
اکسچنج سرور 2016و اکسچنج سرور2019، بطور خودکار هنگام نصب چندین دایرکتوری مجازی نرمافزار وب سرور(IIS) را پیکربندی میکنند.
IISمخفف عبارت Internet Information Service است. یک وب سرور قدرتمند، قابل انعطاف، امن و با قابلیت کاربری آسان که محصول شرکت مایکروسافت میباشد. پس از نصب، دو سایت روی IIS ایجاد میشود که وبسایت اول بصورت پیشفرض روی درگاه 80 برای HTTP و درگاه 443 برای HTTPs باز است. این همان سایتی است که مشتریان برای دسترسی به وب باید به آن وصل شوند.
وبسایت سمت کاربر یا Front End مایکروسافت اکسچنج در IIS، بیشتر نقش یک پروکسی برای سمت سرور یا Back End را بازی میکند. back end روی درگاه 81 برای HTTP و درگاه 443 HTTPs باز است. وظیفه front end برای تمامی درخواستهای اثبات هویت شده این است که آنها را مجددا بستهبندی و به مقاصد متناظر در Back End ارسال کند، سپس پاسخهای مربوطه با درخواستها را از Back End (بخش سمت سرور) جمعآوری و برای درخواستکننده ارسال نماید.
اگر قابلیتی بنام ” احرازهویت نیابتی “که با پشتیبانی اکسچنج در شناسایی بین جنگلی وجود نداشت، همه موارد بسیار خوب و قابل قبول بود. یک اکتیو دایرکتوری جنگل، منطقیترین کانتینر در ساختار یک اکتیو دایرکتوری که شامل دامنهها، کاربران، کامپیوترها و سیاستهای گروهی است میباشد. ساختار یک اکتیودایرکتوری میتواند حاوی بیش از یک دامنه باشد و ما سطح بالاتر از دامنه را اکتیودایرکتوری جنگل مینامیم. در هردامنه شما میتوانید چندین درخت داشته باشید.
اعتمادهای جنگلی، تعداد اعتمادهای خارجی را که باید ایجاد شوند کاهش میدهد. اعتماد جنگلی مابین دامنههای ریشهایی دو جنگل ایجاد میشود هنگام بکارگیری چنین مواردی، بخش front end اکسچنج نمیتواند به تنهایی تصمیمات احرازهویت را انجام دهد. در مقابل، قسمت front end درخواستها را مستقیما به back end منتقل کرده و با اعتماد به back end مشخص میکند که آیا درخواستها بدرستی احرازهویت شدهاند یا خیر. این درخواستها که باید با استفاده از منطق back end احرازهویت شوند، باحضور یک کوکی بنام توکن امنیتی شناسایی میشوند.
طرح اصلی برای اجرای ProxyToken
برای درخواستهایی که توسط یک کوکی غیرتهی بنام توکن امنیتی در front end یافت میشود، احراز هویت به back end واگذار میشود. اما در برخی مواقع back end از این موضوع که لازم است درخواستهای ورودی را براساس کوکی توکن امنیتی، احراز هویت کند کاملا بیاطلاع است، زیرا DelegatedAuthModule(ماژول احرازهویت نیابتی) که این کوکی را بررسی می کند در برنامه های نصبی که برای احرازهویت نیابتی پیکربندی نشدهاند بارگذاری نمی شود.
نتیجه نهایی حیرتانگیز این است که درخواستهای خاص ایجاد شده میتوانند در چنین سیستمی بدون اینکه در front end یا back end مورد احراز هویت قرار گیرند به مرحله بعدی برسند.
پیچیدگی (تغییر غافلگیر کننده)
یک مانع دیگر نیز وجود دارد که قبل از اینکه مهاجم بتواند با موفقیت درخواست بدون احرازهویت را صادر کند باید برطرف شود. هر درخواستی که به صفحه کنترل پنل اکسچنج (ECP) ارسال میشود باید برچسبی داشته باشد که بعنوان ECP canary شناخته می شود. بدون canary درخواستها با خطای HTTP 500 مواجه خواهند شد. با این حال مهاجم بسیار خوششانس است زیرا پاسخ خطای 500، یک canary معتبر به همراه دارد که مهاجم میتواند در درخواستهای خاص بعدی خود از آن استفاده کند.
پایان هیجان انگیز در پروکسی توکن
در این گونهی خاص بهره برداری، فرض بر این قرار میگیرد که مهاجم یک حساب کاربری در همان اکسچنج سرور شخص قربانی دارد و با نصب قوانین رونوشت مهاجم اجازه خواهد داشت که تمامی ایمیلهای دریافتی قربانی را بخواند. همچنین، در هنگام نصب برخی اکسچنج ها، مجری طرح ممکن است یکسری تنظیمات جهانی در اکسچنج تعبیه نماید که ارسال رونوشت به مقاصد دلخواه اینترنتی را مجاز میکند و در چنین حالتی، مهاجم نیازی به هیچگونه اثبات هویت خود نخواهد داشت. مضافا اینکه چون تمامی سایت ECP بطور بالقوه تحت چنین تاثیری قرار میگیرد، ابزارهای گوناگون دیگری نیز می توانند برای سوء استفاده در دسترس قرار گیرند.
تیتراژ
آسیبپذیری پروکسی توکن، توسط یک محقق ویتنامی در مارس 2021 به ZDI گزارش شد. این آسیبپذیری با شناسه CVE-2021-33766 بهعنوان آسیبپذیری افشای اطلاعات مایکروسافت اکسچنج ثبت و در بروزرسانیهای جامع اکسچنج در جولای 2021توسط مایکروسافت منتشر شد. این CVE در بروزرسانیهای منتشر شده در اپریل 2021، مطرح شد اما CVE بصورت ناخواسته و سهوا از بروزرسانیهای امنیتی ماه اپریل 2021 حذف گردید.
قسمتهای دیگری که حتما باید مشاهده کنید
مایکروسافت اکسچنج امسال بسیار پرتماشاگر بود و با توجه به ماههای باقیمانده سال، بنظر نمیرسد که پروکسی توکن آخرین چالش آن باشد. پروکسی توکن، پروکسی شل، پروکسی لاگ آن و پروکسی اوراکل از جمله مواردی هستند که امسال رخ دادهاند.
به این نکته نیز توجه داشته باشید که مایکروسافت اکسچنچ در سال جاری بسیار خبر ساز بوده است و تمامی این آسیبپذیریها، با جدیت تمام توسط فروشندگان بدافزار و گروههای باج افزاری رصد میشوند.