پس از انتشار خبر کشف باگ “پروکسی توکن” در سرویس ارتباط سازمانی اکسچنج، حالا مشخص شده است که این آسیبپذیری منجر به ایجاد بستری برای جاسوسی از ایمیلهای کاربران این سرویس شده است.
این آسیبپذیری که به طور رسمی با شناسه CVE-2021-33766 معرفی شده است، به مهاجمان امکان دسترسی به اطلاعات شخصی قربانیان، اطلاعات حساس شرکت و سرقت ایمیلها از صندوق پستی کاربران را داده است.
نحوه احراز هویت در Exchange
برای این که آسیبپذیری پروکسی توکن را با دقت بیشتری بررسی کنیم؛ باید کمی در مورد نحوه عملکرد مایکروسافت اکسچنج و نحوه احراز هویت در آن بدانیم.
مایکروسافت اکسچنج، از دو وبسایت استفاده میکند. سایت اول؛ Front end است و کاربران برای دسترسی به ایمیلشان باید به آن متصل شوند. سایت دوم، بخش Back End است که عملیات احراز هویت را کنترل و مدیریت میکند. از طرفی، یکی از قابلیتهای اکسچنج، امکان استفاده از Delegated Authentication یا احراز هویت نیابتی است.
احراز هویت نیابتی، در عمل مشابه با درگاه ورود یکپارچه یا SSO عمل میکند، تفاوت آن با درگاه ورود یکپارچه در این است که احراز هویت یک سامانه، به یک سامانه دیگر واگذار میشود. در نتیجه کاربر با یک هویت نامه و اطلاعت کاربری، میتواند بدون ورود مجدد در چند سرویس احراز هویت شود.
اما این قابلیت در اکسچنج که از به لحاظ کاربردی، تجربه کاربری را بسیار ارتقا داده است، زمینه ایجاد آسیب پذیری پروکسی توکن را فراهم کرده است.
پروکسی توکن، زمانی آشکار میشود که در احراز هویت نیابتی، Front End درخواستهای احراز هویت را مستقیما به بخش Back End منتقل میکند. مشخصه این درخواستها یک کوکی امنیتی یا Security Token است. هر درخواستی که شامل Security Token باشد، میخواهد از احراز هویت نیابتی استفاده کند. در نتیجه زمانی که در Front End توکن امنیتی مشاهده شود، احراز هویت به Back End واگذار میشود.
در این حالت، اکسچنج باید بهصورتی پیکربندی شده باشد که بخش Back End، کنترلهای مربوط به احراز هویت را انجام دهد. اما مشکل اینجاست که در نصب پیشفرض Exchange، واحد مستقلی که مسئول DelegatedAuthModule یا “ماژول احرازهویت نیابتی” است بارگذاری نمیشود. بنابراین زمانی که درخواستی با این ویژگی به سمت Back end ارسال شود، عملا ماژولی که باید به آن پاسخ دهد وجود ندارد.
به گفته محققین ZDI، هنگامی که یک درخواست ورود یا login به Front End میرسد، در صورتی که این درخواست حاوی کوکی Security Token باشد، Front End میفهمد که Back End مسئول احراز هویت این درخواست است.
از طرفی بخش Back End، به دلیل عدم نصب ماژول DelegatedAuthModule، کاملا از این موضوع بیخبر است که باید درخواست را احراز هویت کند.
نتیجه نهایی این است که درخواستهای جعلی میتوانند احراز هویت در Front End یا Back End را با موفقیت دور بزنند. بعد از این مرحله، مهاجم میتواند با استفاده از قوانین ارسال رونوشت، اجازه خواندن ایمیلهای دریافتی قربانی را داشته باشد.
سناریوی سواستفاده از ProxyToken
با استفاده از این آسیبپذیری، مهاجم احراز هویت نشده پس از دسترسی به سرویس، میتواند تنظیمات و پیکربندی مورد نظر خود را روی صندوقهای پستی کاربران قربانی اجرا کند. بهعنوان مثال، مهاجم میتواند تمامی آدرسهای ایمیل قربانی به یک مقصد و حساب مشخص را کپی کرده و به حساب تحت کنترل خود ارسال کند.
باگ CVE-2021-33766 توسط پژوهشگر ویتنامی کشف شد و توسط مایکروسافت در جولای 2021 در بهروزرسانیهای تجمعی پیوست شد.
توصیه شده است که سازمانها برای جلوگیری از ایجاد اختلال، سرویس اکسچنج خود را در اولین فرصت بهروزرسانی نمایند.