Ryuk یکی از معروف ترین گزینه های باج افزار در چند سال اخیر است. از آنجایی که برای اولین بار در تابستان 2018 ظاهر شد، جمع آوری شده است
1. اطلاعات عمومی
این سند حاوی تجزیه و تحلیلی از نوع باج افزار Ryuk و همچنین لودر مسئول بارگذاری بدافزار در سیستم است.
باج افزار Ryuk اولین بار در تابستان 2018 ظاهر شد. یکی از تفاوت های Ryuk با سایر باج افزارها این است که هدف آن حمله به محیط های شرکتی است.
در اواسط سال ۲۰۱۹، گروههای مجرم سایبری با استفاده از این باجافزار به تعداد زیادی از شرکتهای اسپانیایی حمله کردند.
برنج. 1: گزیده ای از El Confidencial در مورد حمله باج افزار Ryuk [1]
برنج. 2: گزیده ای از El País در مورد حمله ای که با استفاده از باج افزار Ryuk انجام شده است [2]
امسال Ryuk به تعداد زیادی از شرکت ها در کشورهای مختلف حمله کرده است. همانطور که در شکل های زیر مشاهده می کنید، آلمان، چین، الجزایر و هند بیشترین ضربه را خوردند.
با مقایسه تعداد حملات سایبری، میتوان دریافت که Ryuk میلیونها کاربر را تحت تأثیر قرار داده و حجم عظیمی از دادهها را در معرض خطر قرار داده است و در نتیجه ضرر اقتصادی شدیدی به همراه داشته است.
برنج. 3: تصویری از فعالیت جهانی Ryuk.
برنج. 4: 16 کشور بیشترین آسیب را از Ryuk دارند
برنج. 5: تعداد کاربران مورد حمله باج افزار Ryuk (به میلیون ها نفر)
طبق اصل عملیاتی معمول چنین تهدیداتی، این باج افزار پس از تکمیل رمزگذاری، یک اعلان باج به قربانی نشان می دهد که باید به صورت بیت کوین به آدرس مشخص شده پرداخت شود تا دسترسی به فایل های رمزگذاری شده بازگردانده شود.
این بدافزار از زمانی که برای اولین بار معرفی شد تغییر کرده است.
گونهای از این تهدید که در این سند مورد تجزیه و تحلیل قرار گرفته است، در طی یک حمله در ژانویه 2020 کشف شد.
به دلیل پیچیدگی، این بدافزار اغلب به گروههای مجرم سایبری سازمانیافته نسبت داده میشود که به گروههای APT نیز معروف هستند.
بخشی از کد Ryuk شباهت قابل توجهی به کد و ساختار باجافزار معروف دیگر، Hermes دارد، که با آن تعدادی از عملکردهای یکسان را به اشتراک میگذارند. به همین دلیل است که Ryuk در ابتدا با گروه کره شمالی Lazarus مرتبط بود که در آن زمان مظنون به داشتن باج افزار هرمس بود.
سرویس Falcon X CrowdStrike متعاقباً اشاره کرد که Ryuk در واقع توسط گروه WIZARD SPIDER [4] ایجاد شده است.
شواهدی برای حمایت از این فرض وجود دارد. ابتدا، این باجافزار در وبسایت exploit.in، که یک بازار بدافزار معروف روسی است و قبلاً با برخی از گروههای APT روسی مرتبط بوده، تبلیغ شد.
این واقعیت این نظریه را رد می کند که Ryuk می توانست توسط گروه Lazarus APT توسعه داده شده باشد، زیرا با روشی که این گروه عمل می کند همخوانی ندارد.
علاوه بر این، Ryuk به عنوان باج افزاری که در سیستم های روسی، اوکراینی و بلاروسی کار نخواهد کرد، تبلیغ شد. این رفتار توسط ویژگی موجود در برخی از نسخههای Ryuk مشخص میشود، جایی که زبان سیستمی را که باجافزار در آن اجرا میشود بررسی میکند و در صورتی که سیستم دارای زبان روسی، اوکراینی یا بلاروسی باشد، از اجرای آن جلوگیری میکند. سرانجام، تجزیه و تحلیل تخصصی دستگاهی که توسط تیم WIZARD SPIDER هک شده بود، چندین «مصنوع» را نشان داد که ظاهراً در توسعه Ryuk به عنوان گونهای از باجافزار هرمس استفاده شدهاند.
از سوی دیگر، کارشناسان گابریلا نیکولائو و لوچیانو مارتینز پیشنهاد کردند که این باج افزار ممکن است توسط گروه APT CryptoTech [5] توسعه یافته باشد.
این از این واقعیت ناشی می شود که چندین ماه قبل از ظهور Ryuk، این گروه اطلاعاتی را در انجمن همان سایت منتشر کردند که نشان می داد نسخه جدیدی از باج افزار هرمس را توسعه داده اند.
چندین کاربر فروم سؤال کردند که آیا CryptoTech واقعاً Ryuk را ایجاد کرده است یا خیر. سپس این گروه از خود دفاع کرد و اظهار داشت که شواهدی در دست دارد که نشان میدهد 100 درصد باجافزار را توسعه دادهاند.
2. خصوصیات
ما با بوت لودر شروع می کنیم که وظیفه آن شناسایی سیستمی است که روی آن قرار دارد تا نسخه «صحیح» باج افزار Ryuk راه اندازی شود.
هش بوت لودر به صورت زیر است:
MD5 A73130B0E379A989CBA3D695A157A495
SHA256 EF231EE1A2481B7E627921468E79BB4369CCFAEB19A575748DD2B664ABC4F469
یکی از ویژگی های این دانلودر این است که حاوی هیچ متادیتا نیست، یعنی. سازندگان این بدافزار هیچ اطلاعاتی را در آن قرار نداده اند.
گاهی اوقات آنها داده های اشتباهی را برای فریب دادن کاربر به این فکر می کنند که یک برنامه قانونی را اجرا می کند. با این حال، همانطور که بعداً خواهیم دید، اگر آلودگی شامل تعامل کاربر نباشد (همانطور که در مورد این باج افزار است)، مهاجمان استفاده از ابرداده را ضروری نمی دانند.
برنج. 6: نمونه متا داده
نمونه در قالب 32 بیتی گردآوری شد تا بتواند در سیستم های 32 بیتی و 64 بیتی اجرا شود.
3. بردار نفوذ
نمونه ای که Ryuk را دانلود و اجرا می کند از طریق یک اتصال راه دور وارد سیستم ما شد و پارامترهای دسترسی از طریق یک حمله RDP اولیه به دست آمد.
برنج. 7: حمله به ثبت نام
مهاجم موفق شد از راه دور وارد سیستم شود. پس از آن یک فایل اجرایی با نمونه ما ایجاد کرد.
این فایل اجرایی قبل از اجرا توسط یک راه حل آنتی ویروس مسدود شده است.
برنج. 8: قفل الگو
برنج. 9: قفل الگو
هنگامی که فایل مخرب مسدود شد، مهاجم سعی کرد یک نسخه رمزگذاری شده از فایل اجرایی را دانلود کند که آن نیز مسدود شد.
برنج. 10: مجموعه ای از نمونه هایی که مهاجم سعی کرد اجرا کند
در نهایت او سعی کرد یک فایل مخرب دیگر را از طریق کنسول رمزگذاری شده دانلود کند
PowerShell برای دور زدن حفاظت آنتی ویروس. اما او هم مسدود شد.
برنج. 11: PowerShell با محتوای مخرب مسدود شده است
برنج. 12: PowerShell با محتوای مخرب مسدود شده است
4. لودر
هنگامی که اجرا می شود، یک فایل ReadMe را در پوشه می نویسد ٪ دمای٪، که برای Ryuk معمولی است. این فایل یک یادداشت باج است که حاوی یک آدرس ایمیل در دامنه protonmail است که در این خانواده بدافزار بسیار رایج است: [ایمیل محافظت شده]
برنج. 13: باج خواهی
هنگامی که بوت لودر در حال اجرا است، می بینید که چندین فایل اجرایی با نام های تصادفی راه اندازی می کند. آنها در یک پوشه مخفی ذخیره می شوند عمومی، اما اگر گزینه در سیستم عامل فعال نباشد "نمایش فایل ها و پوشه های مخفی"، سپس آنها پنهان می مانند. علاوه بر این، این فایل ها برخلاف فایل اصلی که 64 بیتی است، 32 بیتی هستند.
برنج. 14: فایل های اجرایی که توسط نمونه راه اندازی می شوند
همانطور که در تصویر بالا می بینید، Ryuk icacls.exe را راه اندازی می کند، که برای اصلاح تمام ACL ها (لیست های کنترل دسترسی) استفاده می شود، بنابراین دسترسی و اصلاح پرچم ها را تضمین می کند.
بدون در نظر گرفتن خطاهای (/C) و بدون نمایش هیچ پیامی (/Q) تحت همه کاربران به همه فایلهای روی دستگاه (/T) دسترسی کامل دارد.
برنج. 15: پارامترهای اجرای icacls.exe توسط نمونه راه اندازی شد
توجه به این نکته ضروری است که Ryuk بررسی می کند که کدام نسخه ویندوز را اجرا می کنید. برای این او
با استفاده از نسخه چک می کند GetVersionExW، که در آن مقدار پرچم را بررسی می کند lpVersionInformationنشان می دهد که آیا نسخه فعلی ویندوز جدیدتر از ویندوز XP.
بسته به این که آیا نسخه ای دیرتر از ویندوز XP را اجرا می کنید، بوت لودر در پوشه کاربر محلی - در این مورد در پوشه می نویسد. ٪عمومی٪.
برنج. 17: بررسی نسخه سیستم عامل
فایل در حال نوشتن Ryuk است. سپس آن را اجرا می کند و آدرس خود را به عنوان پارامتر ارسال می کند.
برنج. 18: Ryuk را از طریق ShellExecute اجرا کنید
اولین کاری که Ryuk انجام می دهد دریافت پارامترهای ورودی است. این بار دو پارامتر ورودی (خود فایل اجرایی و آدرس dropper) وجود دارد که برای حذف ردپای خود استفاده می شود.
برنج. 19: ایجاد یک فرآیند
همچنین می توانید ببینید که پس از اجرای فایل های اجرایی خود، خود را حذف می کند، بنابراین هیچ اثری از حضور خود در پوشه ای که در آن اجرا شده است باقی نمی ماند.
برنج. 20: حذف یک فایل
5. RYUK
5.1 حضور
Ryuk مانند سایر بدافزارها سعی می کند تا زمانی که ممکن است در سیستم باقی بماند. همانطور که در بالا نشان داده شد، یکی از راه های رسیدن به این هدف، ایجاد و اجرای مخفیانه فایل های اجرایی است. برای انجام این کار، رایج ترین روش تغییر کلید رجیستری است CurrentVersionRun.
در این صورت می بینید که برای این منظور اولین فایلی که راه اندازی می شود VWjRF.exe
(نام فایل به صورت تصادفی تولید می شود) راه اندازی می شود cmd.exe را.
برنج. 21: اجرای VWjRF.exe
سپس دستور را وارد کنید RUN با نام "svchosبنابراین، اگر می خواهید کلیدهای رجیستری را در هر زمان بررسی کنید، با توجه به شباهت این نام با svchost، می توانید به راحتی این تغییر را از دست بدهید. به لطف این کلید، Ryuk حضور خود را در سیستم تضمین می کند. اگر سیستم این کار را نکرده باشد. هنوز آلوده شده اید، پس از راه اندازی مجدد سیستم، فایل اجرایی دوباره امتحان می کند.
برنج. 22: نمونه حضور در کلید رجیستری را تضمین می کند
همچنین می توانیم ببینیم که این فایل اجرایی دو سرویس را متوقف می کند:
"سازنده نقطه پایان صوتی"، که همانطور که از نامش پیداست، مربوط به سیستم صوتی است،
برنج. 23: نمونه سرویس صوتی سیستم را متوقف می کند
и سامس، که یک سرویس مدیریت حساب است. توقف این دو سرویس از ویژگی های Ryuk است. در این حالت، اگر سیستم به یک سیستم SIEM متصل باشد، باج افزار سعی می کند ارسال را متوقف کند.
برنج. 24: نمونه سرویس Samss را متوقف می کند
5.2 امتیازات
به طور کلی، Ryuk با حرکت جانبی در شبکه شروع می شود یا توسط بدافزار دیگری راه اندازی می شود.
پیش از آن، به عنوان مقدمه ای برای روند اجرا، شاهد اجرای این فرآیند هستیم جعل هویت، به این معنی که محتویات امنیتی رمز دسترسی به جریان ارسال می شود و بلافاصله با استفاده از آن بازیابی می شود. GetCurrentThread.
برنج. 25: با هویت خود تماس بگیرید
سپس می بینیم که یک توکن دسترسی را با یک رشته مرتبط می کند. همچنین می بینیم که یکی از پرچم ها است DesiredAccess، که می تواند برای کنترل دسترسی ای که موضوع خواهد داشت استفاده شود. در این مورد مقداری که edx دریافت می کند باید باشد TOKEN_ALL_ACESS یا درغیر این صورت - TOKEN_WRITE.
برنج. 26: ایجاد یک توکن جریان
سپس او استفاده خواهد کرد SeDebugPrivilege و برای دریافت مجوزهای Debug در رشته تماس برقرار می کند که در نتیجه PROCESS_ALL_ACCESS، او قادر خواهد بود به هر فرآیند مورد نیاز دسترسی پیدا کند. اکنون، با توجه به اینکه رمزگذار از قبل یک جریان آماده شده دارد، تنها چیزی که باقی می ماند این است که به مرحله نهایی بروید.
برنج. 27: فراخوانی عملکرد SeDebugPrivilege و Privilege Escalation
از یک طرف، LookupPrivilegeValueW را داریم که اطلاعات لازم را در مورد امتیازاتی که می خواهیم افزایش دهیم در اختیار ما قرار می دهد.
برنج. 28: درخواست اطلاعات در مورد امتیازات برای افزایش امتیاز
از طرفی داریم AdjustToken Privileges، که به ما امکان می دهد حقوق لازم را برای جریان خود به دست آوریم. در این مورد، مهمترین چیز این است نیواستیت، که پرچم آن امتیازات را اعطا می کند.
برنج. 29: تنظیم مجوز برای یک توکن
5.3 پیاده سازی
در این بخش نشان خواهیم داد که نمونه چگونه فرآیند پیاده سازی را که قبلا در این گزارش ذکر شد انجام می دهد.
هدف اصلی فرآیند پیاده سازی و همچنین تشدید، دسترسی به کپی های سایه. برای انجام این کار، او باید با یک رشته با حقوق بالاتر از حقوق کاربر محلی کار کند. هنگامی که چنین حقوق بالایی را به دست آورد، کپی ها را حذف می کند و تغییراتی در سایر فرآیندها ایجاد می کند تا بازگشت به نقطه بازیابی قبلی در سیستم عامل غیرممکن شود.
همانطور که در مورد این نوع بدافزار معمول است، از آن استفاده می کند CreateToolHelp32Snapshotبنابراین یک عکس فوری از فرآیندهای در حال اجرا می گیرد و سعی می کند با استفاده از آن به آن فرآیندها دسترسی پیدا کند OpenProcess. هنگامی که به فرآیند دسترسی پیدا کرد، یک توکن با اطلاعات خود نیز برای به دست آوردن پارامترهای فرآیند باز می کند.
برنج. 30: بازیابی فرآیندها از رایانه
ما میتوانیم به صورت پویا ببینیم که چگونه با استفاده از CreateToolhelp140002Snapshot لیست فرآیندهای در حال اجرا را در روتین 9D32C دریافت میکند. پس از دریافت آنها، او لیست را مرور می کند و سعی می کند با استفاده از OpenProcess فرآیندها را یکی یکی باز کند تا زمانی که موفق شود. در این مورد، اولین فرآیندی که او توانست باز کند این بود "taskhost.exe".
برنج. 31: به صورت پویا یک رویه برای دریافت یک فرآیند اجرا کنید
می بینیم که متعاقباً اطلاعات توکن فرآیند را می خواند، بنابراین فراخوانی می کند OpenProcessToken با پارامتر "20008"
برنج. 32: اطلاعات نشانه فرآیند را بخوانید
همچنین بررسی میکند که فرآیندی که به آن تزریق میشود نیست csrss.exe, explorer.exe، lsaas.exe یا اینکه او یکسری حقوق دارد اقتدار NT.
برنج. 33: فرآیندهای مستثنی شده
ما می توانیم به صورت پویا ببینیم که چگونه ابتدا با استفاده از اطلاعات رمز پردازش در آن، بررسی را انجام می دهد 140002D9C برای اینکه بفهمیم آیا حسابی که از حقوق آن برای اجرای یک فرآیند استفاده می شود یک حساب است یا خیر مرجع NT.
برنج. 34: بررسی NT AUTHORITY
و بعداً، خارج از رویه، او بررسی می کند که اینطور نیست csrss.exe، explorer.exe یا lsaas.exe.
برنج. 35: بررسی NT AUTHORITY
هنگامی که او یک عکس فوری از فرآیندها گرفت، فرآیندها را باز کرد و تأیید کرد که هیچ یک از آنها مستثنی نشدهاند، آماده است تا فرآیندهایی را که تزریق میشوند در حافظه بنویسد.
برای انجام این کار، ابتدا یک منطقه در حافظه ذخیره می کند (VirtualAllocEx، در آن می نویسد (WriteProcessmemory) و یک رشته ایجاد می کند (ایجاد RemoteThread). برای کار با این توابع، از PIDهای فرآیندهای انتخاب شده استفاده می کند که قبلاً با استفاده از آنها به دست آورده بود CreateToolhelp32Snapshot.
برنج. 36: کد را جاسازی کنید
در اینجا می توانیم به صورت پویا مشاهده کنیم که چگونه از PID فرآیند برای فراخوانی تابع استفاده می کند VirtualAllocEx.
برنج. 37: با VirtualAllocEx تماس بگیرید
5.4 رمزگذاری
در این بخش، به بخش رمزگذاری این نمونه میپردازیم. در تصویر زیر دو زیربرنامه به نام "LoadLibrary_EncodeString"و"Encode_Func"، که وظیفه انجام فرآیند رمزگذاری را بر عهده دارند.
برنج. 38: رویه های رمزگذاری
در ابتدا میتوانیم ببینیم که چگونه رشتهای را بارگذاری میکند که بعداً برای رفع ابهامزدایی از همه چیز مورد نیاز استفاده میشود: واردات، DLL، دستورات، فایلها و CSP.
برنج. 39: مدار رفع ابهام
شکل زیر اولین ورودی را نشان می دهد که در رجیستر R4 ابهام زدایی می کند. بارگذاری. این بعداً برای بارگیری DLL های مورد نیاز استفاده می شود. همچنین میتوانیم خط دیگری را در رجیستر R12 ببینیم که به همراه خط قبلی برای انجام deobfuscation استفاده میشود.
برنج. 40: رفع ابهام پویا
به دانلود دستوراتی ادامه میدهد که بعداً برای غیرفعال کردن پشتیبانگیری، نقاط بازیابی و حالتهای راهاندازی ایمن اجرا میشود.
برنج. 41: بارگذاری دستورات
سپس مکانی را که در آن 3 فایل رها می کند بارگیری می کند: Windows.bat، run.sct и start.bat.
برنج. 42: مکان های فایل
این 3 فایل برای بررسی امتیازاتی که هر مکان دارد استفاده می شود. اگر امتیازات مورد نیاز در دسترس نباشد، Ryuk اجرا را متوقف می کند.
به بارگذاری خطوط مربوط به سه فایل ادامه می دهد. اولین، DECRYPT_INFORMATION.html، حاوی اطلاعات لازم برای بازیابی فایل ها است. دومین، عمومی، حاوی کلید عمومی RSA است.
برنج. 43: خط DECRYPT INFORMATION.html
سوم، UNIQUE_ID_DO_NOT_REMOVE، حاوی کلید رمزگذاری شده ای است که در روال بعدی برای انجام رمزگذاری استفاده می شود.
برنج. 44: شناسه منحصر به فرد خط حذف نشود
در نهایت، کتابخانه های مورد نیاز را به همراه واردات و CSP های مورد نیاز دانلود می کند (Microsoft Enhanced RSA и ارائه دهنده رمزنگاری AES).
برنج. 45: بارگیری کتابخانه ها
پس از اتمام تمام deobfuscation، اقدامات لازم برای رمزگذاری را انجام می دهد: شمارش تمام درایوهای منطقی، اجرای آنچه در روال قبلی بارگذاری شده بود، تقویت حضور در سیستم، حذف فایل RyukReadMe.html، رمزگذاری، شمارش تمام درایوهای شبکه ، انتقال به دستگاه های شناسایی شده و رمزگذاری آنها.
همه چیز با بارگذاری شروع می شود"cmd.exe را"و رکوردهای کلید عمومی RSA.
برنج. 46: آماده شدن برای رمزگذاری
سپس تمام درایوهای منطقی را با استفاده از آن دریافت می کند GetLogicalDrives و تمام پشتیبان گیری ها، نقاط بازیابی و حالت های ایمن بوت را غیرفعال می کند.
برنج. 47: غیرفعال کردن ابزارهای بازیابی
پس از آن، همانطور که در بالا دیدیم، حضور خود را در سیستم تقویت می کند و اولین فایل را می نویسد RyukReadMe.html в TEMP.
برنج. 48: انتشار آگهی دیه
در تصویر زیر می توانید ببینید که چگونه یک فایل ایجاد می کند، محتوا را دانلود می کند و آن را می نویسد:
برنج. 49: بارگیری و نوشتن محتویات فایل
برای اینکه بتواند اعمال یکسانی را در همه دستگاه ها انجام دهد، استفاده می کند
"icacls.exe"، همانطور که در بالا نشان دادیم.
برنج. 50: استفاده از icalcls.exe
و در نهایت، شروع به رمزگذاری فایلها به جز فایلهای «*.exe»، «*.dll»، فایلهای سیستم و مکانهای دیگر مشخصشده در قالب یک لیست سفید رمزگذاریشده میکند. برای این کار از import استفاده می کند: CryptAcquireContextW (جایی که استفاده از AES و RSA مشخص شده است)، CryptDeriveKey، CryptGenKey, CryptDestroyKey و غیره. همچنین تلاش می کند با استفاده از WNetEnumResourceW دسترسی خود را به دستگاه های شبکه کشف شده گسترش دهد و سپس آنها را رمزگذاری کند.
برنج. 51: رمزگذاری فایل های سیستم
6. واردات و پرچم های مربوطه
در زیر جدولی وجود دارد که مرتبط ترین واردات و پرچم های استفاده شده توسط نمونه را فهرست می کند:
7. IOC
مراجع
- usersPublicrun.sct
- Start MenuProgramsStartupstart.bat AppDataRoamingMicrosoftWindowsStart
- MenuProgramsStartupstart.bat
یک گزارش فنی در مورد باج افزار Ryuk توسط کارشناسان آزمایشگاه آنتی ویروس PandaLabs گردآوری شد.
8. پیوندها
1. "Everis y Prisa Radio sufren un grave ciberataque que secuestra sus sistemas."https://www. elconfidencial.com/tecnologia/2019-11-04/everis-la-ser-ciberataque-ransomware-15_2312019/، Publicada el 04/11/2019.
2. "Un virus de origen ruso ataca a importantes empresas españolas." https: //elpais.com/tecnologia/2019/11/04/actualidad/1572897654_ 251312.html، Publicada el 04/11/2019.
3. "مقاله VB2019: انتقام شینیگامی: دم بلند بدافزار Ryuk." https://securelist.com/story-of-the-year-2019-cities-under-ransomware-siege/95456/، Publicada el 11 /12/2019
4. “Big Game Hunting with Ryuk: Another LucrativebTargeted Ransomware.”https://www. crowdstrike.com/blog/شکار-بازی-بزرگ-با-ریوک-دیگر-باج افزار-هدف-پردرآمد/، Publicada el 10/01/2019.
5. "کاغذ VB2019: انتقام شینیگامی: دم بلند بدافزار Ryuk." https://www. virusbulletin.com/virusbulletin/2019/10/ vb2019-paper-shinigami-revenge-long-tail-r
منبع: www.habr.com