The Detection Gap: چگونه تشخیص دهیم یک فرآیند در حال دسترسی به LSASS است یا یک مهاجم؟
در دنیای امنیت سایبری، یکی از چالشبرانگیزترین کارها برای تحلیلگران، تشخیص رفتارهای مخرب از فعالیتهای عادی و مشروع در شبکه است و این چالش زمانی پیچیدهتر میشود که مهاجمان از ابزارهای معتبر و امضاءشده ویندوز برای اهداف مخرب خود استفاده میکنند. فرآیندی که به lsass.exe دسترسی پیدا میکند، چیزی را خراب نمیکند، هیچ امضای بدافزاری فعال نمیشود، و باینری که در حال انجام این کار است، توسط مایکروسافت امضاء شده و دقیقاً در همان جایی قرار دارد که انتظار میرود. سوال اینجاست که آیا این یک ابزار گزارشدهی خطا است که وظیفه خود را انجام میدهد، یا لحظهای است که تمام اعتبارنامههای آن سیستم به سرقت رفته است؟ در ادامه از سری “The Detection Gap” سیمانتک، به بررسی تکنیک T1003.001 از چارچوب MITRE ATT&CK میپردازیم و نشان میدهیم که چگونه میتوان فعالیتهای مشروع را از حملات واقعی تشخیص داد.
LSASS چیست و چرا هدفی با ارزش برای مهاجمان محسوب میشود؟
سرویس زیرسیستم مرجع امنیت محلی یا LSASS، یکی از حیاتیترین فرآیندهای سیستمعامل ویندوز است که مسئولیت مدیریت احراز هویت کاربران را بر عهده دارد و به همین دلیل، به عنوان یک هدف باارزش برای مهاجمان سایبری شناخته میشود. این فرآیند، اعتبارنامههای تمام کاربرانی که به سیستم وارد شدهاند را در حافظه خود نگهداری میکند و این اعتبارنامهها شامل رمزهای عبور دامنه، بلیتهای Kerberos، هشهای NTLM و سایر دادههای احراز هویت است که در طول یک جلسه فعال در حافظه آن باقی میمانند. اگر یک مهاجم بتواند این حافظه را بخواند، دیگر نیازی به حدس زدن رمز عبور یا شکستن هشها ندارد و میتواند از همان اعتبارنامهای که در حال حاضر در سیستم وجود دارد، استفاده کند . به همین دلیل است که این تکنیک همچنان یکی از پرکاربردترین روشهای پس از نفوذ در کل چارچوب ATT&CK محسوب میشود و از گروههای باجافزاری تا بازیگران تهدیدات دولتی، همگی از آن استفاده میکنند .
مورد مشروع: استفاده از کامسویسی.دیالال برای تشخیص خطا
بسیاری از متخصصان امنیت هنگام شنیدن عبارت “تخلیه حافظه LSASS” بلافاصله به یاد ابزار Mimikatz میافتند، اما مهاجمان امروزی روشهای پیشرفتهتری را برای این کار به کار میگیرند و یکی از این روشها، استفاده از یک کامپوننت معتبر ویندوز به نام comsvcs.dll است . این فایل یک کامپوننت واقعی ویندوز است که شامل یک تابع MiniDump برای ثبت حافظه فرآیندها در هنگام تشخیص خطا و عیبیابی است و تخلیه حافظههای مشروع از فرآیندهای مختلف، به طور مداوم در محیطهای سازمانی انجام میشود. این فعالیتها معمولاً توسط ابزارهای گزارشدهی خطا، نظارت بر عملکرد برنامهها، یا یک مهندس پشتیبانی که در حال عیبیابی یک فرآیند هنگکرده است، انجام میشود . در یک تخلیه حافظه مشروع، هدف یک فرآیند مرتبط با یک مشکل واقعی گزارششده است و نه به طور خاص LSASS، مگر اینکه دلیل مستند و غیرمعمولی برای بررسی آن وجود داشته باشد. همچنین زمینه ایجاد آن توسط یک ابزار تشخیصی شناختهشده یا یک مدیر سیستم که روی یک تیکت باز کار میکند، آغاز میشود و خروجی آن یک فایل است که از طریق گردشکارهای عادی IT بررسی، به پرونده ضمیمه یا دور ریخته میشود .
مورد مخرب: سوءاستفاده از همان کامپوننت برای سرقت اعتبارنامه
دقیقاً همان کامپوننت ویندوز و همان تابع صادرشده، زمانی که یک مهاجم به دنبال اعتبارنامهها است، به روشی کاملاً متفاوت فراخوانی میشود و تشخیص این تفاوت، کلید شناسایی حمله است . در یک حمله، خط فرمان به این صورت خواهد بود: rundll32.exe C:\Windows\System32\comsvcs.dll, MiniDump <LSASS_PID> lsass.dmp full که به طور خاص فرآیند LSASS را با شناسه آن هدف قرار میدهد . همچنین این فرمان به ندرت از یک جلسه مدیریتی عادی سرچشمه میگیرد و معمولاً از طریق PowerShell، یک میزبان اسکریپت یا یک زنجیره فرآیندی که به فعالیت دسترسی اولیه بازمیگردد، اجرا میشود. علاوه بر این، فایل خروجی در جایی که نباید باشد، مانند یک دایرکتوری موقت یا مسیر پروفایل کاربر ذخیره میشود و هیچ تیکت پشتیبانی، گزارش خطا یا دلیل دیگری برای تخلیه LSASS در آن لحظه خاص وجود ندارد . مهاجمان این روش را دقیقاً به این دلیل ترجیح میدهند که هم rundll32.exe و هم comsvcs.dll امضاء شده، هر دو انتظار میرود که وجود داشته باشند و هیچکدام به تنهایی مشکوک نیستند و این همان منطق “زندگی از زمین” (Living Off the Land) است: یک باینری مورد اعتماد که کاری را انجام میدهد که اساساً برای آن ساخته نشده است، به روشی که برای تشخیص نیاز به زمینه دارد .
روش جایگزین: سوءاستفاده از گزارشگیری خطای ویندوز
برخی از مهاجمان از روش مستقیم تخلیه حافظه صرفنظر میکنند و در عوض از قابلیت گزارشگیری خطای ویندوز سوءاستفاده میکنند تا فرآیند WerFault.exe را برای تولید تخلیه حافظه برای آنها فعال کنند و بدین ترتیب از استفاده از یک ابزار تخلیهکننده مستقیم جلوگیری میکنند . این تکنیک شامل دستکاری کلید رجیستری Image File Execution Options مربوط به lsass.exe است تا WerFault.exe را از طریق مکانیزم خروج بیصدای فرآیند، به تولید تخلیه حافظه وادار کند . نتیجه نهایی یکسان است، اما مسیر رسیدن به آن متفاوت است و این روش، شناسایی حمله را برای تیمهای امنیتی که تنها بر روی ابزارهای تخلیهکننده مستقیم متمرکز هستند، دشوارتر میکند.
نحوه جمعآوری سیگنالهای تشخیصی با تهدیدتریس سیمانتک
تشخیص دستی این تکنیک به معنای همبستگی رویدادهای متقابل فرآیند علیه lsass.exe و فیلتر کردن اقداماتی مانند OPEN_PROCESS_HANDLE یا PROCESS_API_CALL با حقوق دسترسی خاص مورد نیاز برای خواندن حافظه فرآیند است و این یک مهارت واقعی و قابل یادگیری در شکار تهدید محسوب میشود . ابزار Threat Tracer سیمانتک این زنجیره را به طور مستقیم نمایش میدهد و تحلیلگران میتوانند ببینند کدام فرآیند درخواست دسترسی به LSASS را کرده است، چه حقوقی درخواست شده و چه چیزی آن را به وجود آورده است . کار از بازسازی یک توالی از لاگهای خام رویداد به تصمیمگیری در مورد اینکه آیا این توالی واقعاً مربوط به یک حمله است یا خیر، تغییر میکند. همچنین استفاده از راهکارهای پیشرفته مانند Symantec Endpoint Detection and Response (EDR) شرکت سیمانتک که از یک عامل واحد بر روی نقاط پایانی و یک کنسول متمرکز برای مدیریت امنیت استفاده میکند، میتواند به طور قابل توجهی به شناسایی و پاسخ به این تهدیدات کمک کند.
بررسی سریع وضعیت امنیتی و توصیههای نهایی
چند سوال مهم را در مورد محیط خود در نظر بگیرید که میتواند به شما در ارزیابی آمادگی در برابر این تکنیک کمک کند. آیا متوجه میشوید اگر rundll32.exe درخواست دسترسی به حافظه lsass.exe را روی یک نقطه پایانی در حال حاضر داشته باشد، یا اینکه این فعالیت در میان نویزهای تشخیصی عادی برای شما محو خواهد شد؟ آیا میدانید ابزارهای تشخیصی و تخلیه خطای مشروع در محیط شما دقیقاً چگونه به نظر میرسند تا بتوانید به سرعت آنها را رد کنید؟ و مهمتر از همه، اگر Credential Guard در تمام سیستمهای شما فعال نیست، آیا میدانید کدام سیستمها هنوز در معرض خواندن مستقیم حافظه LSASS قرار دارند ؟ از بین این سه مورد، سوال سوم ممکن است بیشترین وزن را داشته باشد، زیرا در جایی که Credential Guard مستقر است، اسرار LSASS در یک کانتینر محافظتشده ایزوله میشوند که این تکنیک حمله نمیتواند به آن دسترسی پیدا کند و دانستن اینکه این محافظت کجا مستقر است و کجا نیست، خود یک تصمیم وضعیتی است، نه فقط یک تصمیم تشخیصی .
تشخیص رفتار از زمینه، کلید موفقیت در شکار تهدید
تشخیص تکنیک T1003.001 نیازمند درک عمیق زمینه و رفتار است و تکیه بر امضای بدافزارها یا ابزارهای خاص، دیگر کافی نیست و مهاجمان از ابزارهای معتبر و امضاءشده برای انجام حملات خود استفاده میکنند. با استفاده از ابزارهایی مانند Threat Tracer سیمانتک و پیادهسازی کنترلهای امنیتی مانند Credential Guard، میتوانید به طور قابل توجهی قابلیت تشخیص و پاسخ به این تهدید را افزایش دهید. کلید موفقیت در شکار تهدید، تشخیص رفتار از زمینه است و با تمرکز بر “چگونگی” و “چرایی” دسترسی به LSASS، میتوانید حملات را قبل از اینکه به سرقت اعتبارنامهها منجر شوند، شناسایی و متوقف کنید.
