مایکروسافت جزییات جدیدی از نحوه ی هک و دسترسی هکرهای روسی ، به برخی ایمیلهای سازمانی این شرکت منتشر کرده و اعلام کرده که این کمپین یسری سازمان دیگه رو هم هدف قرار داده.
مایکروسافت ، 12 ژانویه/22 دی متوجه دسترسی غیرمجاز به سیستم ها ی شرکتیشون شده و بلافاصله فرایند پاسخ به حوادث ، اختلال روی عملیات مهاجمین و جلوگیری از افزایش تاثیر حمله رو اجرا کرده. بازیگر تهدیدی که پشت این حمله بوده، یه گروه هکری بنام Midnight Blizzard هست که با نام های Nobelium و APT29 و Cozy Bear و UNC2452 هم شناخته میشه.
مایکروسافت با بررسی لاگ های Exchange Web Services (EWS) و ترکیب اون با دانش و تجربه ای که از فعالیتهای این گروه هکری داشته، تونسته فعالیت های مخرب این بازیگر تهدید رو شناسایی و با انتشار اون، به بقیه کمک کنه تا خطرات این کمپین رو شناسایی کنن و در امان باشن.
مایکروسافت اعلام کرده که با بررسی فعالیت های Midnight Blizzard در این حمله ، تیم Microsoft Threat Intelligence تونسته سازمانهای دیگه ای رو هم شناسایی کنه که هدف این بازیگر تهدید بودن و براساس فرایند اطلاع رسانی معمولشون، در حال اطلاع رسانی به این سازمانها هستن.
هفته ی پیش، Hewlett Packard Enterprise (HPE) اعلام کرد که گروه هکری Midnight Blizzard از مه 2023/اردیبهشت 1402 به ایمیلهای Microsoft Office 365 این کمپانی دسترسی داشتن و یسری داده هم استخراج کردن. این کمپانی یکی از بزرگترین شرکتهای آمریکایی مطرح در زمینه تولید سرور، تجهیزات شبکه و ذخیرهسازها هست و از شرکتهای زیرمجموعه برند HP به حساب میاد. HPE نحوه ی کشف این نقض رو اعلام نکرده اما احتمال میدن که این شرکت یکی از کمپانی هایی هست که مایکروسافت بهش اطلاع رسانی کرده.
مایکروسافت همچنین اعلام کرده که این تحقیقات همچنان در حال ادامه هست و در صورت مشاهده نکات جدید، اونو منتشر میکنه.
گروه هکری Midnight Blizzard :
Midnight Blizzard یه گروه هکری روسی هست که آمریکا و بریتانیا اونو مرتبط با سرویس خارجی روسیه یا SVR میدونن. اهدافشون دولتها ، نهادهای دیپلماتیک ، سازمانهای غیر دولتی (NGO) و ارائه دهندگان خدمات IT ، عمدتا در آمریکا و اروپاست. تمرکز اصلیشون هم جمع آوری اطلاعات از طریق جاسوسی بلند مدت و هدفمنده و احتمال میدن از سال 2018 شروع به فعالیت کردن. عمدتا اکانتهای معتبر رو هدف قرار میدن و در برخی موارد، از تکنیکهای پیشرفته برای دور زدن مکانیسم های احرازهویت در سازمانها، برای دسترسی و فرار از شناسایی استفاده میکنن.
هدف عملیاتی این گروه اغلب ثابت و به ندرت روی اهداف دیگه کار میکنن. در فعالیتهای جاسوسی و جمع آوری اطلاعات، از انواع تکنیکهای دسترسی اولیه، حرکات جانبی و پرسیست برای حمایت از منافع خارجی روسیه ، استفاده میکنن. برای دسترسی اولیه از تکنیکهای مختلفی استفاده میکنن مانند اعتبارنامه های سرقت شده ، حملات زنجیره تامین ، اکسپلویت محیط های داخلی برای حرکت جانبی به ابر، سوء استفاده از زنجیره مورد اعتماد ارائه دهندگان خدمات برای دسترسی به مشتریان پایین دستی و … . به گفته ی مایکروسافت، Midnight Blizzard استاده شناسایی و سوء استفاده از برنامه های OAuth برای حرکات جانبی در محیطهای ابری و فعالیتهای بعد از دسترسی مانند جمع آوری ایمیل، هستش.
OAuth که مخفف Open Authorization هست ، یه استاندارد بازه که به کاربران این امکان رو میده تا به برنامه های شخص ثالث ، دسترسی محدود به منابعشون ، بدون اشتراک گذاری اعتبار، رو بدن. معمولاً برای اهداف دادن پرمیشن و احراز هویت در خدمات مختلف آنلاین استفاده میشه.
تکنیکها و فعالیتهای مشاهده شده :
دسترسی اولیه از طریق حملات Password Spray :
Midnight Blizzard با استفاده از حملات Password Spray ، اکانت یه Tenant تستی و قدیمی که احرازهویت چند عاملی (MFA) هم روش فعال نبوده ، رو هک کردن. هدف حملات Password Spray اینه که با مجموعه ی کمی از پسوردهای رایج و محتمل، بشه وارد تعداد زیادی اکانت شد.
در این حمله Midnight Blizzard ، حملات خودش رو، روی تعداد کمی از اکانتها انجام داده و همچنین این تلاش هارو هم بصورت محدود انجام داده ، تا از شناسایی فرار کنه و همچنین جلوی بلوکه شدن اکانت ، به دلیل تعداد زیاد موارد اشتباه رو، بگیره. همچنین بازیگر تهدید این حملات رو از طریق یه زیر ساخت Residential Proxy توزیع شده انجام داده تا احتمال کشف رو به حداقل برسونه. این مورد در ادامه بررسی شده.
استفاده بازیگر تهدید از روش های مختلف فرار از شناسایی ، منجر به مبهم شدن فعالیت های بازیگر شده و این امکان رو به بازیگر میده تا از لحاظ زمانی، تا رسیدن به موفقیت کامل ، حمله رو ادامه بده.
استفاده مخرب از برنامه های OAuth :
بازیگران تهدیدی مانند Midnight Blizzard، اکانتهای کاربران رو برای ایجاد، دستکاری و اعطای پرمیشن به برنامه های OAuth ای که میتونن ازشون ، برای مخفی کردن فعالیتشون سوء استفاده کنن، هک میکنن. استفاده مخرب از OAuth باعث میشه که بازیگران تهدید، اگه اکانت هایی که در دسترسی اولیه ، بهشون دسترسی داشتن رو از دست بدن، همچنان از طریق دسترسی به برنامه ها ، دسترسیشون رو حفظ کنن.
هکرهای Midnight Blizzard بعد از دسترسی اولیه، تونستن یه برنامه ی قدیمی و تستی OAuth رو شناسایی و ازش سوء استفاده کنن، که منجر به افزایش دسترسی هکرها به محیط شرکت مایکروسافت شده. مهاجم یسری برنامه ی OAuth دیگه ایجاد کرده و یه اکانت جدید برای اعطای مجوز یا تایید برای دسترسی به منابع یا اقدامات خاص در محیط شرکتی مایکروسافت به این برنامه های مخرب OAuth ایجاد کرده. در ادامه بازیگر تهدید از برنامه قدیمی و تستی OAuth برای دادن رول full_access_as_app به Office 365 Exchange Online استفاده کرده تا امکان دسترسی به صندوق ایمیلها رو بدست بیاره.
جمع آوری ایمیلها از Exchange Web Services :
بازیگر تهدید از برنامه های مخرب OAuth برای احرازهویت در Microsoft Exchange Online استفاده کرده و تونسته به حسابهای شرکتی مایکروسافت از جمله: اعضای تیم رهبران ارشد، کارمندان بخش امنیت سایبری، حقوقی و … دسترسی داشته باشه. یه چیز جالبی که در خصوص این هک مطرح شده، هدف هکرها بیشتر این بوده که بفهمن، مایکروسافت چه اطلاعاتی در خصوص این گروه هکری داره و میدونه.
استفاده از زیرساخت های Residential Proxy :
بازیگر تهدید برای مبهم کردن منبع حمله اش، از شبکه های Residential Proxy استفاده کرده و ترافیک خودش رو از طریق تعداد زیادی IP که توسط کاربران قانونی هم استفاده میشن، برای تعامل با tenant و Exchange Online ارسال کرده. این تکنیک اگرچه جدید نیست، اما به دلیل نرخ بالای تغییرات آدرس های IP ، ارائه ی IOC به روش معمول غیر ممکنه.
اما این Residential Proxyها چی هستن؟ شما وقتی از یه پروکسی معمولی استفاده میکنید ، IPای که بهش متصل میشید، توسط دیتاسنتر ارائه میشه ، اما در Residential Proxy ها این IP توسط ISP ارائه میشه و به Residential IP معروفه.
فرض کنید من برای یخچال خونه ام ، رفتم به ISP و یه IP ازش خریدم. ISP این IP رو جوری ثبت میکنه که مشخصه دقیقا این IP برای کجاست. مثلا مشخص میکنه که این IP ، دقیقا برای آدرس یه خونه ای در تبریز ثبت شده. حالا من این IP رو در اختیار شما قرار میدم و شما وبگردی هاتون رو از طریق این IP انجام میدید. در این حالت سایتهای مختلف مثلا توییتر، با دیدن IP شما، متوجه میشه که این IP برای آدرس خونه ای در تبریز هست. این کار باعث میشه که آدرس های IP قابل اعتماد تر باشن چون پشتشون یه آدرس واقعیه.
حالا فرض کنید که من چندین هزار از این IP ها رو ساختم و بعنوان پروکسی در اختیار شما قرار دادم. شما میتونید به یه سرور وصل بشید و براساس نیاز ، مکان مورد نظرتون رو انتخاب و از آدرس Residential IP اون استفاده کنید.
این پروکسی ها کاربردهای مختلفی دارن، از جمله تو بحث حریم خصوصی که هویت شما افشاء نمیشه. همچنین قابلیت دور زدن محدودیتهارو هم دارن. مثلا فرض کنید یه سرویسی مثله یه صرافی ، خدمات خودش رو محدود به جغرافیای خاصی کرده، شما با استفاده از این پروکسی ها میتونید از یه هویت قابل اعتماد از اون جغرافیا به این صرافی دسترسی داشته باشید.
دستورالعملهای حفاظتی و دفاعی :
با توجه به اینکه در این کمپین بطور گسترده از Residential Proxy ها استفاده شده ، ارائه IOC به روش رایج مثلا ارائه آدرس های IP زیرساخت، برای شناسایی فعالیت های این گروه بازیگر تهدید، امکان پذیر نیست.
در عوض مایکروسافت یسری دستورالعمل، برای شناسایی و کمک به کاهش خطرات این نوع تهدیدات ارائه کرده :
دفاع در برابر برنامه های مخرب OAuth
- از طریق پرتال احرازهویت Microsoft Graph Data Connect سطح امتیاز فعلی همه ی شناسه ها، اعم از کاربران و مدیران سرویس در Tenant خودتون رو بررسی کنید. مثلا تغییرات امتیاز در شناسه هارو بررسی کنید ، اصلا نیاز هست که اون امتیاز رو داشته باشه، اصلا از اون شناسه استفاده میکنید. تیم های امنیتی باید برنامه هایی که دارای پرمیشن app-only دارن ، توجه بیشتری کنن، چون ممکنه این برنامه ها به امتیاز بالایی ذسترسی داشته باشن.
- شناسه هایی که در Exchange Online، دارای پرمیشن ApplicationImpersonation هستن رو بررسی کنید. ApplicationImpersonation این امکان رو به فراخوانی کننده، مانند مدیر سرویس، میده تا هویت کاربر رو جعل کنه و همون عملیاتی که خود کاربر میتونه انجام بده رو انجام بده. امتیازات جعلی مانند این رو میتونید برای سرویس هایی که از طرف کاربر با صندوق پستی تعامل دارن مانند ویدیو کنفرانس یا سیستم های CRM ، هم پیکربندی کنید. در صورت پیکربندی نادرست یا عدم وجود محدوده مناسب ، این شناسه ها امکان دسترسی گسترده به همه ی صندوق های پستی در یه محیط رو فراهم میکنن. پرمیشن هارو میتونید در Exchange Online Admin Center یا از طریق دستور پاورشلی زیر بررسی کنید :
1 |
Get-ManagementRoleAssignment -Role ApplicationImpersonation -GetEffectiveUsers |
- برنامه های مخرب OAuth رو ، میتونید از طریق خط های مشی های تشخیص ناهنجاری ، شناسایی کنید. برنامه های مخرب OAuth که فعالیت مدیریتی حساس Exchange Online رو انجام میدن، از طریق App governance قابل شناسایی هستن. هر برنامه ی مخرب OAuth رو بررسی و اصلاح کنید.
- برنامه دسترسی مشروط برای کاربرانی که از دستگاه های مدیریت نشده متصل میشن رو انجام بدید.
- گروه هکری Midnight Blizzard در حملات قبلیشون برای سوء استفاده از برنامه های OAuth علیه سازمان های دیگه، از رول EWS.AccessAsUser.All Microsoft Graph API یا Exchange Online ApplicationImpersonation برای دسترسی به صندوق ایمیلها استفاده کردن، بنابراین تیم های امنیتی باید برنامه هایی که دارای پرمیشن های EWS.AccessAsUser.All و EWS.full_access_as_app هستن رو بررسی کنن و ببینن که اصلا در tenantاشون این پرمیشن ها مورد نیازه یا نه. اگه نیا نباشه اونارو حذف کنن.
- اگه به برنامه ها برای دسترسی به صندوق پستی نیاز دارید، دسترسی با جزییات بالا و انعطاف پذیر رو میتونید با استفاده از دسترسی مبتنی بر رولها برای برنامه ها در Exchange Online پیاده سازی کنید. این مدل دسترسی تضمین میکنه که برنامه ها فقط به صندوقهای پستی مورد نیاز ، اعطا میشن.
حفاظت در برابر حملات Password Spray :
- پسوردهای ناامن رو حذف کنید.
- به کاربران یاد بدید که فعالیت های ورود به سیستم رو بررسی کنن و اگه با مورد مشکوکی روبرو شدن با عباراتی مانند “این من نبودم” یا “خورزوخان” علامت گذاری کنن.
- پسوردها رو برای اکانتی که در حملات Password Spray هدف قرار گرفته ، بازنشانی کنید. اگه اکانت پرمیشن سیستمی داره، نیاز به بررسی بیشتر هست.
- با استفاده از ابزارهایی مانند Microsoft Entra ID Protection ، حملات مبتنی بر شناسه رو شناسایی، بررسی و اصلاح کنید.
- اکانتهای هک شده رو با اشتفاده از Microsoft Purview Audit (Premium) بررسی کنید.
- Microsoft Entra Password Protection رو برای سرویس های Microsoft Active Directory Domain اعمال کنید.
- از تشخیص ریسک برای ورود کاربران برای فعال شدن احرازهویت چند عاملی یا تغییر پسورد استفاده کنید.
- از طریق این راهنما ، حملات احتمالی Password Spray رو بررسی کنید.
راهنمای تشخیص و شکار تهدید :
مایکروسافت با بررسی لاگ های Exchange Web Services (EWS) و ترکیب اون با دانش و تجربه ای که از فعالیتهای این گروه هکری داشتن، تونستن فعالیت های مخرب این بازیگر تهدید رو شناسایی کنه و در ادامه اونارو به اشتراک بذاره، تا تیم های امنیتی هم اونارو بررسی کنن:
حفاظت و هشدار در خصوص شناسه ها:
Microsoft Entra ID Protection میتونه با بررسی تکنیکها و فعالیتها ،به سازمانها کمک کنه تا این فعالیتهای مشکوکی که نیاز به بررسی بیشتری دارن رو شناسایی کنن. استفاده از زیرساخت Residential Proxy توسط بازیگر تهدید عموماً بدلیل ناسازگاری در الگوهای رفتار کاربر در مقایسه با فعالیت قانونی که ممکنه خارج از کنترل بازیگر تهدید باشه، به احتمال زیاد منجر به ایجاد هشدار در Microsoft Entra ID Protection میشه.
هشدارهای Microsoft Entra ID Protection ای که میتونه برای شناسایی این حمله کمک کنه :
- Unfamiliar sign-in properties : در صورت ورود به سیستم از شبکه ها، دستگاهها یا مکانهایی که برای کاربر ناشناخته هستن، هشدار میده.
- Password spray : مشخص کننده حمله ی Password spray هست. این هشدار وقتی صادر میشه که مهاجم با موفقیت حمله رو انجام داده و احرازهویت کرده.
- Threat intelligence : زمانی صادر میشه که فعالیت های یه کاربر برای اون ، غیرعادی باشه یا با الگوهای حمله که از منابع داخلی یا خارجی جمع آوری شده، مطابقت داشته باشه.
- Suspicious sign-ins (workload identities) : این هشدار ویژگی ها یا الگوهای ورود به سیستم رو نشون میده که برای مدیر سرویس مرتبط ، غیرعادیه .
حفاظت و هشدارهای XDR و SIEM :
وقتی یه بازیگر تهدید از برنامه های OAuth در حمله اش استفاده میکنه، فعالیت های بعدی رو میشه از طریق هشدارهای زیر شناسایی کرد.
هشدارهای Microsoft Defender for Cloud Apps :
- App with application-only permissions accessing numerous emails : یه برنامه ی ابری multi-tenant با پرمیشن application-only ، فراخوانی زیادی با Exchange Web Services API خاصی که برای شمارش و جمع آوری ایمیلها استفاده میشه، داره. این برنامه ممکنه در دسترسی و جمع آوری اطلاعات حساس ایمیل نقش داشته باشه.
- Increase in app API calls to EWS after a credential update : این هشدار زمانی صادر میشه که یه برنامه ی OAuth غیرمایکروسافتی، فراخوانی زیادی از Exchange Web Services API طی چند روز بعد از بروزرسانی certificates/secrets یا اضافه شدن اعتبارنامه های جدید داره.
- Increase in app API calls to EWS : این هشدار زمانی صادر میشه که یه برنامه ی OAuth غیرمایکروسافتی، فراخوانی زیادی از Exchange Web Services API داره. این برنامه ممکنه در استخراج داده ها یا تلاش برای دسترسی و بازیابی داده ها استفاده شده باشه.
- App metadata associated with suspicious mal-related activity : این هشدار زمانی صادر میشه که یه برنامه ی OAuth غیرمایکروسافتی از متاداده هایی مانند نام، ناشر، URL ای استفاده میکنه که قبلا در برنامه هایی در فعالیت های مشکوک مربوط به ایمیل مشاهده شده. این برنامه ممکنه بخشی از کمیپن حمله باشه و در استخراج داده ها نقش داشته باشه.
- Suspicious user created an OAuth app that accessed mailbox items : کاربری که به یه جلسه با ریسک متوسط یا پرخطر وارد شده، یه برنامه ی OAuth ایجاد کرده که برای دسترسی به صندوق ایمیل با استفاده از عملیات sync یا دسترسی به چندین پیام ایمیل با استفاده از عملیات bind استفاده شده. ممکنه مهاجم یه اکانت کاربری رو برای دسترسی به منابع سازمانی برای حملات بیشتر ، به خطر بندازه.
هشدارهای Microsoft Defender XDR :
- Suspicious user created an OAuth app that accessed mailbox items : کاربری که به یه جلسه با ریسک متوسط یا پرخطر وارد شده، یه برنامه ی OAuth ایجاد کرده که برای دسترسی به صندوق ایمیل با استفاده از عملیات sync یا دسترسی به چندین پیام ایمیل با استفاده از عملیات bind استفاده شده. ممکنه مهاجم یه اکانت کاربری رو برای دسترسی به منابع سازمانی برای حملات بیشتر ، به خطر بندازه.
کوئری های مرتبط با شکار تهدید :
اگه از Microsoft Defender XDR استفاده می کنید، برای شناسایی فعالیت های مخرب در شبکه اتون میتونید از کوئری های زیر استفاده کنید :
پیدا کردن ورود به سیستم از یه IP که بعنوان Password Spray مشخص شده :
1 2 3 4 |
IdentityLogonEvents | where Timestamp between (startTime .. endTime) | where isnotempty(IPTags) and not(IPTags has_any('Azure','Internal Network IP','branch office')) | where IPTags has_any ("Brute force attacker", "Password spray attacker", "malicious", "Possible Hackers") |
پیدا کردن فعالیت های انجام شده توسط MailItemsAccessed یا SaaS از یه IP که بعنوان Password Spray مشخص شده :
1 2 3 4 |
CloudAppEvents | where Timestamp between (startTime .. endTime) | where isnotempty(IPTags) and not(IPTags has_any('Azure','Internal Network IP','branch office')) | where IPTags has_any ("Brute force attacker", "Password spray attacker", "malicious", "Possible Hackers") |
اگه از Microsoft Sentinel استفاده میکنید ، میتونید از رولهای تحلیلی زیر استفاده کنید :
- Password spray attempts : این کوئری به شناسایی شواهدی مبنی بر فعالیت Password spray در برابر برنامه های Microsoft Entra ID کمک میکنه.
- OAuth application being granted full_access_as_app permission : دنبال پرمیشن های full_access_as_app هست که توسط Admin Consent به یه برنامه ی OAuth داده شده. این مجوز امکان دسترسی به صندوق پست های Exchange از طریق EWS API رو میده و میتونه برای دسترسی به داده های حساس مورد سوء استفاده قرار بگیره. برنامه ای که این پرمیشن داره، باید بررسی بشه که آیا اصلا نیاز به این پرمیشن داره یا نه.
- Addition of services principal/user with elevated permissions : این رول دنبال پرمیشن هاییه که به یه سرویس امکان افزودن Microsoft Entra ID object یا یه اکانت کاربری به Admin directory role رو میده.
- Offline access via OAuth for previously unknown Azure application :این رول زمانی هشدار میده که کاربر تایید کنه، یه برنامه Azure که قبلا ناشناخته بود ، دسترسی آفلاین از طریق OAuth رو ارائه کنه. دسترسی آفلاین به برنامه Azure امکان دسترسی به منابع رو بدون نیاز به احراز هویت دو مرحله ای میده. تایید برنامه هایی با دسترسی آفلاین، معمولاً نادره.
- OAuth apps reading mail both via GraphAPI and directly : این کوئری برنامه های OAuth رو بر میگردونه که هم بصورت مستقیم و هم از طریق Graph به ایمیل دسترسی دارن. میتونید این برنامه ها رو بررسی کنید و ببینید که آیا نیازه که از این دو روش برای دسترسی استفاده کنن یا نه.