روابط عمومی شرکت ایدکو (توزیعکنندهی محصولات کسپرسکی در ایران)؛ گروههای APT برای مخفی کردن فعالیت خود در سیستمهای آلوده، از تکنیکهای مختلفی برای دور زدن مکانیزمهای دفاعی استفاده میکنند. بیشتر این تکنیکها شناختهشده هستند و توسط راهکارهای محافظتی (EPP) و ابزارهای نظارت و پاسخ به تهدیدات (EDR) قابل شناساییاند. به عنوان مثال، در سیستمعامل ویندوز، مهاجمان میتوانند از روتکیتهای سطح کرنل استفاده کنند، بهخصوص درایورهای مخرب. اما در نسخههای جدید ویندوز، تنها درایورهایی که توسط مایکروسافت امضا شدهاند اجازه بارگذاری در حالت کرنل را دارند.
برای دور زدن این محدودیت، مهاجمان از درایورهای قانونی استفاده میکنند که دارای امضای معتبر هستند ولی آسیبپذیریهایی دارند که اجازه اجرای کد مخرب را در سطح کرنل میدهند. ابزارهای مانیتورینگ، نصب چنین درایورهایی را ردیابی کرده و برنامههایی که آنها را نصب میکنند بررسی مینمایند. اما اگر یک نرمافزار امنیتی فعالیت ناایمن انجام دهد چه؟ چون این نوع نرمافزارها مورد اعتماد ابزارهای مانیتورینگ هستند، احتمالاً مشکوک تلقی نمیشوند. و دقیقاً همین مسئله توسط مهاجمان گروه ToddyCat مورد سوءاستفاده قرار گرفت؛ آنها ابزار خود را در بستر یک راهکار امنیتی اجرا کردند.
شناسایی
اوایل سال ۲۰۲۴، هنگام بررسی رخدادهای مرتبط با ToddyCat، به فایلی مشکوک با نام version.dll در پوشه موقت (Temp) چند دستگاه برخورد کردیم. این فایل DLL 64-بیتی که به زبان C++ نوشته شده، ابزاری پیچیده به نام TCESB بود که پیشتر در حملات ToddyCat مشاهده نشده بود. این ابزار بهگونهای طراحی شده تا با دور زدن ابزارهای حفاظتی و نظارتی، بارهای مخربرا بهصورت مخفی اجرا کند.
محصولات شرکت کسپرسکی این ابزار را با عناوین زیر شناسایی میکنند:
- Trojan.Win64.ToddyCat.a
- Trojan.Win64.ToddyCat.b
لودِ ابزار
پروکسی کردنِ DLL
تحلیل استاتیک این DLL نشان داد که تمام توابع صادرشده آن از فایل سیستمی version.dllبا همان نام وارد میشوند. این یعنی مهاجمان از تکنیکی به نام DLL proxying یا پروکسی کردنِ DLLاستفاده کردهاند (بر اساس تکنیک T1574 از MITRE ATT&CK).در این روش، یک DLL مخرب توابع DLL اصلی را شبیهسازی میکند و در پسزمینه کد مخرب را اجرا مینماید، در حالی که برنامه همچنان بهصورت عادی عمل میکند.
اما این تکنیک بهتنهایی کافی نیست. برای اینکه DLL مخرب کنترل را در دست بگیرد، باید برنامهای که آن را بارگذاری میکند، دارای کدی ناایمن باشد که DLLها را از مسیرهایی خارج از مسیرهای استاندارد ویندوز جستوجو کند. مایکروسافت نیز راهنمایی رسمی برای جلوگیری از این نوع بارگذاری ناایمن DLL ارائه کرده است.
آسیبپذیری CVE-2024-11859 در اسکنر خط فرمان ESET
در بررسیها متوجه شدیم که فایل اجراییای که TCESB را بارگذاری میکند، در همان پوشهای قرار دارد که DLL مخرب در آن قرار گرفته بود. فایلی بدون پسوند به نام eclsیافت شد که در واقع یکی از اجزای راهحل EPP شرکت ESET یعنی اسکنر خط فرمان ESETبود. بررسیهای دینامیک نشان داد که این اسکنر، فایل version.dllرا به شکل ناایمن بارگذاری میکند – ابتدا پوشه جاری و سپس پوشههای سیستمی را جستوجو میکند. این موضوع منجر به بارگذاری فایل مخرب میشود و در نتیجه، یک آسیبپذیری امنیتی محسوب میگردد.
ما این موضوع را طبق فرآیند افشای مسئولانه به ESET اطلاع دادیم. شرکت ESET این آسیبپذیری را با کد CVE-2024-11859 ثبت و در تاریخ ۲۱ ژانویه ۲۰۲۵ با انتشار بهروزرسانی، آن را رفع کرد. در تاریخ ۴ آوریل، اطلاعات این آسیبپذیری در اطلاعیه امنیتی ESET منتشر شد. برای تحلیل TCESB، آن را در یک محیط مجازی اجرا کردیم. مشاهده کردیم که در فضای حافظه فرآیند ecls.exe، دو نسخه از version.dllوجود دارد – یکی نسخه سیستم و دیگری نسخه مخرب.
کارکرد پایه
برای تعیین عملکردهای اصلی ابزار مخرب، رشتههای موجود در فایل DLL آن را بررسی کردیم. رشتهها مبهمسازی نشدهاند. جستوجو نشان میدهد که بیشتر آنها متعلق به ابزار مخرب متنباز EDRSandBlast هستند که برای دور زدن راهکارهای امنیتی طراحی شده است. راهکارهای امنیتی شرکت Kaspersky این ابزار را با تشخیص HEUR:HackTool.Win64.EDRSandblast.a شناسایی میکنند. گروه ToddyCat فایل DLL موسوم به TCESB را بر اساس این ابزار ایجاد کرده و با تغییر کد اصلی، قابلیتهای بدافزار را گسترش داده است. توانمندیهای ابزار نهایی شامل تغییر ساختارهای هسته سیستمعامل برای غیرفعالسازی روالهای اطلاعرسانی (مثلاً درباره رخداد ایجاد یک فرآیند در سیستم یا بارگذاری یک مؤلفه) میباشد.
به دنبال آدرسهایی در مموریِ کرنل
بهمنظور شناسایی ساختارهای حافظه کرنل مورد نیاز جهت غیرفعالسازی روالهای اطلاعرسانی، ابزار TCESB نسخهی کرنل ویندوزی را که در آن اجرا میشود تشخیص میدهد. این فرآیند از طریق تابع GetNtoskrnlVersion انجام میگیرد. سپس برای دریافت اطلاعاتی در مورد آفستهای مموریِ ساختارهای مربوط به نسخه کرنلِ سیستم عامل، TCESB از یکی از دو منابع داده یعنی CSV یا فایل PDB استفاده میکند. ابتدا اینکه این ابزار فایل CSV موجود در بخش منابع خودش را چک میکند. در قالب جدول ذخیرهشده، اطلاعاتی از چندین نسحه کرنل محبوب و آفستهای مرتبط به آنها وجود دارد. TCESB این فایل را خط به خط سرچ میکند تا مطابقتی با نسخه از قبل بدست آمده کرنل ویندوز فعلی بدست بیاورد.
ما فایل CSV موجود در مخزن EDRSandBlast و تاریخچهی تغییرات آن را بررسی کردیم. محتوای فایل CSV در TCESB کاملاً با دادههای CSV موجود در نسخهی EDRSandBlast مربوط به تاریخ ۱۳ آگوست ۲۰۲۲ مطابقت دارد، در حالی که کامیت اصلی بدافزار در تاریخ ۶ اکتبر ۲۰۲۳ خطوطی را اضافه کرده که در منبع TCESB وجود ندارند. این موضوع نشاندهندهی بازه زمانیای است که در آن سازندگان TCESB از کد EDRSandBlast استفاده کردهاند.اگر فایل CSV شامل دادههایی دربارهی ساختارهایی که با نسخهی مورد نیاز هستهی ویندوز مطابقت دارند نباشد، TCESB آدرسهای این ساختارها را از فایل PDB میخواند. برای دریافت این فایل، بدافزار به مسیر زیر دسترسی پیدا میکند:
C:\Windows\System32\ntoskrnl.exe،
که شامل اطلاعات مربوط به نسخهی فایل هسته است،
و سپس دادههای این فایل را در این قالب خاص وارد کرده و یک آدرس URL تولید میکند:
https://msdl.microsoft.com/download/symbols/%s/%08X%04hX%04hX%016llX%X/%s
این آدرس سرور اطلاعاتی دیباگ مایکروسافت است؛ جایی که TCESB درخواست GET برای دانلود فایل PDB ارسال میکند. فایل دریافتی در دایرکتوری TCESB سیو میشود و دادههای روی ساختارهای لازمِ آفستهای مموری کرنل از آن خوانده میشوند.
درایور آسیبپذیر
برای تغییر ساختارهای کرنل که تماسهای بازگشتیمربوط به اطلاعرسانی رویدادهای سیستمی به برنامهها را ذخیره میکنند، ابزار TCESB از تکنیک " درایور آسیبپذیر خودت را بیاور" یا به اختصار[1]BYOVD استفاده میکند.
این تکنیک با عنوان اکسپلویت برای دور زدن مکانیزم دفاعی شناخته میشود.TCESB از درایور Dell DBUtilDrv2.sys استفاده میکند که حاوی آسیبپذیری CVE-2021-36276 است. این یک درایور ابزاری است که برای به روز رسانی درایورهای رایانه شخصی، بایوس و سیستم عامل استفاده میشود.
لانچ پیلود
هنگامی که درایور آسیبپذیر در سیستم نصب میشود، TCESB حلقهای را اجرا میکند که در آن هر دو ثانیه یک بار وجود یک فایل payload با نامی خاص در فهرست فعلی را بررسی میکند - ممکن است در زمان راهاندازی ابزار، پیلود وجود نداشته باشد. احتمالاً، این به اپراتور اجازه میدهد تا تأیید کند که ابزار بدون خطا اجرا شده است، به طوری که فایل پیلود بدون خطر شناسایی منتقل شود. به محض اینکه فایل در مسیر بررسی شده ظاهر شد، به تابع رمزگشایی ارسال می شود. این ابزار، برای ضبط همه مراحل اجرا، لاگ فایل مخصوص خود را درست میکند. ما دو نمونه از ابزار TCESB را مورد بررسی قرار دادیم. گرچه نتوانستیم فایلهای پیلود را بدست آوریم اما تحقیقتمان نشان داد آنها نامهای مختلف دارند (kesp وecore) و هر دو بدون پسوند هستند. تحلیل ما از کد ابزار نشان داد دادههای داخل فایل پیلود با استفاده از AES-128 رمزگذاری شدهاند.
کلید رمزگشایی در 32 بایت اول فایل محموله و به دنبال آن بلوک داده رمزگذاری شده قرار دارد. کلید، بلوک داده را رمزگشایی کرده و دادههای خواندهشده در مموری قرار گرفته و اجرا میشوند.
دریافتها
ما ابزار پیچیدهای را کشف کردیم که گروه ToddyCat APT سعی داشت از آن برای اجرای مخفی در سیستم دستکاریشده استفاده کند. این ابزار زنجیرهای از آسیبپذیریها را به همراه نسخه قدیمی بدافزار منبع باز شناختهشده که مهاجمین برای بسط کارایی آن دستکاری کردند اکسپلویت میکنند. برای شناسایی فعالیت چنین ابزارهایی، توصیه میشود سیستمها را برای رویدادهای نصب شامل درایورهایی با آسیبپذیریهای شناختهشده نظارت کنید. به عنوان مثال، فهرستی از این درایورها را می توان در وب سایت پروژه loldrivers یافت. همچنین ارزش نظارت بر رویدادهای مرتبط با بارگیری نمادهای اشکالزدایی هسته ویندوز در دستگاه هایی را دارد که در آنها اشکالزدایی هسته سیستم عامل مورد انتظار نیست. همچنین توصیه میکنیم از ابزارهای سیستم عامل برای بررسی همه فایلهای کتابخانه سیستم بارگذاری شده برای وجود امضای دیجیتال استفاده کنید.
شاخصهای دستکاری
فایل هشهای مخرب
D38E3830C8BA3A00794EF3077942AD96 version.dll
008F506013456EA5151DF779D3E3FF0F version.dll
فایل قانونی برای پروکسی کردن dll
8795271F02B30980EBD9950FCC141304 ESET Command-line scanner
فایلهای قانونی برای BYOVD
B87944DCC444E4C6CE9BB9FB8A9C0DEF dbutildrv2.INF
DE39EE41D03C97E37849AF90E408ABBE DBUtilDrv2.cat
DACB62578B3EA191EA37486D15F4F83C dbutildrv2.sys
[1] Bring your own vulnerable driver
کسپرسکی آنلاین (ایدکو)
کسپرسکی اسم یکی از بزرگترین شرکتهای امنیتی و سازنده آنتی ویروس است که برخی از کاربران اشتباهاً این شرکت و محصولات آنتی ویروس آن را با عناوینی نظیر کسپرسکای،کاسپرسکی، کسپراسکای، کسپراسکای، و یا کاسپراسکای نیز میشناسد. همچنین لازم به ذکر است مدیرعامل این شرکت نیز یوجین کسپرسکی نام دارد.