آسیبپذیری Microsoft Outlook CVE-2023-23397 که با آن مواجه هستیم، براساس جدول استاندارد CVSS در طبقهبندی بحرانی با شدت 9.8/10 ردهبندی میشود و روی همه چیز، از برنامههای مایکروسافت 365 برای سازمان گرفته تا Outlook 2013 SP1 را تحت تأثیر قرار میدهد.
اکسپلویت این آسیبپذیری توجه گروه هکری روسی را به خود جلب کرده بود و بسیاری از سازمانهای اروپایی مورد حمله قرار گرفته بودند که در قسمت سوم پادکست Safe Cast در رابطه با آن صحبت کردیم.
قبل از اینکه به خود آسیبپذیری و سناریوی حمله آن بپردازیم; لازم است با مفاهیمی آشنا شویم:
Net-NTLM
Net-NTLM یک نوع یا پیادهسازی از پروتکل احراز هویت NTLM است که در زمینه ارتباطات شبکه استفاده میشود. این پروتکل بخشی از زیرساخت امنیتی ویندوز است و برای احراز هویت بین کلاینتها و سرورها در سناریوهای مختلف، به ویژه در شبکههای مبتنی بر ویندوز، استفاده میشود.
NTLM مخفف NT LAN Manage است. مجموعهای از پروتکلهای امنیتی که توسط سیستم عامل مایکروسافت ویندوز برای احراز هویت (Authentication) ، یکپارچگی (Integrity) و محرمانگی (Confidentiality) استفاده میشود که در درجه اول برای احراز هویت کاربران و دادن دسترسی به منابع موجود در شبکه استفاده میشود. در NTLM، کامپیوتر کاربر درخواستی که به سرور ارسال میکند، از الگوریتم DES استفاده میکند.
Net-NTLM با به کارگیری (challenge/response protocol) یا پروتکل چالش/پاسخ بین مشتری و سرور عمل میکند، جایی که سرور برای اثبات هویت خود، مشتری را به چالش میکشد. این پروتکل به دلیل برخی آسیبپذیریها در طراحی آن تا حد زیادی با روشهای امنتری مانند Kerberos و NTLMv2 جایگزین شده است.
تابع Hash NTLM
hash یک نوع از رمزنگاری رمز عبور است که با استفاده از یک الگوریتم hash ایجاد میشود و برای تأیید هویت کاربر در طول فرآیند احراز هویت استفاده میشود. این رمز عبور hash شده در سیستم یا domain controller ذخیره میشود و برای مقایسه زمانی که کاربر تلاش میکند به منابع دسترسی پیدا کند یا دوباره وارد سیستم شود، استفاده میشود.
hash NTLM با گرفتن رمز عبور کاربر و تبدیل آن به یک کلید 16 بایتی با استفاده از تابع hash MD4 رمزگذاری میشود. این کلید به دو نیمه 8 بایتی تقسیم میشود که به عنوان ورودی سه دور رمزگذاری DES برای تولید یک خروجی 16 بایتی استفاده میشود که نشان دهنده hash NTLM است.
UNC Path
به آدرسدهی تحت شبکه (Network Addressing) گفته میشود که UNC نیز نامیده میشود. مخفف Universal Naming Convention است. فرمت خاصی که برای شناسایی منابع شبکه مانند فایلها، پوشهها یا چاپگرهای مشترک کاربرد دارد. همچنین مسیرهای UNC در محیطهای ویندوز استفاده میشوند و از ساختار زیر پیروی میکنند:
\\computername\sharedfolder\filename
برای مثال:
\\ServerName\SharedDocs\Document.txt
بسیار خوب برگردیم به آسیبپذیری.
دزدیدن Net-NTLM hash
این آسیبپذیری به مهاجم اجازه میدهد تا hash Net-NTLM رو از قربانی دزدیده و مهاجم را قادر میسازد تا هویت قربانی را به خود بگیرد و به درون سازمان نفوذ و میان داراییها حرکت کند. مهاجم با فریب قربانی برای دسترسی به مسیر UNC \\Attacker_IP_Address، hash Net-NTLM را میدزدد. اما نشتی و leak شدن hash NET-NTLM از طریق این مکانیزم چیز جدیدی نیست و به خودی خود آسیبپذیری نیست، زیرا این ویژگی است که به ماشینهای ویندوز اجازه میدهد با یکدیگر ارتباط برقرار کنند.
احراز هویت امنتر Kerberos معمولاً توسط ماشینهایی در همان دامنه استفاده میشود. با این حال، زمانی که کاربر بخواهد با ماشینی که متعلق به دامنه دیگری است یا با ماشینی که فقط با آدرس IP آن شناخته میشود ارتباط برقرار کند، احراز هویت Kerberos کار نمیکند، بنابراین، نوع احراز هویت کاربر از Kerberos به NTLM تنزل مییابد و hashes Net-NTLM کاربر به طور خودکار به مقصد ارسال می شود. به عنوان مثال، اگر کاربر سعی کند به مسیرهای UNC زیر دسترسی پیدا کند، hash Net-NTLM برای مهاجم ارسال می شود .
\\Attacker_IP_address
\\Attacker_hostname.In_another_domain
چگونه اکسپلویت شد!
تأثیر CVE-2023-23397 معادل تأثیر یک حمله موفق مبتنی بر Net-NTLM است. در تمام سناریوهای حمله، مهاجم یک ایمیل مخرب برای قربانی ارسال می کند که باعث میشود دستگاه قربانی hash Net-NTLM خود را برای مهاجم ارسال کند. هنگامی که مهاجم hash Net-NTLM را از قربانی میدزدد، میتواند با یکی از حملاتی که در ادامه شرح میدهیم را انجام دهد.
- مهاجم میتواند با انتقال Net-NTLM کاربر خاص (privileged) به domain server، دسترسی ممتاز بالایی به Windows domain server مورد علاقه خود داشته باشد. این میتواند با هدف قرار دادن یک کاربر خاص برای ارسال هش Net-NTLM خود به یک ماشین از پیش در معرض خطر متعلق به یک کارمند بیخبر در شبکه انجام شود. این به عنوان حمله NTLM-Relay نیز شناخته میشود.
- مهاجم میتواند از طریق offline password cracking، رمز عبور را از hash Net-NTLM دزدیده شده، بازیابی کند. سپس این روش به مهاجم اجازه میدهد از طریق VPN وارد شبکه شرکت شود و به صورت جانبی میان داراییها حرکت کند. علت اینکه این روش کار میکند این است که رمز عبور برای تمام سرویسهای موجود برای قربانی میتواند توسط یک ارائهدهنده شناسایی مثل Domain controller همگامسازی شده و به صورت مرکزی مدیریت شود. احراز هویت چند عاملی (MFA) امکان پذیری این سناریوی حمله را کاهش می دهد.
- از همان تکنیک بازیابی رمز عبور توصیف شده در سناریوی حمله 2 استفاده میشود که به مهاجم اجازه میدهد تا به حساب ابری قربانی وارد شود. سپس مهاجم به جستجوی دادهها یا اطلاعات ارزشمند ذخیره شده در فضای ابری ادامه داده و حملات مبتنی بر ابر (cloud-based attacks) را انجام میدهد. احراز هویت چند عاملی (MFA) امکانپذیری این سناریوی حمله را هم کاهش میدهد.
استراتژیهای شناسایی
رویکردهای متعددی برای شناسایی اکسپلویتهای مبتنی بر Net-NTLM به دلیل CVE-2023-23397 یا آسیبپذیریهای مشابه وجود دارد که شامل موارد زیر میشود:
- شناسایی اتصالات TCP ایجاد شده به پورت 445 (SMB) و پورت 80 (WebDAV) در هر دو آدرس IP داخلی (مسیر حمله 1) و خارجی (مسیر حمله 2 و 3)، به ویژه برای آدرس های IP مقصد جدید که در گذشته مشاهده نشده است.
نکته: صرف اینکه دسترسی به پورت 445 در اینترنت را مسدود کنید برای جلوگیری بهره2برداری از این آسیبپذیری کافی نیست.
- ورود موفقیتآمیز از حسابهای ساخته شده از یک مکان و location جدید، چه از طریق ابر و چه در on-premise یا محلی (محلی بر روی رایانههای موجود در محیط IT خود شرکت شما میباشد) (مسیرهای حمله 2،1 و 3).
- تشخیص احراز هویت NTLM از حسابهایی که معمولاً احراز هویت NTLM را انجام نمیدهند. مشاهده شده که حمله موفقیتآمیز Net-NTLM-Relay با NTLM hash dump زنجیر (Chain) شده است که منجر به حمله pass-the-hash میشود.
- نظارت و مانیتورینگ بر تغییرات در الگوهای دسترسی به سرور، که در آن یک حساب در معرض خطر برای دسترسی به سرورها به شیوهای مشکوک استفاده میشود.
نتیجه گیری
شرکتها باید به سرعت نرمافزار Outlook خود را اصلاح کنند و اقدامات ذکر شده جهت شناسایی و جلوگیری از بهره برداری را انجام دهند. تجزیه و تحلیل رفتار میتواند باعث شناسایی تغییرات شود و شما را قادر میسازد تا اکسپلویتهای Net-NTLM را شناسایی کنید، حتی اگر این اکسپلویت به دلیل آسیبپذیری تازه کشف شده باشد. امیدواریم این نکات برای جامعه مفید باشد. بنابراین، خود را آماده کنید تا مانند یک حرفه ای برای شکار این حملات آماده شوید.
نویسنده مقاله: رضا الفت
منابع:
https://nvd.nist.gov/vuln/detail/CVE-2023-23397https://msrc.microsoft.com/update-guide/vulnerability/CVE-2023-23397https://cloudsecurityalliance.org/blog/2023/04/28/analysis-for-cve-2023-23397-microsoft-outlook-vulnerability/