طبق گزارش شرکت Kaspersky، یک آسیبپذیری در محصولات مختلف ESET توسط یک گروه APT مورد سوءاستفاده قرار گرفته تا کتابخانههای DLL مخرب را بارگذاری کرده و یک بدافزار را به صورت پنهانی روی سیستم اجرا کند.
این آسیبپذیری با شناسه CVE-2024-11859 بهعنوان نقصی در دستکاری ترتیب جستجوی DLL شناخته میشود که مهاجمان با دسترسی administrator میتوانند از آن برای اجرای کد دلخواه سوءاستفاده کنند.
به گفته Kaspersky، این باگ توسط گروه APT به نام ToddyCat برای بارگذاری ابزار پیچیدهای به نام TCESB مورد سوءاستفاده قرار گرفته است. گروه ToddyCat دستکم از سال ۲۰۲۰ فعال بوده و احتمالاً منشأ آن چین است. این گروه نهادهای مختلفی در اروپا و آسیا، از جمله سازمانهای دولتی، نظامی و شرکتهای مخابراتی را هدف حمله قرار داده است.
ابزار TCESB چیست؟
TCESB که با زبان C++ نوشته شده، میتواند بدون جلب توجه ابزارهای حفاظتی و نظارتی نصبشده بر روی دستگاه، پیلودهای مخرب را اجرا کند. این ابزار میتواند ساختارهای کرنل سیستم عامل را اصلاح کند تا نوتیفیکیشنهای امنیتی مانند ایجاد یک فرایند جدید یا بارگذاری یک ماژول را غیرفعال سازد. شرکت امنیتی Kaspersky توضیح میدهد که TCESB توانایی شناسایی نسخه کرنل ویندوز، بارگذاری درایورهای آسیبپذیر (نظیر Dell DBUtilDrv2.sys) و دریافت پیلودهای اجرایی جهت اجرای در حافظه را دارد. در ادامه این گزارش به تحلیل این بدافزار پرداخته شدهاست.
تحلیل فنی آسیبپذیری CVE-2024-11859
شرکت امنیتی Kaspersky در جریان بررسی رخدادهای مربوط به گروه APT موسوم به ToddyCat در اوایل سال ۲۰۲۴، به موردی مشکوک از یک فایل DLL با نام version.dll در مسیر Temp چندین سیستم آلوده برخورد کرد. این فایل ۶۴-بیتی که به زبان ++C توسعه یافته بود، همان ابزار پیشرفته TCESB است.
محصولات Kaspersky این ابزار را تحت شناسههای Trojan.Win64.ToddyCat.a و Trojan.Win64.ToddyCat.b شناسایی میکنند.
تحلیل ایستا فایل DLL نشان می دهد که تمام توابع صادرشده توسط آن، در واقع همان توابع موجود در فایل اصلی version.dll هستند (کتابخانههایی برای بررسی نسخه و نصب فایل).

این مسئله نشان میدهد که مهاجمان از تکنیکی موسوم به پراکسیسازی DLL استفاده کردهاند. در این تکنیک، یک DLL مخرب تمام توابع یک DLL قانونی را صادر میکند؛ اما به جای پیادهسازی آنها، فراخوانیها را به DLL اصلی ارجاع میدهد. به این ترتیب، اپلیکیشنی که این DLL مخرب را بارگذاری کند، همچنان بهصورت عادی به کار خود ادامه میدهد؛ با این تفاوت که کد مخرب نیز در پسزمینه و در بستر همان برنامه اجرا میشود.

Kaspersky خاطرنشان میکند که این تکنیک تنها زمانی مؤثر است که اپلیکیشن بارگذارنده DLL دارای ضعف امنیتی در بارگذاری کتابخانهها باشد؛ یعنی ابتدا مسیر فعلی (دایرکتوری اجرایی) را بررسی کند، پیش از اینکه به مسیرهای معتبر سیستمی مراجعه کند. این سناریو منجر به بارگذاری نسخهی مخرب DLL بهجای نسخه اصلی میشود.
شناسایی آسیبپذیری در اسکنر خط فرمان ESET
کسپرسکی با بررسی مسیرهایی که فایلهای مخرب در آن قرار داشتند، به فایلی بدون پسوند با نام ecls برخورد که در کنار فایل TCESB قرار داشت. این شرکت امنیتی در اینباره گفته است که اپراتور گروه در هنگام انتقال فایلها به دستگاه، احتمالا دچار اشتباه در نامگذاری شده و دو نسخه از فایل را منتقل کردهاست. پس از انجام فعالیت مخرب، نسخه دارای پسوند حذف شده اما نسخه بدون پسوند در سیستم باقی ماندهاست. طبق تحلیل این شرکت، این فایل یکی از اجزای اسکنر خط فرمان شرکت ESET بوده و بهصورت ناایمن اقدام به بارگذاری version.dll کردهاست.
به گفته کسپرسکی، این رفتار ناایمن منجر به بارگذاری نسخه مخرب DLL و اجرای کد مهاجم میشود. این آسیبپذیری در نهایت با شناسه CVE-2024-11859 به ثبت رسید.
تحلیل ابزار مخرب TCESB
بهمنظور تحلیل بدافزار TCESB، این ابزار توسط شرکت کسپرسکی در یک محیط مجازی اجرا شدهاست. در فضای آدرس پردازش ابزار اسکنر خط فرمان ESET، دو نسخه از فایل version.dll مشاهده میشود: یکی نسخهی سیستمی کتابخانه و دیگری نسخهی DLL مربوط به ابزار مخرب TCESB.
این مسئله نشان میدهد که مهاجمان از تکنیکی موسوم به پراکسیسازی DLL استفاده کردهاند. در این تکنیک، یک DLL مخرب تمام توابع یک DLL قانونی را صادر میکند؛ اما به جای پیادهسازی آنها، فراخوانیها را به DLL اصلی ارجاع میدهد. به این ترتیب، اپلیکیشنی که این DLL مخرب را بارگذاری کند، همچنان بهصورت عادی به کار خود ادامه میدهد؛ با این تفاوت که کد مخرب نیز در پسزمینه و در بستر همان برنامه اجرا میشود.

برای شناسایی قابلیتهای اصلی این ابزار مخرب، رشتههای موجود در فایل DLL آن بررسی شدهاست. رشتهها بدون هیچگونه مبهمسازی ذخیره شدهاند و بیشتر آنها متعلق به ابزار متنباز مخرب EDRSandBlast هستند که به منظور دور زدن راهکارهای امنیتی طراحی شده است. محصولات Kaspersky این ابزار را با شناسهHEUR:HackTool.Win64.EDRSandblast.a شناسایی میکنند.

گروه ToddyCat با استفاده از کد اصلی EDRSandBlast و اعمال تغییراتی بر آن، بدافزار TCESB را توسعه داده و قابلیتهای جدیدی به آن اضافه کردهاند. از جمله این قابلیتها، میتوان به تغییر ساختارهای کرنل سیستمعامل جهت غیرفعالسازی روتینهای اطلاعرسانی اشاره کرد که در ابتدای گزارش توضیح داده شد.
شناسایی نسخه کرنل ویندوز
برای یافتن ساختارهای مورد نیاز در حافظهی کرنل جهت غیرفعالسازی روتینهای اطلاعرسانی، بدافزار ابتدا نسخه کرنل ویندوز را با تابع GetNtoskrnlVersion() مشخص میکند.

سپس برای تعیین آفستهای(offset) حافظهی مرتبط با نسخهی شناساییشده، از فایل CSV و فایل PDB استفاده میکند. نخست، ابزار فایل CSV موجود در بخش منابع خود را بررسی میکند که شامل اطلاعات مربوط به نسخههای پرکاربرد کرنل و آفستهای متناظر آنهاست.

اگر فایل 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 ذخیره میشود و اطلاعات مربوط به آفست ساختارهای حافظهی کرنل از آن استخراج میگردد.
بارگذاری درایور آسیبپذیر
برای تغییر ساختارهای کرنل که وظیفهی ذخیرهی callbackهایی جهت اطلاعرسانی به اپلیکیشنها درباره رویدادهای سیستمی را بر عهده دارند، ابزار مخرب TCESB از تکنیک “BYOVD” یا “درایور آسیب پذیر خود را بیاورید” استفاده می کند.
این ابزار با استفاده از رابط Device Manager و بهرهگیری از یک فایل INF حاوی اطلاعات نصب، اقدام به نصب یک درایور آسیبپذیر در سیستم میکند.

ابزار TCESB از درایور DBUtilDrv2.sys متعلق به شرکت Dell استفاده میکند که دارای آسیبپذیری CVE-2021-36276 است. این درایور یک ابزار کاربردی برای بروزرسانی درایورها، BIOS و فریمور سیستمهای Dell محسوب میشود.
اجرای پیلود مخرب
پس از نصب موفقیتآمیز درایور آسیبپذیر، TCESB وارد یک حلقه میشود که هر دو ثانیه، دایرکتوری فعلی را برای یافتن یک پیلود مخرب با نام مشخص بررسی میکند زیرا این فایل ممکن است در زمان اجرای اولیهی ابزار وجود نداشته باشد.
احتمالا این مکانیزم طراحی شده تا اپراتور بتواند از اجرای صحیح ابزار اطمینان حاصل کند و سپس پیلود مخرب را بدون جلب توجه یا ریسک شناسایی به مسیر مشخصشده منتقل کند. به محض شناسایی فایل موردنظر، آن به تابع رمزگشایی ارسال میشود.

ابزار همچنین یک فایل log اختصاصی ایجاد میکند که تمامی مراحل اجرا را بهصورت دقیق ثبت میکند.

تحلیل کد ابزار نشان داد که دادههای موجود در پیلودها با الگوریتم AES-128 رمزگذاری شدهاند. کلید رمزگشایی در ۳۲ بایت ابتدایی پیلود مخرب قرار دارد و بلافاصله پس از آن، بلوک دادهی رمزنگاریشده آمده است. در ادامه، بخشی از کدی که وظیفهی خواندن کلید را بر عهده دارد آورده شده است:
ابزار همچنین یک فایل log اختصاصی ایجاد میکند که تمامی مراحل اجرا را بهصورت دقیق ثبت میکند.

کلید بهدستآمده برای رمزگشایی بلوک داده استفاده میشود:

دادههای رمزگشاییشده مستقیما در حافظه بارگذاری و اجرا میشوند. زنجیره حمله این بدافزار در تصویر زیر نمایش داده شده است:

انتشار پچ
ESET در ژانویه ۲۰۲۵ پچ امنیتی برای CVE-2024-11859 منتشر کرد و در تاریخ 4 آوریل 2025 نیز با صدور مشاوره امنیتی، اعلام کرد که تقریبا 12 محصول مختلف تحت تأثیر این آسیبپذیری قرار دارند و از کاربران خواست به نسخههای اصلاحشده بهروزرسانی کنند.
ESET در این مشاوره تأکید کردهاست که این تکنیک به خودی خود باعث افزایش سطح دسترسی نمیشود چرا که مهاجم برای اجرای این حمله باید از قبل دارای دسترسی سطح administrator باشد.