تحلیلگران آزمایشگاه کسپرسکی اخیرا یک کمپین کلاهبرداری به نام Tusk را با هدف سرقت ارز دیجیتال و اطلاعات شخصی کاربران ویندوز و MacOS در سراسر جهان شناسایی کردهاند. این کمپین به منظور توزیع بدافزارهایی مانند DanaBot و StealC طراحی شده است.
شواهد حاکی از آن است که هکرهای روسی زبان در پشت این حملات قرار دارند و از منابع فیشینگ، بدافزارهای رباینده اطلاعات (infistorها) و کلیپرها (clipperها) برای اهداف خود استفاده میکنند.
این کمپین پیچیده از چندین کمپین فرعی تشکیل شده است.کمپینهای فرعی از پروژههای قانونی الگوبرداری میکنند، نامها و برندها را کمی تغییر میدهند و از چندین حساب در رسانههای اجتماعی برای افزایش اعتبار خود استفاده میکنند.
کمپینهای فرعی فعال، میزبان دانلودر اولیه در Dropbox هستند. این دانلودر مسئول تحویل نمونههای بیشتری از بدافزار به دستگاه قربانی است که عمدتاً ربایندههای اطلاعاتی (Danabot و StealC) و کلیپرها میباشند.
این حملات زمانی آغاز میشوند که مهاجمان، قربانیان خود را به سوی سایتهای فیشینگی فریب میدهند که طراحی و اینترفیس سرویسهای مختلف قانونی را شبیه سازی کردهاند.
هکرها با استفاده از فیشینگ سعی دارند تا کاربران را فریب دهند که اطلاعات حساسی مانند دادههای لاگین را بربایند و در دارک وب به فروش برسانند و یا حتی از آنها برای دسترسی غیرمجاز به حسابهای بازی و کیف پولهای ارز دیجیتال و تخلیه مستقیم وجوه آنها استفاده کنند.
تحلیلگران آزمایشگاه کسپرسکی، تاکنون سه کمپین فرعی فعال (در زمان تجزیه و تحلیل) و 16 کمپین فرعی غیرفعال مرتبط با این فعالیت را شناسایی کردهاند.
علت نامگذاری این کمپین کلاهبرداری به Tusk، استفاده مهاجمان از کلمه “Mammoth” (ماموت) در پیامهای گزارش دانلودرهای اولیه است. ” Mammoth ” کلمهای عامیانه است که توسط هکرهای روسی زبان برای اشاره به قربانیان استفاده میشود.
ما در این پست با استناد به گزارش کسپرسکی، سه کمپین فرعی که اخیراً فعال شدهاند را مورد بررسی و تحلیل قرار دادهایم. جدول زمانی کمپینهای فرعی مورد نظر در تصویر زیر نشان داده شده است:
اولین کمپین فرعی (TidyMe)
مهاجم در این کمپین، peerme.io را شبیهسازی کرده است. پلتفرمی برای ایجاد و مدیریت سازمانهای مستقل غیرمتمرکز (DAO) در بلاکچین MultiversX که هدف آن توانمندسازی جوامع و پروژههای ارز دیجیتال با ارائه ابزارهایی برای حکمرانی، تأمین مالی و همکاری در چارچوب غیرمتمرکز است. وب سایت مخرب این کمپین، tidyme[.]io میباشد.
همانطور که در تصویر بالا مشاهده میشود، وب سایت مخرب حاوی دکمه «دانلود» به جای دکمه «اکنون تیم خود را ایجاد کنید» در وب سایت قانونی است. با کلیک بر روی این دکمه، درخواستی همراه با User-Agent به عنوان آرگومان به وب سرور ارسال میشود. وب سرور از این دادهها به منظور تعیین نسخهای از فایل مخرب برای ارسال به قربانی استفاده میکند. جزئیات آن در نمودار زیر نشان داده شده است:
این کمپین دارای چندین نمونه بدافزار برای macOS و Windows است که هر دو در Dropbox میزبانی میشوند. در این پست ما فقط نمونههای ویندوز را بررسی میکنیم.
این کمپین علاوه بر توزیع بدافزار، شامل قربانیانی میشود که کیف پولهای ارز دیجیتال خود را مستقیماً از طریق وب سایت کمپین متصل میکنند. تحلیلگران کسپرسکی برای بررسی بیشتر، یک کیف پول آزمایشی با موجودی کم ایجاد کردند و آن را به سایت متصل نمودند.
با این حال، هیچ تراکنش برداشتی در طول این مطالعه انجام نشد. هدف از این اقدام، افشای آدرس کیف پول رمزارز هکر برای تجزیه و تحلیل بلاکچین بعدی بود.
جالب است که هکرها نیز در طول این تحقیق، زیرساخت خود را به دامنههای tidymeapp[.]io و tidyme[.]app انتقال دادند. دامنه tidymeapp[.]io اکنون میزبان یک نسخه به روزرسانی شده از دانلودر اولیه است که تکنیکهای ضد تجزیه و تحلیل اضافی را در خود جای داده است. هدف اصلی آن با وجود این تغییرات، یکسان است: دانلود و اجرای پیلود مراحل بعدی.
دانلودر (TidyMe.exe)
این نمونه، یک اپلیکیشن Electron (الکترون) است. یک فرم CAPTCHA پس از اجرای آن، نمایش داده میشود و قربانی برای ادامه میبایست کد را وارد کند. تا زمانی که قربانی از بررسی CAPTCHA عبور نکند، هیچ فعالیت مخربی انجام نخواهد شد. این کار برای جلوگیری از اجرا با استفاده از ابزارهای تحلیل پویا خودکار مانند سندباکس طراحی و پیاده سازی شده است.
شایان ذکر است که CAPTCHA به صورت داخلی در فایل جاوا اسکریپت captcha.js مدیریت میشود. پس از اینکه کاربر بررسی CAPTCHA را پشت سر میگذارد، نمونه اینترفیس برنامه اصلی را که شبیه صفحه پروفایل است راه اندازی میکند.
اما حتی اگر کاربر اطلاعاتی را در اینجا وارد کند، هیچ اتفاقی نخواهد افتاد. در همان زمان، نمونه شروع به دانلود دو فایل مخرب اضافی در پس زمینه میکند که سپس اجرا میشوند.
روال دانلودر TidyMe.exe
نمونه tidyme.exe حاوی یک فایل پیکربندی به نام config.json است که در بردارنده URLهای کدگذاری شده با base64 و رمز عبور برای بازیابی دادههای آرشیو شده است که برای دانلود پیلودهای مرحله دوم استفاده میشود.
عملکرد اصلی دانلودر در فایل preload.js در دو تابع downloadAndExtractArchive و loadFile ذخیره میشود. تابع downloadAndExtractArchive، آرشیو فیلد را از فایل پیکربندی که یک لینک Dropbox رمزگذاری شده است بازیابی میکند، سپس آن را رمزگشایی کرده و فایل را از Dropbox به مسیر %TEMP%/archive-<RANDOM_STRING> منتقل کرده و ذخیره میکند.
فایل دانلود شده یک فایل RAR محافظت شده با رمز عبور است که با مقدار رمز فیلد در فایل پیکربندی استخراج میشود، سپس تمامی فایلهای exe از این آرشیو اجرا میشوند.
تابع loadFile بایتهای فیلد را از فایل پیکربندی بازیابی کرده و آن را با استفاده از base64 رمزگشایی میکند و یک درخواست GET را به URL حاصل ارسال مینماید. پاسخ حاوی یک آرایه بایت است که در مسیر %TEMP%/<MD5_HASH_OF_CURRENT_TIME>.exe نوشته میشود.
نمودار زیر روال دانلود این نمونه را نشان می دهد:
در این کمپین، هر دو updateload.exe و bytes.exe، یک فایل با هشهای زیر هستند:
MD5: B42F971AC5AAA48CC2DA13B55436C277
SHA1: 5BF729C6A67603E8340F31BAC2083F2A4359C24B
SHA256: C990A578A32D545645B51C2D527D7A189A7E09FF7DC02CEFC079225900F296AC
پیلود (updateload.exe و bytes.exe)
این نمونه از HijackLoader، یک لودر ماژولار با قابلیتهای مختلف مانند بای پس UAC و تکنیکهای مختلف تزریق فرآیند استفاده میکند. پیلود پس از استقرار و اجرای updateload.exe (یا bytes.exe)، یک سری از تزریقهای فرآیندی را آغاز میکند که با تزریق shellcode به cmd.exe شروع میشود و سپس خود را حذف میکند. پیلود پس از آن یک shellcode دیگر را به explorer.exe تزریق میکند.
هر دو shellcode ، نسخه 32 بیتی هستند. اکنون مرحله نهایی پیلود در قالب فرآیند explorer.exe اجرا میشود که نوعی از خانواده بدافزار رباینده اطلاعات StealC است. پیلود نهایی شروع به برقراری ارتباط با سرور C2 مهاجم کرده و DLLهای قانونی اضافی را دانلود میکند تا در هنگام جمع آوری و ارسال اطلاعات مربوط به سیستم آلوده استفاده شوند، از جمله موارد زیر:
- HWID (شناسه منحصر به فرد برای سیستم آلوده که توسط بدافزار از شماره سریال درایو C محاسبه می شود)؛
- شماره ساخت (meowsterioland4);
- اطلاعات شبکه ( IP و کشور)
- خلاصه سیستم (شناسه سخت افزار از سیستم عامل، سیستم عامل، معماری، نام کاربری، وقت محلی، برنامه های نصب شده، لیست تمامی کاربران، کاربر فعلی، لیست فرآیندها)
- اسکرین شات
پیلود نهایی سپس شروع به درخواست تنظیمات از سرور C2، که یک IP عمومی است، برای جمع آوری دادهها میکند. جدول زیر پیکربندی ها را به همراه توضیحات آنها فهرست کرده است:
نام پیکربندی | توضیحات |
browsers | داده هایی که باید از مرورگرها جمع آوری شود |
plugins | داده هایی که باید از برنامه های افزودنی مرورگر جمع آوری شوند |
fplugin | – |
wallets | داده هایی که برای برنامه های دسکتاپ کیف پول جمع آوری میشود |
نمودار زیر مراحل اجرای این نمونه را نشان میدهد:
دومین کمپین فرعی (RuneOnlineWorld)
هکرها در این کمپین، در حال شبیه سازی وب سایت یک بازی MMO میباشند. دامنه اصلی وب سایت، riseonlineworld.com است؛ در حالی که وب سایت مخرب runeonlineworld[.]io میباشد.
این وب سایت مخرب حاوی یک لینک دانلود برای دانلودر اولیه است که از لانچر بازی الگوبرداری میکند. دانلودر در Dropbox میزبانی میشود و از همان منطقی که در بخش TidyMe توضیح داده شد، پیروی میکند تا دانلودر مناسب برای سیستم عامل قربانی را به دست آورد. نام نمونه RuneOnlineWorld.exe است.
دانلودر اولیه (RuneOnlineWorld.exe)
این نمونه نیز یک اپلیکیشن Electron با ساختار و منطقی مشابه با دانلودر اولیه در کمپین فرعی اول است. URLهای مختلفی در فایل پیکربندی وجود دارد. اغلب تغییرات مربوطبه اینترفیس اصلی برنامه است که به جای صفحه پروفایل، یک صفحه مشابه صفحه لاگین در نظر گرفته شده است. علاوه بر این، صفحه لاگین به سیستم در واقع دادههای وارد شده را پردازش میکند.
ابتدا رمز عبور از نظر پیچیدگی بررسی میشود. در صورت موفقیت آمیز بودن این مرحله، نام کاربری و رمز عبور به C2 ارسال میشود. سپس یک صفحه در حال بارگذاری نمایش داده میشود که در اصل یک مدل برای دادن زمان کافی به تسکهای پس زمینه به منظور دانلود فایلهای مخرب اضافی است. نمودار زیر مراحل انجام شده توسط دانلودر را نشان میدهد:
اولین پیلود (updateload.exe)
پیلود updateload.exe از HijackLoader استفاده میکند و کد را به چندین برنامه قانونی تزریق میکند تا از شناسایی جلوگیری به عمل آورد. کار با تزریق کد به cmd.exe و سپس explorer.exe آغاز میشود.
پس از آن، کد مخرب تزریق شده به explorer.exe شروع به برقراری ارتباط با چندین سرور C2 میکند تا فایلهای مخرب DLL و MSI اضافی را دانلود کرده و در مسیر C:\Users\<USERNAME>\Appdata\ ذخیره کند.
پس از دانلود فایلهای مخرب، explorer.exe فایلهای MSI را با استفاده از msiexec.exe و فایلهای DLL را نیز با استفاده از rundll32.exe اجرا میکند. مرحله نهایی برای این نمونه، چندین بدافزار رباینده اطلاعات از خانواده Danabot و StealC است (تزریق شده به explorer.exe). نمودار زیر روال اجرای این نمونه را نشان می دهد:
پیلود دوم (bytes.exe)
این نمونه نیز از HijackLoader برای فرار از شناسایی استفاده میکند، مراحل مختلف پیلود را باز کرده و آنها را به فرآیندهای قانونی تزریق میکند. ابتدا کدهای مخرب به cmd.exe و explorer.exe و OpenWith.exe تزریق میشود.
کد مخرب تزریق شده به OpenWith.exe، پیلود مرحله بعدی را از C2 مهاجم دانلود و رمزگشایی میکند و به نمونه OpenWith.exe دیگری تزریق میکند.
پیلود در این مرحله، شش فایل را در دایرکتوری %APPDATA%\AD_Security% دانلود کرده و یک تسک زمان بندی شده به نام FJ_load را ایجاد میکند که فایلی به نام madHcCtrl.exe را در هنگام ورود برای تداوم دسترسی اجرا خواهد کرد. در اینجا لیستی از فایلهای دانلود شده در این مرحله ارائه شده است::
هشSHA256 | نام فایل |
f586b421f10b042b77f021463934cfeda13c00705987f4f4c20b91b5d76d476c | bufotenine.yml |
69a90665113bd73b30360d87f7f6ed2c789a90a67f3b6e86474e21273a64f699 | madHcCtrl.exe |
523d4eb71af86090d2d8a6766315a027fdec842041d668971bfbbbd1fe826722 | madHcNet32.dll |
b7d3bc460a17e1b43c9ff09786e44ea4033710538bdb539400b55e5b80d0b338 | mvrSettings32.dll |
0891edb0cc1c0208af2e4bc65d6b5a7160642f89fd4b4dc321f79d2b5dfc2dcc | unrar.dll |
db4328dfbf5180273f144858b90cb71c6d4706478cac65408a9d9df372a08fc3 | wickerwork.indd |
تمام این فایلهای DLL و EXE قانونی هستند، به جز madHcNet32.dll. فایلهای مخرب wickerwork.indd و bufotenine.yml حاوی دادههای رمزگذاری شده میباشند. نمودار زیر مراحل انجام شده توسط این نمونه برای استخراج پیلود نهایی را نشان میدهد:
madHcNet32.dll
madHcCtrl.exe نیز madHcNet32.dll را بارگیری و اجرا میکند که به نوبه خود از HijackLoader برای استخراج و اجرای پیلود نهایی استفاده میکند. madHcCtrl.exe پس از اجرا، پیلود مرحله بعدی را به cmd.exe تزریق میکند که منجربه تزریق پیلود نهایی به explorer.exe میشود.
پیلود نهایی، بدافزار کلیپر میباشد که در GO نوشته شده است. نمودار زیر مراحل اجرای این نمونه را نشان میدهد:
کلیپر، داده های کلیپ بورد را نظارت میکند. اگر یک آدرس کیف پول ارز دیجیتال در کلیپ بورد کپی شود، آن را با آدرس زیر جایگزین خواهد کرد:
BTC: 1DSWHiAW1iSFYVb86WQQUPn57iQ6W1DjGo
علاوه بر این، نمونه شامل رشتههای منحصر به فردی مانند موارد زیر است:
C:/Users/Helheim/
C:/Users/Helheim/Desktop/clipper no autorun/mainTIMER.go
در حین جستجوی نمونههایی که دارای رشتههای مشابهی هستند، نمونههای دیگری با آدرسهای کیف پول متفاوت شناسایی شد:
ETH: 0xaf0362e215Ff4e004F30e785e822F7E20b99723A
BTC: bc1qqkvgqtpwq6g59xgwr2sccvmudejfxwyl8g9xg0
کمپین فرعی سوم (Voico)
مهاجم در این کمپین، یک پروژه مترجم هوش مصنوعی به نام YOUS را شبیه سازی کرده است. وب سایت اصلی، yous.ai است. در حالی که وب سایت مخرب voico[.]io میباشد.
این وب سایت مخرب درست مانند دو کمپین فرعی قبلی، حاوی یک لینک دانلود برای دانلودر اولیه با شبیه سازی برنامه است. دانلودر در Dropbox میزبانی میشود و از همان منطقی که در اولین کمپین فرعی برای دانلود دانلودر مناسب برای سیستم عامل قربانی توضیح داده شده است، پیروی میکند. نام نمونه، Voico.exe میباشد.
دانلودر اولیه (Voico.exe)
این نمونه نیز یک اپلیکیشن Electron است که عمدتاً ساختاری مشابه دانلودرهای اولیه در دو کمپین فرعی قبلی دارد. منطق دانلودر نیز ثابت میماند. بیشتر تغییرات شامل اینترفیس اصلی برنامه میشود و URLهای مختلفی در فایل پیکربندی موجود است.
علاوه بر این تغییرات، نمونه از قربانی میخواهد که یک فرم ثبت نام را پر کند، که داده ها را به C2 ارسال نمیکند اما آنها را به تابع console.log() میفرستد:
// Теперь вы можете использовать эти значения для дальнейшей обработки или отправки на сервер
// : Now you can use these values for further processing or sending to the server
console.log('Name:', name);
console.log('Username:', username);
console.log('Native Language:', nativeLanguage);
console.log('Voice:', voice);
console.log('Password:', password);
نمودار زیر روال اجرای این نمونه را نشان میدهد:
هر دو نمونه در این کمپین (updateload.exe و bytes.exe) رفتار بسیار مشابهی با نمونه updateload.exe از کمپین فرعی دوم دارند.
پیلود (updateload.exe و bytes.exe)
این نمونهها رفتاری مشابه نمونه updateload.exe از کمپین فرعی دوم دارند اما با یک تفاوت. بدافزار StealC دانلود شده توسط آنها با سرور C2 دیگری ارتباط برقرار میکند. کل روال از اجرای updateload.exe و bytes.exe تا اجرای پیلود نهایی یکسان است. در اینجا نموداری از روال اجرای این نمونهها آمده است:
سخن پایانی
هکرها با سوء استفاده از اعتماد کاربران در پلتفرمهای شناخته شده، طیفی از بدافزارها را با هدف نفوذ به سیستمها، سرقت اطلاعات حساس و در نهایت دستیابی به سود مالی طراحی و مستقر کردهاند.
تکیه بر تکنیکهای مهندسی اجتماعی مانند فیشینگ، همراه با مکانیزم ارسال بدافزار چند مرحلهای، توانمندی پیشرفته هکرها را برجسته میکند. استفاده آنها از پلتفرمهایی مانند Dropbox برای میزبانی دانلودرهای اولیه، در کنار استقرار بدافزارهای رباینده اطلاعات و کلیپرها، به تلاشی هماهنگ برای فرار از شناسایی و به حداکثر رساندن تأثیر عملیات آنها اشاره دارد.
وجه مشترک بین کمپینهای فرعی مختلف و زیرساختهای مشترک آنها، نشان دهنده یک عملیات سازمانیافته است که به طور بالقوه بیانگر یک تهدید کننده یا گروه خاص با انگیزههای مالی است. از این رو، نیاز به نظارت مستمر و راهبردهای دفاعی پیشگیرانه برای جلوگیری از این قبیل تهدیدات در حال تحول، بسیار ضروری است.
منبع
مقالات مرتبط:
سوء استفاده از بدافزار EDRKillShifter برای غیرفعال سازی حفاظت EDR
نفوذ بدافزار ANONVNC به رایانههای دولتی اوکراین
یک بدافزار اندرویدی از هزاران ربات تلگرام برای ربودن SMS سوء استفاده میکند
تبلیغات جعلی Google Authenticator منجر به انتشار بدافزار DeerStealer شد
هکرهای APT41 از بدافزار ShadowPad در حمله به موسسه تایوانی استفاده کردند
Stargazers Ghost: شبکهای از اکانتهای GitHub برای ارائه بدافزار