در آگوست سال 2017 ، محققای کسپرسکی یه بدافزار بنام StripedFly رو در سیستم یکی از مشتریاشون پیدا میکنن و بعد از بررسی اونو بعنوان یه ماینر ارزهای دیجیتال مشخص میکنن.
اما سال پیش، محققای کسپرسکی این بدافزار رو دوباره در سیستم های مختلف در سراسر دنیا مشاهده کردن، البته نه در سیستم قربانیانی که معمولا به ماینرهای بدافزاری آلوده میشن، بلکه در سیستم های آژانس های دولتی و شرکتهای بزرگ. در نتیجه محققا اومدن تا این بدافزار رو دوباره آنالیز بکنن.
در سال 2022 محققا یسری رفتار مخرب در پروسس WININIT.EXE مشاهده میکنن و با یه کد مخرب قدیمی مواجه میشن که در بدافزارهای گروه هکری Equation مرتبط با NSA ، قبلا مشاهده کرده بودن. در نتیجه اومدن بیشتر تحقیق کردن و رسیدن به ماینر سال 2017 .
در حقیقت این بدافزار از آسیب پذیری EternalBlue استفاده میکنه که توسط یه گروه هکری معروف NSA بنام Equation Group توسعه و استفاده میشده. این اسم رو کسپرسکی براساس ابزارهایی که از این گروه در سال 2015 کشف کرده، بهشون داده. این گروه مسئول بدافزار معروف استاکس نت بود که در سالهای بین 2007 تا 2010 منجر به آسیب به برنامه هسته ای ایران شد.
نکته جالب اینه که اکسپلویتی که در این بدافزار استفاده شده قبل از آوریل توسعه داده شده اما اکسپلویت EternalBlue برای اولین بار در 14 آوریل 2017 توسط گروه Shadow Brokers افشاء شده.
با بررسی ماینر و این نمونه جدید، محققا متوجه شدن که در حقیقت ،ماینر یه پوشش برای پلتفرم جاسوسی پیچیده ای هستش که از سال 2017 فعاله و یک میلیون قربانی داشته و روی پلتفرم های ویندوزی و لینوکسی میتونه اجرا بشه و دارای پلاکینهای مختلفی هستش که امکان جاسوسی و نفوذ پیشرفته رو در اختیار مهاجمین قرار میده.
آلودگی:
اولین شلکدی که در پروسس WININIT.EXE شناسایی شد، قابلیت دانلود باینری از bitbucket[.]org و اجرای اسکریپتهای پاورشل رو داشت. در زمان شناسایی ، محققا نمیدونستن که نحوه ی این آلودگی چطوری بود و با ادامه تحقیقات به یه اکسپلویت SMBv1 میرسن که خیلی شبیه به EternalBlue بوده.
شلکد کرنلی که از طریق یه اکسپلویت ارائه میشه، یه شلکد دیگه رو در فضای USER به پروسس تزریق میکنه. در ادامه یه پیلود مستقر میشه که در حقیقت یه فریمورک با قابلیت توسعه از طریق پلاگین و یه کلاینت جمع و جور TOR هستش. بعد از اینکه این فرایند کامل شد، بدافزار پروتکل SMBv1 رو در سیستم قربانی غیرفعال میکنه.
قابلیت کرم بودن بدافزار این امکان رو میده تا در شبکه محلی قربانی منتشر بشه، البته نه فقط از طریق اکسپلویت، بلکه از طریق کلیدهای SSH ای که در سیستم های قربانی پیدا میکنه، SSH هم میزنه.
پرسیست :
بدافزار برای پرسیست از روشهای مختلفی استفاده میکنه و این کار به در دسترس بودن PowerShell interpreter و امتیاز پروسس بستگی داره. معمولا بدافزار اگه از طریق اکسپلویت ارائه بشه، امتیاز مدیریتی و اگه از طریق سرور Cygwin SSH ارائه بشه امتیاز کاربر داره.
اگه پاورشل وجود نداشته باشه، بدافزار یه فایل hidden با لودر MZ-PE و با اسم تصادفی در دایرکتوری APPDATA ایجاد میکنه. این لودر یه کپی از system.img هستش و با نامی شبیه به GUID در مسیر رجیستری زیر قرار میگیره :
1 |
Software\Microsoft\Windows\CurrentVersion\Run |
اگه پاورشل وجود داشته باشه، براساس امتیازی که داره رفتار متفاوتی میتونه داشته باشه.:
- اگه امتیاز مدیریتی داشته باشه، یه اسکریپت پاورشلی رو اجرا میکنه که که دو تا task scheduler با نامی شبیه به GUID ایجاد و با triggerهای مختلف و Action اجرای اسکریپت لودر پاورشل ، ایجاد میکنه.
- اگه امتیاز مدیریتی نداشت، فضاهای زیادی رو در ابتدا و انتهای
HKCU\Software\Microsoft\Windows\CurrentVersion\Applets
برای نوشتن اسکریپت لودر پاورشل در نظر میگیره و در نهایت از طریق دستور زیر ، اونو درHKCU\Software\Microsoft\Windows\CurrentVersion\Run
پرسیست میکنه :
1 2 3 4 |
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -W Hidden - Command "Invoke-Expression((Get-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Applets'). '%RegValNameFromPrevStep%')". |
در هر دو موردی که پاورشل در دسترس هستش، بدنه فایل آرشیو بدافزار در کلید رجیستری Software\Microsoft\Windows\CurrentVersion\Shell
قرار داره که با Base64 انکد شده و با صدها Space پر شده و با اسکریپت پاورشلی که در بالا ذکر شد، شروع میشه.
در میزبانهای لینوکسی، بدافزار خودش رو با نام sd-pam مخفی میکنه و از روشهای مختلفی برای پرسیست استفاده میکنه از جمله : سرویس سیستم یا user systemd ، استفاده از فایل اجرای خودکار .desktop ، اضافه کردن خودش به یکی از فایلهای /etc/rc* یا profile یا bashrc یا inittab .فایل اجرایی بدافزار هم با نامی تصادفی در دایرکتوری tmp قرار میگیره.
مخزن Bitbucket :
برای اینکه اکسپلویت اولیه شناسایی نشه، همه عناصر که لوود میشن در داخل یه فایل آرشیوی رمز و فشرده میشن. این فایل آرشیو، در سایتهای قانونی میزبانی میشه و برای اینکه شبیه فایلهای فریمور بشه، هوشمندانه از عنوان m100 استفاده میکنن.
مخزن Bitbucket در 21 ژوئن 2021 با اکانت Julie Heilman ایجاد شده و تنها مخزن این پروفایل هستش.
مخزن فقط شامل یه فایل README.md هستش که شامل عنوان مخزن هستش . فولدر دانلودها که معمولا شامل باینری های کامپایل شده هستش، حاوی 5 فایل : delta.dat و delta.img و ota.dat و ota.img و system.img هستش.
در این فولدر شاهد نسخه های مختلف نیستیم و همچنین تعداد دانلود مشخص کننده تعداد دانلود از آخرین بروزرسانی هستش. فایل system.img بعنوان آرشیو پیلودهای مورد نیاز برای آلوده کردن سیستم های ویندوزی هستش. تعداد دانلود برای این فایل، نشون دهنده تعداد سیستم های آلوده جدید از تاریخ 22-4-2023 هستش.
در طول آنالیز ، آخرین بروزرسانی مربوط به 24 فوریه 2022 بود و تعداد قربانیان تا ژوئن برابر 160 هزار قربانی بود. این مقدار در سپتامبر 2023 از آخرین بروزرسانی در آوریل 2023 ، کمتر از 60 هزار مورد بود.
فایل ota.img مرتبط با ویندوز و فایل delta.img مرتبط با لینوکس هستش و هر دو برای بروزرسانی بدافزار استفاده میشن. از لحاظ عملکرد ، system.img و ota.img شبیه به هم هستن ،البته ota.img یسری متادیتا برای تایید یکپارچگی داره . delta.img بعنوان پیلود برای آلوده کردن اولیه سیستم های لینوکسی ،از طریق SSH زدن نسخه ویندوزی بدافزار، استفاده میشه.
فایلهای ota.dat و delta.dat بهمراه فایلهای ورژن ، بعنوان ابزاری برای اینکه بدافزار بدونه نسخه جدیدی وجود داره یا نه، استفاده میشه. نکته ای که وجود داره اینه که تعداد دانلود برای فایلهای ota.img و delta.img تعداد دقیق سیستم آلوده رو نشون نمیده. دلیلشم اینه که بدافزار عمدتا بروزرسانیها رو از طریق سرور C2 دریافت میکنه و زمانی از فایلهای مخزن استفاده میکنه که سرور C2 در دسترس نباشه.
در زمان آنالیز ، تقریبا یک میلیون بروزرسانی از طریق مخزن انجام شده. اما زمان نگارش مقاله ، این مقدار برای ویندوز 8 مورد و لینوکس 4 مورد هستش که دو تا سناریو رو میده: یا نشون دهنده حداقل سیستم های آلوده فعال هستش یا اینکه سرور C2 همچنان فعاله و به همه قربانیان پاسخ میده.
کلاینت TOR اختصاصی :
سرور C2 در شبکه TOR قرار داره و آدرسش اینجوریه :
1 |
gpiekd65jgshwp2p53igifv43aug2adacdebmuuri34hduvijr5pfjad[.]onion:1111 |
برای اینکه بدافزار بتونه با این آدرس ارتباط برقرار کنه از یه کلاینت اختصاصی و سبک TOR استفاده میکنه. نکته جالبش اینه که ، این پیاده سازی ، از هیچکدوم از پیاده سازی های شناخته شده و متن باز TOR نیست، یعنی برا خودشون یه نسخه توسعه دادن. خیلی از ویژگی های استاندارد TOR مانند : مسیریابی ، directory listing ، relay and exit node modes و پشتیبانی از پروتکل های کنترلی در این نسخه وجود نداره.
در فواصل زمانی منظم، بدافزار اتصال TCP با C2 برقرار میکنه و پیامی حاوی شناسه قربانی ارسال میکنه. بعدش هر دقیقه یه پیام خالی ارسال میکنه.
اینکه برای مخفی کردن سرور C2 اومدن یه کلاینت اختصاصی TOR نوشتن، نشون دهنده اهمیت و پیچیدگی پروژه و مهارت توسعه دهندگان اون هستش. این رویکرد ، توسط توسعه دهندگان APT و بدافزارنویس ها رایج نیست و این نشون دهنده پیچیدگی این نمونه بدافزاری نسبت به بقیه داره.
ممکنه توسعه ی یه نسخه ی اختصاصی Tor ،برای موارد امنیتی بوده اینکه احتمالا مشکوک بودن که کلاینتهای موجود Tor دارای آسیب پذیری یا بکدور هستن و ممکنه کسی با اکسپلویت اون، بتونه ترافیک رو رهگیری کنه.
البته گره خروجی Tor هم ریسک امنیتی داره. TOR یا The Onion Router از محاسبات توزیع شده برای انتقال داده ها به شیوه ای امن و خصوصی در میان شبکه ای از رایانه ها استفاده میکنه. خیلی از این سیستمها توسط افرادی که سیستمشون رو داوطلبانه در اختیار شبکه قرار میدن، مدیریت میشه. سیستم هایی که بین سیستم مبدا و مقصد هستن، اطلاعی از سیستم های مبدا و مقصد ندارن و داده های انتقالی بصورت رمزشده هستش. هر گره یا کامیپوتر در شبکه فقط گره ای رو میبینه که ترافیک رو ازش گرفته و باید لایه ای از رمزگذاری رو برداره تا متوجه بشه که بسته رو به کدوم گره باید ارسال کنه. با این حال آخرین گره ای که ترافیک ازش عبور میکنه، ترافیک رو قبل از ارسال به مقصد نهایی رمزگشایی میکنه . شخصی که آخرین گره رو مدیریت میکنه که بهش exit node میگن، میتونه متوجه این ارتباط بشه . هکرها گاهی برای انتقال داده های قربانیان از TOR استفاده میکنن، گره خروجی میتونه داده ها رو مشاهده و رهگیری کنه.
خود Wikileaks براساس داده هایی که از یه گره خروجی TOR در سال 2006 استخراج شده بود ، ایجاد شد. یکی از افرادی این گروه یه گره خروجی Tor ایجاد کرده بود و بیش از یک میلیون سند رو موقع انتقال از سرورش ، استخراج کرده بود. گفته میشد این اسناد توسط یه گروه هکری یا جاسوسان چینی که برای انتقال داده ها از Tor استفاده میکردن، بدست اومده و احتمال میدن این گروه GhostNet که مسئول هک سفارتخونه ها ، وزارتخونه های خارجه و گروههای فعال در بیش از 100 کشور که عمدتا در تایوان و جنوب و جنوب شرق آسیا هستن، باشه.
ماژولها :
بدافزار جوری طراحی شده که میشه از طریق ماژولها، قابلیت های اونو گسترش یا بروزرسانی کرد. این رویکرد معماری نشون دهنده یه بدافزار APT هستش. عملکرد این ماژولها به دو دسته تقسیم میشن : ماژولهای سرویس و ماژولهای افزایش عملکرد.
ماژولهای سرویس :
ماژول ذخیره سازی پیکربندی :
این ماژول، پیکربندی بدافزار رو که با AES رمز شده ،در کلید رجیستری با نامی شبیه به GUID و در مسیر HKCU\Software\Classes\TypeLib
برای نسخه ویندوزی ذخیره میکنه. نسخه لینوکسی این اطلاعات رو در یه فولدر مخفی با یه نام تصادفی در دایرکتوری HOME کاربر ذخیره میکنه.
ماژول Upgrade/Uninstall :
وقتی ارتباط اولیه با C2 برقرا میشه، ماژول سرویس یه شناسه 8 بایتی برای قربانی ایجاد و اونو ذخیره میکنه. در ادامه این شناسه رو بهمراه هش system.img استفاده شده، به سرور برمیگردونه. این ماژول برای اجرای دو دستور طراحی شده :
- سرور نسخه ی جدید system.img رو ارسال میکنه و فرایند ارتقاء از طریق یه اسکریپت یا فایل اجرایی انجام میشه.
- حذف کامل بدافزار
اگر سرور C2 بیش از 20 دقیقه آفلاین بشه و این روند ادامه داشته باشه، این ماژول، ota.dat رو دانلود میکنه ( یا delta.dat برای لینوکس) و یکپارچگی اونو بررسی میکنه. اگه تغییر کرده باشه بسته به اینکه ویندوزی هستش ota.img رو دانلود میکنه و اگه لینوکسی باشه delta.img رو دانلود و در نهایت بدافزار رو ارتقاء میده.
ماژول Reverse proxy :
این ماژول امکان دسترسی و اجرای عملیات از راه دور در شبکه قربانی رو میده.
ماژولهای افزایش عملکرد :
ماژول مدیریت دستورات مختلف :
این ماژول شامل طیف وسیعی از دستورات برای تعامل با سیستم قربانی ، گرفتن اسکرین شات، بدست آوردن نسخه ی سیستم آلوده ، بدست آوردن X11 display فعال در لینوکس هستش. ( بصورت پیش فرض ، WinSta0 در ویندوز) . همچنین قالبیت اجرای شلکد دریافتی از C2 رو هم داره.
ماژول جمع آوری اعتبارنامه ها :
این ماژول یه Thread رو اجرا میکنه که هر دو ساعت یکبار یسری اسکن انجام میده. در این اسکنها ، طیف وسیعی از اطلاعات حساس رو از همه کاربران فعال جمع آوری میکنه از جمله : نام های کاربری و پسورد لاگین سایتها ، اطلاعات شخصی autofill مانند نام ، آدرس ، شماره تلفن ، عناوین شغلی و … ، نام شبکه های WiFi و پسورد اونا ، اعتبارنامه های SSH و FTP و WebDav از کلاینتهای محبوبی مانند FileZilla و Cyberduck و WinSCP .
این بدافزار برای جمع آوری اعتبارنامه ها فقط روی مرورگرهای معرفی مانند کروم ، فایرفاکس و Internet Explorer کار نمیکنه بلکه مرورگهای کمتر شناخته شده ای مانند Nichrome و Xpom و RockMelt و Vivaldi و SaMonkey و Epic Privacy و Brave رو هم تارگت میکنه.
در لینوکس ، کلیدهای OpenSSH ذخیره شده در HOME/.ssh
، لیستی از هاستها از HOME/.ssh/known_hosts
، همچنین قابلیت بدست آوردن secretها از Libsecret vault رو هم داره. البته این عملکرد در حال حاضر دارای مشکل هستش چون هیچ پیاده سازی از dlopen API در کتابخونه مرتبط با musl libc وجود نداره.
ماژول تسک های قابل تکرار:
این ماژول یسری تسک داره که میتونه اونارو یکبار یا براساس زمانبندی چندین بار تکرار کنه، این فرایند هم اینجوری اجرا میشه که یسری پنجره های خاص باید مشاهده بشه تا تسکها اجرا بشن. تسک ها عبارتند از :
- گرفتن اسکرین شات و پنجره هایی که در اون لحظه قابل مشاهده هستن رو، لیست میکنه.
- یه فرایندی رو با استفاده از command line اجرا میکنه و خروجی اونو یه جایی میریزه و اونو با عبارات منظم فیلتر میکنه.
- ورودی میکروفن رو ضبط میکنه
- جمع آوری لیستی از فایلها با فرمت های خاص مانند فایلهای مرتبط با اسناد، تصاویر ، صدا، ویدیو ، آرشیو، دیتابیس ، گواهی ، سورس کد و سایر داده های مهم کاربر. این کار رو هم ،روی همه درایوهای لوکال و network shareها به غیر از فولدر System انجام میده. این تنها تسکی هستش که در نسخه ی لینوکسی اجرا میشه.
ماژول ریکان :
این ماژول اطلاعات وسیعی از سیستم رو جمع آوری و به C2 ارسال میکنه. این داده ها شامل : نسخه سیستم عامل ، computer name ، لیست آدرسهای MAC ، نام کاربری فعلی در ویندوز ، فایل etc/passwd برای لینوکس ، آدرس IP گره TOR خروجی ، زمان راه اندازی سیستم، آپتایم بدافزار ، زمان و منطقه زمانی ، مقدار حافظه کل و در دسترس مموری ، امتیاز مدیریتی کاربر و اطلاعات خاص مرتبط با ویندوز مانند UI language و keyboard layouts ، نرم افزار آنتی ویروس ، NetBIOS name و DNS domain ، جزییات مالک لایسنس ویندوز و وجود PowerShell interpreter
ماژول آلوده کننده های SMBv1 و SSH :
دو ماژول برای قابلیت های نفوذ بدافزار اختصاص داده شده که قابلیت کرم بودن بدافزار رو فراهم میکنن.
وقتی ماژول جمع آوری اعتبارنامه ها کارش رو تموم کرد، آلوده کننده SSH وارد کار میشه و نتایج رو برای یافتن کلیدها و اعتبارنامه های SSH فیلتر میکنه و اگه موردی رو پیدا کنه یه Thread خاص رو ایجاد میکنه. این Thread در یه بازه تصادفی بین 10 دقیقه تا دو ساعت، عملیات نفوذ رو شروع میکنه. در ابتدا delta.dat و delta.img رو از کش یا bitbucket[.]org بدست میاره. بعدش یکپارچگی اونارو تایید میکنه و بصورت داینامیک کتابخونه های libeay و zlib و libssh2 رو از delta.img لوود میکنه. در مرحله بعد ،فرایند اتصال به سرور SSH راه دور شروع میشه. اگه اتصال موفقیت آمیز باشه، خروجی دستور زیر رو تجزیه میکنه :
1 |
/bin/sh -c 'uname -nmo' |
اگه این سیستم راه دور اوکی بود، بدافزار باینری خودش رو با نام تصادفی در فولدر tmp آپلود میکنه و با دستور زیر اجراش میکنه :
1 |
/bin/sh -c 'cat > %s; chmod +x %s; nohup sh -c "%s; rm %s" &>/dev/null' |
این رویکرد ،سازگاری با معماری CPUهای لینوکسی x86 و amd64 و arm و aarch64 و هاست راه دور Cygwin x86 و amd64 رو با استفاده از لودر MZ-PE ،تضمین میکنه.
ماژول آلوده کننده SMBv1، بعنوان ابزار اصلی برای آلوده کردن سیستم های ویندوزی با استفاده از یه اکسپلویت اختصاصی EternalBlue بکار میره. بعد از اجرای اولیه، پروتکل SMBv1 رو با دستکاری کلید رجیستری زیر، غیرفعال میکنه و بعدش دو تا Thread برای انجام قابلیت های کرم بصورت دوره ای اجرا میکنه.
1 |
HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters |
اولین Thread مسئول بررسی آدرس IP و subnet mask مرتبط با network adapter هستش و در ادامه سعی میکنه همه LAN subnetهارو آلوده کنه. در عوض Thread دومی سعی میکنه بصورت دوره ای، internet IPهای تصادفی رو با استثنائات (exclusions) زیر انتخاب و آلوده کنه :
- Bogon networks مانند : 0.0.0.0/8, 10.0.0.0/8, 100.64.0.0/10, 127.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 198.18.0.0/15, 224.0.0.0/4, 240.0.0.0/4
- 169.255.0.0/16 : اغلب در آفریقای جنوبی هستش. احتمالا این یه باگ هستش و منظور توسعه دهنده 169.254.0.0/16 بوده که قسمتی از Bogon networks هستش.
- 3.0.0.0/8, 15.0.0.0/8, 16.0.0.0/8, 56.0.0.0/8 : مرتبط با آمازون، HP ، US Post و …
- 6.0.0.0/8, 55.0.0.0/8 : مرتبط با United States Army Information Systems Command HQ (USAISC)
- 7.0.0.0/8, 11.0.0.0/8, 21.0.0.0/8, 22.0.0.0/8, 26.0.0.0/8, 28.0.0.0/8, 29.0.0.0/8, 30.0.0.0/8, 33.0.0.0/8, 214.0.0.0/8, 215.0.0.0/8 : مرتبط با US Department of Defense Network Information Center (DNIC)
نسخه های پشتیبانی شده ویندوز شامل ویندوز ویستا، ویندوز 7 ، ویندوز سرور 2008 R2 ، ویندوز 8 ، ویندوز سرور 2012 و ویندوز 10 تا build 14392 .
ماژول استخراج ارز دیجیتال مونرو :
این ماژول روی یه Thread مجزا اجرا میشه و خودش رو بعنوان chrome.exe که در دایرکتوری Google\Chrome\Application\Services
و در مسیر common یا local در دایرکتوری AppData هست، مخفی میکنه. برای فریبکاری بیشتر، آیکون و اطلاعات نسخه کروم رو هم جعل میکنه. بصورت دوره ای پروسس استخراج رو بررسی میکنه و در صورت نیاز اونو دوباره اجرا میکنه. همچنین بصورت دقیق hash rate ، work time ، nonces و آمار خطا رو به سرور C2 ارسال میکنه.
DNS resolutionها به سرور استخر ماینر، پشت درخواستهای DNS over HTTPS با سرویس Cloudflare DoH (DNS over HTTPS) مخفی شدن و یه لایه مخفی کاری رو برای بدافزار ایجاد کردن.
محققای کسپرسکی معتقد هستن که این ماژول ماینر دلیل اصلی فرار بدافزار از شناسایی برای مدت طولانی بوده. وجود چنین ماژولی در درجه اول بدلیل مخفی کاری موثر ، بوده. همچنین ارزش ارز مونرو در سال 2017 برابر 10 دلار و در 9 ژانویه 2018 برابر 542.33 دلار بود. در سال 2023 ارزشش به 150 دلار رسید. اگرچه این ماژول سودآور هستش اما اینقدری نیست که چنین بدافزاری رو برای استخراج مونرو توسعه بدن. مثلا اگه دنبال باینری یا اعتبار کیف پولهای ارزهای دیجیتال میرفتن، سود بیشتری بدست می آوردن.
همچنین یسری رشته رمزنشده در بدافزار قرار دادن که اینا مرتبط با استخراج ارز هستش تا اینجوری هدف ثانویه بدافزار رو مخفی کنن.
باج افزار ThunderCrypt :
در طول آنالیز، محققا به یه نسخه ای از بدافزار رسیدن که با یه نمونه از باج افزار ThunderCrypt مرتبط بوده. هر دو بدافزار از یه ساختار کد استفاده میکردن و مهمتر اینکه هر دوشون از یه سرور C2 با آدرس ghtyqipha6mcwxiz[.]onion:1111 استفاده میکردن.
محققا با مقایسه باج افزار ThunderCrypt با بدافزار StripedFly مجموعه ای از قابلیتها و ماژولهای مشابهی رو مشاهده کردن. مانند کلاینت TOR ، ماژول ذخیره پیکربندی ، ماژول upgrade/uninstall ، ماژول ریکان و با یه استثناء مهم که شامل آلوده کننده SMBv1 نبوده. نکته جالب اینکه ، این باج افزار از مولفه ی لیست فایل در ماژول تسک های قابل تکرار ، بعنوان بخشی از فرایند رمزگذاری استفاده میکرده.
براساس داده های تله متری ، باج افزار ThunderCrypt اولین بار در 23 آوریل 2017 مشاهده شده و در ماه مه، فعالیتش افزایش یافته. یه خبری هم در خصوص این باج افزار در Taiwan News منتشر شده بود که جالب هستش. یه کاربر تایوانی با این باج افزار آلوده میشه و ازش 0.345 بیتکوین باج میخوان. این کاربر با ایمیل پشتیبانی باج افزار تماس میگیره و وضعیت مالیش رو شرح میده و اینکه درآمد متوسط ماهانه اش 400 دلار بوده. مهاجمین در پاسخ میگن که :
صادقانه بگیم، بنظر میرسه کمپین تایوانی ما یه شکست کامله. ظاهراً ما درآمد جمعیت کشور شما رو تا حد زیادی بیش از حد تخمین زدیم.
وجود این مولفه ی باج افزار، محققارو بیشتر سردرگم کرده. اینکه پشت این بدافزار یه گروه باج افزاری هستش که با هکرها هم کار میکنه، یا یه APT هستش که درآمد هم میخوان و … . اما حدس میزنن که این باج افزار احتمالا بعنوان یه Wiper برای تخریب داده ها استفاده میشه. وقتی عملیات جاسوسی با شکست مواجه بشه، مهاجم برای اینکه جلوی فارنزنیک رو بگیره، میاد و از این باح افزار استفاده میکنه.
این باج افزار در کل ، کمتر از 1000 قربانی در دنیا داشته و با توجه به اینکه در حملات ، آدرس کیف پولشون نیست و قربانی ها باید از طریق ایمیل با پشتیبانیشون تماس بگیرن، مشخص نیست که آیا قربانی باج داده یا نه.
EternalBlue :
محققا اعلام کردن که بین اکسپلویت EternalBlue و توسعه دهندگان StripedFly شباهت هایی وجود داره. این حدس رو هم براساس PE timestamp ها میگن ، البته نمیشه اعتبار timestamp ماژول اولیه EternalBlue مورد نظر رو تأیید کرد، اما بروزرسانی های بعدی بدافزار حاوی timestamp هایی هستش که تقریبا با داده های تله متری مطابقت داره بنابراین timestamp اولیه هم احتمالا درسته. جدول زمانی که محققا بازسازیش کردن اینجوریه :
- 9 آوریل 2016 : مشاهده ی اولین نسخه ی شناخته شده ی StripedFly که شامل ماژول EternalBlue هستش. براساس PE timestamps .
- آگوست 2016: نشت اولیه توسط گروه Shadow Brokers
- 14 مارس 2017 : مایکروسافت یه بولتن امنیتی برای MS17-010 منتشر و یه اصلاحیه برای اکسپلویت EternalBlue منتشر کرد.
- 14 آوریل 2017 : گروه Shadow Brokers یه نشت حاوی اکسپلویت EternalBlue منتشر کرد.
- 15 آوریل 2017 : اولین باج افزار EternalBlue با نام ExPetr .
- 20 آوریل 2017 : معرفی اولین نسخه ی باج افزار ThunderCrypt ( بدون EternalBlue )
- 23 آوریل 2017 : اولین شناسایی ThunderCrypt توسط تله متری کسپرسکی
- 12 مه 2017: حمله باج افزار WannaCry با استفاده از EternalBlue
- 27 ژوئن 2017 : حمله ExPetr با استفاده از EternalBlue
- 24 آگوست 2017: اولین شناسایی StripedFly توسط تله متری کسپرسکی، یکسال بعد از PE timestamps اولیه
نکته جالبی که در خصوص EternalBlue وجود داره اینه که قبل از افشای اکسپلویت EternalBlue توسط گروه Shadow Brokers ، یه گروه هکری چینی بنام BuckEye که مرتبط با وزارت سرویس امنیت چین MSS هست، در مارس 2016 از یه اکسپلویت EternalBlue و یه کپی از یه ابزار دیگه NSA بنام DoublePulsar در کمپین های جاسوسیشون استفاده کرده بودن. محققا حدس میزنن که این هکرها ، احتمالا این ابزارهارو از ماشینی در چین یا جاهای دیگه که توسط این ابزارها آلوده شدن، پیدا و با مهندسی معکوس ،نمونه ای از اونهارو برای خودشون ساختن.
در مجموع این داده ها، شباهتهایی رو با بدافزار Equation نشون میدن، اگرچه هیچ مدرک مستقیمی برای مرتبط بودن اونا به هم نیست. کشف بدافزار با امضاهای مرتبط با خانواده بدافزار Equation ، روش کد نویسی و کارهایی شبیه به اونچه در بدافزار STRAITBIZARRE بوده که این بدافزار هم در افشاگری اسنودن در سال 2013 افشاء شد ، مشاهده شده و براساس اینا این ارتباط رو میدن.
IoCهای گزارش :
C2 servers
gpiekd65jgshwp2p53igifv43aug2adacdebmuuri34hduvijr5pfjad[.]onion ghtyqipha6mcwxiz[.]onion
ajiumbl2p2mjzx3l[.]onion
URLs
bitbucket[.]org/JulieHeilman/m100-firmware-mirror/downloads/
bitbucket[.]org/upgrades/um/downloads/
bitbucket[.]org/legit-updates/flash-player/downloads
gitlab[.]com/JulieHeilman/m100-firmware-mirror/raw/master/
gitlab[.]com/saev3aeg/ugee8zee/raw/master/
github[.]com/amf9esiabnb/documents/releases/download/
tcp://pool.minexmr[.]com:4444
tcp://mine.aeon-pool[.]com:5555
tcp://5.255.86[.]125:8080
tcp://45.9.148[.]21:80
tcp://45.9.148[.]36:80
tcp://45.9.148[.]132:8080
system.img
b28c6d00855be3b60e220c32bfad2535
18f5ccdd9efb9c41aa63efbe0c65d3db
2cdc600185901cf045af027289c4429c
54dd5c70f67df5dc8d750f19ececd797
d32fa257cd6fb1b0c6df80f673865581
c04868dabd6b9ce132a790fdc02acc14
c7e3df6455738fb080d741dcbb620b89
d684de2c5cfb38917c5d99c04c21769a
a5d3abe7feb56f49fa33dc49fea11f85
35fadceca0bae2cdcfdaac0f188ba7e0
delta.dat
00c9fd9371791e9160a3adaade0b4aa2
41b326df0d21d0a8fad6ed01fec1389f
delta.img
506599fe3aecdfb1acc846ea52adc09f
6ace7d5115a1c63b674b736ae760423b
ota.dat
2e2ef6e074bd683b477a2a2e581386f0
04df1280798594965d6fdfeb4c257f6c
ota.img
abe845285510079229d83bb117ab8ed6
090059c1786075591dec7ddc6f9ee3eb
ThunderCrypt
120f62e78b97cd748170b2779d8c0c67
d64361802515cf32bd34f98312dfd40d
منابع