کارشناسان آزمایشگاه کسپرسکی با تجزیه و تحلیل حمله سایبری به یک سازمان ناشناس در کلمبیا که در چند مرحله انجام شده است، باج افزار جدیدی به نام Ymir را کشف کردند که با استفاده از مکانیزمهای پیشرفته قادر به دور زدن سیستمهای شناسایی و رمزگذاری دادههای سازمانی قربانیان است.
نام این بدافزار از قمر زحل گرفته شده است که در مداری خلاف جهت چرخش سیاره در حال حرکت است. این نام نشان دهنده ترکیب غیر استاندارد توابع مدیریت حافظه است که توسط Ymir استفاده میشود.
این بدافزار قادر به بای پس (دور زدن) مکانیزم تشخیص پیشرفته از جمله طیف گستردهای از عملیاتی است که با فراخوانی توابع malloc، memmove و memcmpدر حافظه انجام میشوند.
مهاجمان در این حمله توانستند با استفاده از فرمان پاورشل (PowerShell) از راه دور به سیستم دسترسی پیدا کنند؛ پس از آن ابزارهای متعددی برای اعمال فعالیتهای مخرب از جمله Process Hacker و Advanced IP Scanner نصب کرده و درنهایت با تضعیف امنیت سیستم، باج افزار Ymir را برای رسیدن به اهداف خود مستقر کردند.
مهاجمان از بدافزار رباینده RustyStealer برای سرقت دادههای لاگین کارکنان شرکت استفاده کردهاند. این بدافزار به آنها اجازه میدهد تا به سیستم دسترسی داشته باشند و کنترل آن را حفظ نمایند تا زمان کافی برای پیاده سازی باج افزار Ymir داشته باشند.
RustyStealer، اساساً یک ابزار جمعآوری دادههای لاگین است که مهاجمان را قادر میسازد تا با هک حسابهای قانونی دارای سطح دسترسی بالا و حرکت جانبی در شبکه، به سیستمها دسترسی غیرمجاز داشته باشند. حرکت جانبی در سراسر شبکه با استفاده از ابزارهایی مانند Windows Remote Management (WinRM) و PowerShell برای کنترل از راه دور تسهیل شده است.
هکرها سپس، اسکریپتهای مرتبط با بدافزار SystemBC را اجرا کرده و کانالهای مخفی را، احتمالاً برای استخراج دادهها یا اجرای فرمان، ایجاد کردهاند. این اسکریپتها، استخراج دادهها را به یک IP راه دور برای فایلهای بیش از 40 کیلوبایت که پس از یک تاریخ مشخص ایجاد شدهاند، فعال میکنند.
ما در این مقاله با استناد به گزارش کسپرسکی به آنالیز و بررسی باج افزار Ymir، تاکتیکها، تکنیکها و متدهای مورد استفاده مهاجمان خواهیم پرداخت.
تجزیه و تحلیل استاتیک باج افزار Ymir
متخصصان امنیت سایبری کسپرسکی تحلیل و آنالیز خود را با بررسی نمونه اولیه آرتیفکتها آغاز کردند. آنها ابتدا ویژگیهای نوع فایل، رشتهها و عملکرد مربوطه را همانطور که در جدول و تصویر زیر مشاهده میکنید، مورد بررسی قرار دادند:
Hash | مقدار |
MD5 | 12acbb05741a218a1c83eaa1cfc2401f |
SHA-1 | |
SHA-256 | cb88edd192d49db12f444f764c3bdc287703666167a4ca8d533d51f86ba428d8 |
مهاجمان در این حمله از ترکیب غیر استانداردی از توابع malloc، memmov و memcmp برای اجرای کدهای مخرب به طور مستقیم در حافظه استفاده کردهاند. این رویکرد به هکرها این امکان را میدهد که به طور مؤثرتری از شناسایی شدن اجتناب کنند.
Ymir پس از راهاندازی، شناسایی سیستم را با دریافت تاریخ و زمان سیستم، شناسایی فرآیندهای در حال اجرا و بررسی زمان کارکرد سیستم انجام میدهد، که میتواند به تعیین اینکه آیا در سندباکس اجرا میشود یا خیر کمک کند.
باینری نیز به دلیل وارد کردن توابعی مانند CryptAcquireContextA، CryptReleaseContext، CryptGenRandom، TerminateProcess و WinExec از کتابخانههای سیستم عامل مشکوک میباشد. این فراخوانیهای API اغلب در نمونههای مختلف باج افزار وجود دارند.
اگرچه اکثر دادههای نمونه در زمان اجرا در حافظه آنپک میشوند اما متخصصان توانستند برخی از شاخصهای مفید را در رشتههای فایل باینری بیابند، از جمله این موارد میتوان به نام فایل اخاذی و محتویات موجود یک فایل PDF، پسوند فایلهای رمزگذاری شده، فرمانهای پاورشل و هشهای مورد استفاده در الگوریتمهای رمزگذاری اشاره کرد.
جدول زیر نشان دهنده شاخصهای مفید رشته است که متخصصان در طول تجزیه و تحلیل این باج افزار یافتهاند:
نوع | مقدار | شرح |
رشته (فرمان) | powershell -w h -c Start-Sleep -Seconds 5; Remove-Item -Force –Path | حذف خودکار اجرای فرمان از طریق پاورشل. |
رشته(URL) | hxxps://github[.]com/qTox/qTox/releases/download/v1.17.6/setup-qtox-x86_64-release.exe | در PDF، نرم افزار (qTox client) برای ارتباط با مهاجمان استفاده می شود. |
رشته | 6C5oy2dVr6 | پسوند رمزگذاری |
رشته(نام فایل) | INCIDENT_REPORT.pdf | نام فایل PDFبرای اخاذی ، PDFها در دایرکتوری های مختلفی قرار می گیرند. |
رشته (داده) | D:20240831154833-06’00’ | متادیتا تاریخ ایجاد PDF |
رشته | x64dbg | نام دیباگر |
تجزیه و تحلیل استاتیک نشان میدهد که PDF مورد استفاده به عنوان فایل اخاذی در بخش data. فایل باینری قرار دارد. اطلاعات هاردکد شده در این نوع فایلها برای ایجاد قوانین شناسایی و IOCها بسیار مفید هستند.
بدافزار پس از رسیدن به عملکرد اصلی، سایر توابع را برای به دست آوردن اطلاعات لازم در مورد سیستم فراخوانی میکند. متخصصان برای ساده کردن تحلیل خود، نام یکی از توابع را به Get_System_Information تغییر دادند.
باج افزار، اطلاعات سیستم را با استفاده از فراخوانیهای API زیر جمع آوری میکند:
- GetSystemTimeAsFileTime: تاریخ و زمان فعلی سیستم را بازیابی میکند.
- GetCurrentProcessId: شناسه فرآیند جاری (PID) را دریافت میکند.
- GetCurrentThreadId: شناسه رشته فراخوانی را بازیابی میکند.
- GetTickCount: مدت زمانی که سیستم در حال اجرا بوده است را برحسب میلی ثانیه دریافت میکند. این API برای تشخیص اینکه آرتیفکت در حال دیباگ است یا خیر، استفاده میشود.
- QueryPerformanceCounter: مقدار فعلی شمارنده تابع را بازیابی میکند و میتواند برای اندازه گیری بازه زمانی استفاده شود.
باج افزار Ymir همچنین دارای محدودیتهای اجرایی است که توسط پارامترهای خاصی فعال میشوند. به عنوان مثال، پارامتر path– فرآیند self-delete را غیرفعال میکند و به مهاجم اجازه میدهد از باینری در دایرکتوریهای دیگر نیز استفاده کند.
متخصصان هنگام مهندسی معکوس نمونه متوجه شدند که آرتیفکت حاوی کدی برای توابع مربوط به CryptoPP، یک کتابخانه منبع باز به زبان C++ است و برای عملیات رمزگذاری استفاده میشود.
این بدافزار همچنین دارای یک لیست هاردکد شده از پسوندهای نام فایل است تا مانع از رمزگذاری آنها شود.
تحلیل پویای باج افزار Ymir
متخصصان کسپرسکی زمانی که باج افزار در حال اجرا بود صدها فرخوانی به تابع memmove را یافتند. آنها پس از تجزیه و تحلیل دادهها متوجه شدند که نمونه کوچکی از دستورالعملها برای پیاده سازی تابع مخرب در حافظه بارگذاری شده است.
باج افزار Ymir به طور مداوم از توابع memmove استفاده میکند درحالی که دایرکتوریهای فرعی و فایلهای سیستم آلوده را شمارش کرده تا در زمان دیگری آنها را رمزگذاری کند.
Ymir از تابع RtlCopyMemory کتابخانه ntdll.dllبرای بارگیری کتابخانههای اضافی مانند CRYPTSP.dll، rsaenh.dll، bcrypt.dll و kernelbase.dllاستفاده میکند.
باج افزار Ymir از ChaCha20، یک الگوریتم رمزگذاری پیشرفته و سریع، به منظور رمزگذاری فایلها در سیستم قربانی استفاده میکند و پسوند .6C5oy2dVr6 را به انتهای هر فایل رمزگذاری شده میافزاید.
علاوه براین، باج افزار Ymir محتویات فایل PDF را از قسمت .data کپی کرده و با استفاده از توابع _write و _fsopenدر هر دایرکتوری سیستم یک یادداشت اخاذی به فرمت PDF قرار میدهد.
یادداشت اخاذی، قربانیان را از آنچه برای سیستم رخ داده است آگاه میکند و به آنها دستور میدهد برای مذاکره با مهاجمان تماس حاصل نمایند. اگرچه در این پیام ذکر شده است که مهاجمان دادههای رایانه آلوده را ربودهاند، اما این باج افزار دارای قابلیتهای شبکهای برای استخراج داده نیست.
این موضوع محققان را به این باور رساند که هکرها پس از دسترسی به رایانه، از طریق HTTP، FTP یا بارگذاریهای ذخیره سازی ابری، دادهها را با روشهای دیگری ربودهاند.
باج افزار Ymir همچنین مقدار “legalnoticecaption” رجیستری ویندوز را تغییر میدهد تا قبل از ورود کاربر به دستگاه رمزگذاری شده، درخواست اخاذی را به او نمایش دهد. Ymir در نهایت، سیستم را برای وجود PowerShell اسکن میکند و از آن برای حذف فایل اجرایی خود استفاده میکند تا شناسایی نگردد.
متخصصان در بررسیهای خود رشته عجیبی را مشاهده کردند که یک کامنت به زبان لینگالا است. این زبان در جمهوری دموکراتیک کنگو، جمهوری کنگو، آنگولا و جمهوری آفریقای مرکزی استفاده میشود.
واقعیت جالب دیگر این است که بدافزار به هنگام استفاده از تابع RtlCopyMemory در هر دایرکتوری فرعی، پاورشل را جستجو میکند. هنگامی که بدافزار پاورشل را یافت، خود را با استفاده از آن حذف میکند.
نمودار زیر خلاصهای از اجرای باج افزار Ymir را نمایش می دهد. توجه داشته باشید که تنها فرآیند child (فرزند) ایجاد شده، powershell.exe است. بدافزار یک نمونه PowerShell را ایجاد میکند. پاورشل متعاقباً، conhost.exe را نیز فراخوانی میکند که برای اجرای سرویسها در پس زمینه استفاده میشود.
این بدافزار، پاورشل را با استفاده از cmdlet Start-Sleep فراخوانی میکند، پنج ثانیه صبر کرده و سپس فرمان Remove-Item را برای حذف خود از رایانه استفاده میکند.
قانون YARA
متخصصان کسپرسکی براساس تجزیه و تحلیل نمونه، قانون YARA زیر را برای شناسایی این تهدید ایجاد کردند.
import "pe"
rule Ymir
{
meta:
author = "Kaspersky - GERT"
description = "Yara rule for detecting the Ymir ransomware."
target_entity = "file"
strings:
$s1 = "powershell -w h -c Start-Sleep -Seconds 5; Remove-Item -Force -Path"
wide ascii nocase
$s2 = "setup-qtox-x86_64-release.exe" wide ascii nocase
$s3 = "6C5oy2dVr6" wide ascii nocase
$s4 = "INCIDENT_REPORT.pdf" wide ascii nocase
$s5 = "D:20240831154833-06" wide ascii nocase
$s6 = "ChaCha" wide ascii nocase
$s7 = "x64dbg" wide ascii nocase
condition:
(3 of ($s*)) and pe.imports("msvcrt.dll", "memmove")
تله متری
متخصصان کسپرسکی، حملات باج افزار Ymir را اولین بار در کلمبیا شناسایی کردند اما با استفاده از قانون YARA ارائه شده، توانستند نمونهای مشابه را در یکی از پورتالهای اطلاعاتی تهدید که منشا آن پاکستان بود، بیابند. آنها فرض را بر این گذاشتند که مهاجم از VPN یا Tor برای مخفی کردن آدرس IP خود استفاده کرده است.
نتیجه گیری
باج افزار Ymir تهدید بزرگی برای سازمانها به شمار میآید و بیانگر وجود گروههای هک جدیدی است که میتوانند توسط بدافزارهای سفارشی و پیچیده بر کسب و کارها و شرکتها تاثیر بگذارند.
این خانواده جدید باج افزاری بر یک طرح رمزگذاری قوی متکی است که رمزگشایی فایلهای قربانیان را غیر ممکن میسازد. گروهی که پشت این تهدید سایبری قرار دارند، هنوز سایت اختصاصی یا اطلاعات بیشتری ارائه نکردهاند.
تاکتیکها، تکنیکها و متدها
تاکتیکها، تکنیکها و متدهای باج افزار Ymir در جدول زیر ارائه شده است:
تاکتیکها، تکنیکها، متدهای RustyStealer:
IOCها
هشهای فایل
3648359ebae8ce7cacae1e631103659f5a8c630e
fe6de75d6042de714c28c0a3c0816b37e0fa4bb3
f954d1b1d13a5e4f62f108c9965707a2aa2a3c89 (INCIDENT_REPORT.pdf)
5ee1befc69d120976a60a97d3254e9eb
5384d704fadf229d08eab696404cbba6
39df773139f505657d11749804953be5
8287d54c83db03b8adcdf1409f5d1c9abb1693ac8d000b5ae75b3a296cb3061c
51ffc0b7358b7611492ef458fdf9b97f121e49e70f86a6b53b93ed923b707a03
b087e1309f3eab6302d7503079af1ad6af06d70a932f7a6ae1421b942048e28a