محققان امنیتی شرکت ترندمیکرو با بهرهبرداری از نقصهای امنیتی شناخته شده در سرور WebLogic اوراکل، عملیات استخراج ارز دیجیتال را که توسط گروه Water Sigbin (معروف به گروه 8220) انجام شده بود، پیاده سازی کردند.
Water Sigbin یک گروه سایبری مستقر در چین است که حداقل از سال 2017 فعال میباشد. این گروه بر روی استقرار بدافزار استخراج ارز دیجیتال، عمدتاً در محیطهای ابری و سرورهای لینوکس متمرکز است.
نکات کلیدی:
- این گروه سایبری تحت نام Water Sigbin دنبال میشود.
- گروه Water Sigbin به سوء استفاده از CVE-2017-3506 و CVE-2023-21839 برای استقرار ماینرهای ارز دیجیتال از طریق اسکریپت PowerShell معروف است.
- گروه Water Sigbin از تکنیک اجرای بدون فایل استفاده میکند.
گروه 8220، تکنیک اجرای بدون فایل (fileless execution) را به کار گرفته و با استفاده از تزریق انعکاسی DLL (یا DLL reflective injection) و تزریق فرآیند، به کد بدافزار اجازه میدهد تا صرفاً در حافظه اجرا شود و از مکانیزمهای تشخیص مبتنی بر دیسک جلوگیری کند.
گروه Water Sigbin با انگیزه مالی به سوء استفاده از آسیب پذیریهای (مانند CVE-2017-3506، CVE-2017-10271 و CVE-2023-21839) موجود در سرور WebLogic اوراکل برای ایجاد دسترسی اولیه و استقرار ماینر از طریق تکنیک بارگذاری چند مرحلهای، معروف است.
ما در این مقاله با استناد به گزارش شرکت ترندمیکرو، تکنیک بارگذاری چند مرحلهای مورد استفاده برای تحویل لودر PureCrypter و کریپتو ماینر XMRIG را بررسی خواهیم کرد. تمام پیلودهای مورد استفاده در این حملات با استفاده از Net Reactor.، یک نرم افزار حفاظت از کد دات نت (NET.)، محافظت میشوند تا در برابر مهندسی معکوس ایمن باشند.
این نوع حفاظت، از تکنیکهای آنتی دیباگ استفاده کرده و کد را مبهم میکند که در نتیجه درک و تکرار کد توسط دیگران دشوار خواهد شد. این پیلود از طریق بهره برداری از CVE-2017-3506 تحویل داده میشود. شکل 1، پیلود این حمله را نمایش میدهد.
دیاگرام حمله گروه Water Sigbin
زنجیره حمله گروه Water Sigbin به شرح زیر است.
تحلیل فنی
دسترسی اولیه
گروه Water Sigbin پس از بهره برداری موفق از CVE-2017-3506، یک اسکریپت PowerShell را بر روی ماشین تحت نفوذ، مستقر میکند. این اسکریپت، وظیفه رمزگشایی پیلود مرحله اول که توسط Base64 رمزگذاری شده است را بر عهده دارد.
بدافزار، لودر مرحله اول را در دایرکتوری temp تحت نام wireguard2-3.exe مستقر کرده و سپس آن را اجرا میکند. این بدافزار، برنامه قانونی WireGuad VPN را جعل و شبیه سازی کرده است.
لودر مرحله اول
جزئیات لودر مرحله اول به شرح زیر است:
نام فایل | SHA256 | اندازه | نوع |
wireguard2-3.exe | f4d11b36a844a68bf9718cf720984468583efa6664fc99966115a44b9a20aa33 | 5.82 MB (6102016 bytes) | EXE |
فایل wireguard2-3.exe، یک تروجان لودر است که وظیفه رمزگشایی، نگاشت و اجرای یک پیلود مرحله دوم در حافظه را بر عهده دارد. این لودر به صورت پویا یک باینری دیگر را از منبع مشخص Chgnic.Properties.Resources.resources (به نام Qtyocccmt) بازیابی، لود و اجرا میکند که در نهایت به Zxpus.dll منتهی میگردد.
بدافزار با استفاده از تکنیک DLL reflective injection (برای اجرا در حافظه)، توانایی خود را به طور قابل توجهی به منظور فرار از شناسایی و انجام موثر فعالیتهای مخرب افزایش میدهد.
لودر مرحله دوم
جزئیات لودر مرحله دوم به شرح زیر است:
نام فایل | SHA256 | اندازه | نوع |
Zxpus.dll | 0bf87b0e65713bf35c8cf54c9fa0015fa629624fd590cb4ba941cd7cdeda8050 | 2.7 MB (2859008 bytes) | DLL |
این DLL، لودر تروجان دیگری است که به صورت پویا یک باینری به نام Vewijfiv را از منابع خود بازیابی کرده و آن را توسط الگوریتم رمزگذاری AES و یک کلید مشخص و IV رمزگشایی میکند.
پیلود رمزگشایی شده سپس با استفاده از GZip از حالت فشرده خارج میشود و توسط protobuf-net، غیردنباله سازی[1] میشود و پیکربندی لودر را مشخص میکند. جزئیات این پیکربندی شامل نام فرآیندی است که باید ایجاد شود و همچنین پیلود مرحله بعد که البته رمزگذاری شده است.
. کلید AES | AES IV |
5D8D6871C3D59D855616603F686713AC48BF2351F6182EA282E1D84CBB15B94F | CAAD009AC0881FE2A89F80CEEA6D1B6 |
لودر، فرآیند جدیدی به نام cvtres.exe را در مسیر C:\Windows\Microsoft.NET\Framework64\v4.0.30319\cvtres.exe ایجاد میکند تا جعل یک فرآیند قانونی باشد. لودر سپس از تکنیک تزریق فرآیند برای بارگذاری پیلود مرحله بعدی در حافظه و شروع فرآیند جدید استفاده خواهد کرد.
لودر در مرحله بعد، فرآیند اجرایی را به cvtres.exe منتقل میکند، که برای بارگذاری لودر PureCrypter استفاده میشود.
لودر مرحله سوم
جزئیات لودر مرحله سوم به شرح زیر است:
نام فایل | SHA256 | اندازه | نوع |
cvtres.exe | b380b771c7f5c2c26750e281101873772e10c8c1a0d2a2ff0aff1912b569ab93 | 700.5 KB (717312 bytes) | EXE |
بدافزار در این مرحله، فایل DLL دیگری را با استفاده از Gzip از حالت فشرده خارج کرده و سپس DLL را بارگذاری و تابع اصلی آن را فراخوانی میکند. پیلود DLL این مرحله، نسخه V6.0.7D لودر PureCrypter است.
مرحله چهارم (لودر PureCrypter)
جزئیات لودر مرحله چهارم به شرح زیر است:
نام فایل | SHA256 | اندازه | نوع |
Tixrgtluffu.dll | 2e32c5cea00f8e4c808eae806b14585e8672385df7449d2f6575927537ce8884 | 1018.0 KB (1042432 bytes) | DLL |
بدافزار پس از اجرا، فایل پیکربندی خود را رمزگشایی میکند که حاوی مقدار mutex، اطلاعات سرور C&C و دیگر موارد است. بدافزار علاوه بر این، از یک نام mutex (6cbe41284f6a992cc0534b) استفاده میکند تا اطمینان حاصل نماید که تنها یک نمونه در هر زمان اجرا میشود.
جزئیات زیر نمونهای از دادههای پیکربندی بدافزار است:
پیکربندی | شرح |
89.185.85.102 | C&C IP address |
god.sck-dns.cc | C&C domain name |
amad | Unknown |
6cbe41284f6a992cc0534b2 | Mutex value |
IsSynchronized | Task name/Filename used for Persistence |
Name | Persistence/Registry directory name |
این بدافزار میتواند یک تسک زمانبندی شده را با بالاترین سطح دسترسی ایجاد کند که 15 ثانیه پس از ایجاد، اجرا میشود و سپس در فواصل زمانی تصادفی بین 180 تا 360 ثانیه (تقریباً 6 دقیقه) اجرا میگردد تا تداوم دسترسی را تضمین کند.
این بدافزار خود را به عنوان یک فایل مخفی به نام IsSynchronized.exe در مسیر C:\Users\$USERNAME$\AppData\Roaming\Name\ کپی میکند.
این تسک در پوشه Microsoft\Windows\Name ثبت میشود و به منظور اجرا در هنگام راهاندازی سیستم یا ورود کاربر پیکربندی شده است.
بدافزار علاوه بر این، میتواند یک تسک زمان بندی شده پنهان با نام تصادفی ایجاد نماید که فرمان PowerShell را اجرا میکند. این دستور، فایلها و فرآیندهای خاص بدافزار را به لیست استثناءهای Windows Defenderمیافزاید.
دستور PowerShell رمزگذاری شده با Base64 به شرح زیر است:
Powershell.exe -ExecutionPolicy Bypass -WindowStyle Hidden -NoProfile -enc QQBkAGQALQBNAHAAUAByAGU[... base64 encoded characters ...] aQB6AGUAZAAuAGUAeABlAA==
مقدار رمزگشایی شده دستور بالا عبارت است از:
Add-MpPreference -ExclusionPath C:\Users\ $USERNAME$ \AppData\Roaming\Name\IsSynchronized.exe,C:\Windows\Microsoft.NET\Framework64\v4.0.30319\AddInProcess.exe -Force;
Add-MpPreference -ExclusionProcess C:\Windows\Microsoft.NET\Framework64\v4.0.30319\AddInProcess.exe,C:\Users\$USERNAME$\AppData\Roaming\Name\IsSynchronized.exe"
بدافزار سپس تلاش میکند با سرور C&C خود ارتباط برقرار کند و بر اساس اطلاعات سخت افزاری جمع آوری شده برای هر قربانی، یک شناسه منحصر به فرد تولید نماید و آن را در فرمت خاصی ذخیره و با استفاده از MD5 رمزگذاری کند.
فرمت دادههای جمع آوری شده به شرح زیر است:
برای تغییر این متن بر روی دکمه ویرایش کلیک کنید. لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است.
قطعه کد زیر، مجموعهای از اطلاعات فوق را نشان میدهد:
بدافزار، اطلاعات سیستم از جمله نام کاربری، نرم افزار آنتی ویروس نصب شده و اطلاعات CPU را توسط ابزار WMI ویندوز جمع آوری میکند. این اطلاعات در یک کلاس آبجکت، ذخیره شده و سپس با استفاده از الگوریتم رمزگذاری کلید متقارن TripleDES رمزگذاری میشود.
کلید رمزگذاری از هش MD5 مقدار mutex (6cbe41284f6a992cc0534b) مشتق شده است. دادههای رمزگذاری شده در نهایت به سرور C&C ارسال خواهند شد.
سرور فرماندهی و کنترل (C2) در نهایت، با یک پیام رمزگذاری شده حاوی جزئیات پیکربندی XMRig پاسخ میدهد. لودر نیز پس از آن ماینر را از یک دامنه تحت کنترل مهاجم با مخفی کردن آن به عنوان “AddinProcess.exe” ( باینری قانونی مایکروسافت)، دریافت و اجرا میکند.
XMRig، پیلود نهایی زنجیره نفوذ گروه Water Sigbin است؛ یک ماینر منبع باز محبوب که از چندین سیستم عامل پشتیبانی میکند و از طریق لودر Purecrypter و بهره برداری از آسیب پذیریهای WebLogic اوراکل تحویل داده میشود.
قطعه کد شکل ۹، پاسخ رمزگذاری شده و شکل ۱۰ محتوای رمزگشایی شده پاسخ را نشان میدهد.
بدافزار، پاسخ رمزگشایی شده را در یک کلید رجیستری در مسیر کلید فرعی HKEY_CURRENT_USER\SOFTWARE\<Victim ID> ذخیره میکند. نام کلید، هش MD5 شناسه قربانی است.
این توسعه در حالی صورت میپذیرد که تیم QiAnXin XLab، ابزار نصب جدیدی را که توسط گروه 8220 به نام k4spreader استفاده میشود، مورد بررسی قرار داده است. k4spreader حداقل از فوریه 2024 برای ارائه بات نت Tsunami DDoS و برنامه استخراج PwnRig مورد استفاده قرار گرفته است.
این بدافزار که در حال توسعه میباشد و دارای نسخه shell است و از نقصهای امنیتی مانند Apache Hadoop YARN، JBoss و سرور WebLogic اوراکل برای نفوذ به اهداف حساس استفاده میکند.
[1] deserialize