افشای نام‌کاربری و رمزعبور براثر آسیب‌پذیری سرویس Autodiscover درExchange

سرویس Autodiscover اولین بار توسط exchange ۲۰۰۷ و outlook ۲۰۰۷ برای پیکربندی سریع پروفایل‌های outlook بر پایه username و password معرفی شد.
به گزارش مرکز مدیریت راهبردی افتا، در این مکانیزم Outlook به exchange server متصل شده و کاربر آدرس ایمیل و کلمه عبور خود را وارد می‌کند و Exchange server یک فایل XML را برای Outlook برمی‌گرداند تا پروفایل کاربر ساخته یا تغییرات در آن اعمال شوند.
با اینکه تغییرات زیادی جهت بهبود عملکرد exchange و outlook ۲۰۱۹ نسبت به نسخه ۲۰۰۷ اعمال‌شده است اما همچنان از همین مکانیزم استفاده می‌کند.
Outlook به‌منظور یافتن سرور Exchange و اتصال به آن راه‌های ذکر شده در زیر را به ترتیب بررسی می‌کند:
۱- SCP در اکتیو دایرکتوری
۲- Root Domain check
۳- Autodiscover DNS check
۴- استفاده از فایل محلی Autodiscover.xml
۵- Http redirect
۶-چک کردن رکوردهای SRV DNS
۷- اتصال مستقیم به Office۳۶۵

همان‌طور که در بالا اشاره شد outlook از مکانیزم Autodiscover برای اتصال به سرور exchange استفاده می‌کند.
بسیاری از نرم‌افزارهای دیگر که نیاز به سرور exchange دارند و همچنین برنامه‌های موبایلی نیز از همین مکانیزم استفاده می‌کنند.
در این میان یک آسیب‌پذیری در سرویس Autodiscover وجود دارد که ممکن است باعث دزدیده شدن اطلاعات احراز هویت شود؛ مایکروسافت از سال ۲۰۱۷ درگیر برطرف کردن این آسیب‌پذیری هست.

با توجه به مطالب بالا در خصوص مراحل اتصال به سرور Exchange مراحل زیر برای سرویس Autodiscover چک می‌شود:
۱- چک کردن رکوردهای SCP در اکتیو دایرکتوری
۲- چک کردن آدرس «example.com/Autodiscover/Autodiscover.xml»
۳- چک کردن آدرس «Autodiscover.example.com/Autodiscover/Autodiscover.xml»
۴- انتقال به سرویس Autodiscover در مسیر دیگری
۵- استفاده از رکوردهای SRV DNS برای پیدا کردن Autodiscover معتبر.
۶- انتقال به سرور office۳۶۵ (Autodiscover.outlook.com)
زمانی که تمامی مراحل فوق به نتیجه نرسند پروسه Autodiscover متوقف‌شده و کاربر متصل نمی‌شود.

در سال ۲۰۱۷ طبق آسیب‌پذیری‌های «cve-۲۰۱۶-۹۹۴۰» و «cve-۲۰۱۷-۲۴۱۴» مشخص شد Autodiscover باعث نشت اطلاعات از روی برنامه‌های موبایلی اتصال و مدیریت ایمیل می‌شوند.
گسترش این آسیب‌پذیری از سال ۲۰۱۷ تاکنون می‌تواند علاوه بر برنامه‌های موبایلی باعث نشت اطلاعات احراز هویت برنامه‌های دیگر اتصال به سرورهای Exchange شود.

بررسی آسیب‌پذیری:
زمانی که برنامه‌ها می‌خواهند از مکانیزم Autodiscover برای دریافت فایل xml استفاده کنند ابتدا نمونه مسیرهای زیر بررسی می‌شوند:

https://Autodiscover.example.com/Autodiscover/Autodiscover.xml
http://Autodiscover.example.com/Autodiscover/Autodiscover.xml
https://example.com/Autodiscover/Autodiscover.xml
http://example.com/Autodiscover/Autodiscover.xml


اگر موارد فوق ناموفق بود سرویس Autodiscover از الگوریتم «back-off» استفاده می‌کند. درواقع این الگوریتم هست که باعث نشت اطلاعات می‌شود؛ زیرا تلاش می‌کند بخش Autodiscover دامنه را resolve کند و این باعث می‌شود مثلاً url های فوق به‌صورت زیر تغییر یابند:Autodiscover.com/Autodiscover/Autodiscover.xmlاین به آن معنی است که به دامنه‌ای مانند Autodiscover.com نیز تمامی درخواست‌ها ارسال می‌شود و می‌توان احراز هویت‌ها را در این دامنه دزدید.


فرآیند «back-off» در Autodiscover
شرکت guardicore برای تست این آسیب‌پذیری دامنه‌های زیر را به ثبت رسانیده و به بررسی آسیب‌پذیری پرداخته است:

به گزارش این شرکت پس از انجام تنظیمات بر روی سرورهای تحت کنترل این شرکت با درخواست‌های بسیار زیاد Autodiscover به سرورهای خود مواجه‌شده که این درخواست‌ها از دامنه‌ها و IP ها و کاربران مختلفی بوده‌اند. مهم‌ترین بخش این درخواست‌ها درخواست فایل Autodiscover.xml با هدر احراز هویت از نوع HTTP basic authentication بوده است، این درخواست به خاطر پروسه زیر اتفاق می‌افتد:

همچنین در لاگ درخواست‌ها hostname و دامنه‌ها نیز علاوه بر نام کاربری و کلمه عبور مشاهده می‌شوند.


نمونه‌ای از لاگ درخواست‌های ارسالی به سرورها (نام دامنه‌ها، پسوردها و … مخدوش شده‌اند)
 این شرکت با بررسی user-agent درخواست‌های دریافت شده توسط سرورها عنوان می‌دارد که علاوه بر برنامه‌های مایکروسافت، برنامه‌های موبایلی و … که برای فعالیت خود به سرویس Autodiscover متصل می‌شوند اطلاعات را نشت می‌دهند.
البته این وب‌سایت عنوان می‌دارد که user-agentهای دریافتی از موبایل‌های سامسونگ متعلق به نسخه‌های بسیار قدیمی سیستم‌عامل اندروید هست و به آن معنی است که شرکت سامسونگ مدت‌ها پیش نرم‌افزارهای مربوطه خود را اصلاح‌کرده است تا از این آسیب‌پذیری رهایی یابد.

پیشگیری:
جهت پیشگیری از این آسیب‌پذیری باید موارد زیر انجام شود:
۱- پلتفرم‌ها و برنامه‌هایی که بر پایه Exchange می‌باشند (مانند outlook، ActiveSync و..) اصلاح شوند.
۲- مطمئن شویم دامنه‌های حاوی کلمه Autodiscover در سیستم‌ها و یا شبکه‌ها (مانند دامنه‌های Autodiscover.com، Autodiscover.cn و…) توسط دیوار آتش بسته شوند. 
۳- در زمان نصب Exchange اطمینان حاصل شود که basic authentication سرویس Exchange غیرفعال است.
۴- برنامه نویسان نرم‌افزارهای دیگر باید اطمینان حاصل کنند هیچ‌گاه پروسه برنامه وارد الگوریتم «back-off» نمی‌شود.

دیدگاه شما

نشانی ایمیل شما منتشر نخواهد شد.