گوگل اخیرا گزارش هایی منتشر کرده در خصوص دو گروه از بازیگران تهدید با نامهای UNC5142 و UNC5342 که از تکنیک جدیدی بنام EtherHiding برای توزیع بدافزار استفاده میکنن.
هر دو گزارش رو در سایت پوشش دادیم. در این پست میخواییم گزارش فعالیت گروه UNC5342 رو بررسی کنیم. برای دسترسی به گزارش فعالیت UNC5142، میتونید اینجا رو مشاهده کنید.
Google Threat Intelligence Group (GTIG) مشاهده کرده که بازیگر تهدید کره شمالی (DPRK) با نام UNC5342 از روش EtherHiding برای تحویل بدافزار و تسهیل سرقت ارز دیجیتال استفاده میکنن. این اولین باری هستش که GTIG مشاهده میکنه یک بازیگر وابسته به دولت، از این روش استفاده میکنه. این پست قسمت دوم از گزارشی درباره ی بازیگران تهدیدی هستش که از EtherHiding استفاده میکنن، تکنیکی که از تراکنشها روی بلاکچینهای عمومی برای ذخیره و بازیابی پیلودهای مخرب استفاده میکنن و بدلیل تاب آوریش در برابر تلاشهای متداول حذف یا مسدود کردن، قابل توجه هستش.
از فوریه ۲۰۲۵، GTIG متوجه شده که هکرها، EtherHiding رو در یک کمپین مهندسی اجتماعی که Palo Alto Networks اونو Contagious Interview نامیده، استفاده کردن. در این کمپین، هکرها از بدافزار JADESNOW برای استقرار یک نمونه جاوااسکریپتی از INVISIBLEFERRET استفاده کردن که منجر به چندین سرقت ارز دیجیتال شده.
نحوه ی کار EtherHiding:
EtherHiding در سپتامبر ۲۰۲۳ بعنوان یک مؤلفه ی کلیدی در کمپینی با انگیزه ی مالی و با نام CLEARFAKE (UNC5142) ظاهر شد، کمپینی که از پوششهای فریبنده مانند پیامهای جعلی بروزرسانی مرورگر برای فریب کاربران و وادار کردن اونا به اجرای کد مخرب استفاده میکرد.
EtherHiding شامل قرار دادن کد مخرب، اغلب بصورت پیلودهای جاوااسکریپت، درون یک قرارداد هوشمند روی یک بلاکچین عمومی مانند BNB Smart Chain یا Ethereum هستش. این رویکرد در اصل بلاکچین رو به یک C2 غیرمتمرکز و بسیار مقاوم تبدیل میکنه.
معمولا زنجیره ی حمله به این صورت انجام میشه:
- نفوذ اولیه: بازیگران تهدید کره شمالی معمولا از مهندسی اجتماعی، برای نفوذ اولیه استفاده میکنن، برای مثال، مصاحبه های شغلی جعلی، بازیهای کریپتو و غیره. همچنین، در کمپین CLEARFAKE، مهاجم ابتدا از طریق آسیبپذیریها یا اعتبارنامه های سرقتی، به یک سایت قانونی، معمولا یک سایت وردپرس، دسترسی پیدا میکرد.
- تزریق اسکریپت لودر: مهاجم یک قطعه ی کوچک از کد جاوااسکریپت، که اغلب لودر نامیده میشه رو در سایت هک شده، تزریق میکنه.
- بازیابی پیلود مخرب: وقتی کاربری از سایت هک شده بازدید میکنه، اسکریپت لودر در مرورگرش اجرا میشه. این اسکریپت بعدش با بلاکچین ارتباط برقرار میکنه تا پیلود اصلی مخرب رو که در یک قرارداد ذخیره شده رو بازیابی کنه. نکته ی کلیدی در این مرحله استفاده از فراخوانیهای فقط خواندنی (مثل eth_call) هستش که تراکنشی روی بلاکچین ایجاد نمیکنه. این کار باعث میشه بازیابی بدافزار بصورت مخفی باشه و از پرداخت هزینه های تراکنش (یعنی کارمزد gas) جلوگیری کنه.
- اجرای پیلود: پس از بازیابی، پیلود مخرب در رایانه ی قربانی اجرا میشه. این میتونه به فعالیتهای مخرب مختلفی منجر بشه، مثلا نمایش صفحات لاگین جعلی، نصب بدافزار سارق اطلاعات، یا استقرار باج افزار.
مزایا برای مهاجمان:
EtherHiding مزایای قابل توجهی برای مهاجم ارائه میده، بخصوص بعنوان یک تهدید چالش برانگیز برای مقابله مطرح هستش:
- غیرمتمرکز بودن و تاب آوری: چون کد مخرب روی یک بلاکچین غیرمتمرکز و بدون نیاز به مجوز ذخیره میشه، هیچ سرور مرکزی وجود نداره که سازمانهای اجرای قانون یا شرکتهای امنیت سایبری بتونن اونو توقیف یا حذف کنن. کد مخرب تا زمانیکه خود بلاکچین فعال باشه، قابل دسترس باقی میمونه.
- ناشناس بودن: ذات شبه ناشناس تراکنشهای بلاکچین، ردیابی هویت هکرهایی که قرارداد هوشمند رو مستقر میکنن رو سخت میکنه.
- تغییرناپذیری: پس از استقرار یک قرارداد هوشمند، کد مخرب درون اون معمولا به سادگی توسط کسی جز مالک قرارداد قابل حذف یا تغییر نیست.
- مخفی کاری: هکر میتونه پیلود مخرب رو با استفاده از فراخوانیهای فقط خواندنی بازیابی کنه که سوابقِ تراکنشِ قابل مشاهدهای، روی بلاکچین باقی نمیذاره و تعقیب فعالیتهاشون رو دشوارتر میکنه.
- انعطاف پذیری: مهاجمی که کنترل قرارداد هوشمند رو در اختیار داره، میتونه در هر زمان پیلود مخرب رو بروز کنه. این امکان به اونا اجازه میده روشهای حمله رو تغییر بدن، دامنهها رو بروزرسانی کنن، یا هم زمان انواع مختلفی از بدافزار رو با بروزرسانی ساده ی قرارداد روی سایتهای هک شده مستقر کنن.
خلاصه ی مطلب، EtherHiding نمایانگر جهشی بسوی میزبانی ضدگلوله نسل بعدی هستش، جاییکه ویژگیهای ذاتی فناوری بلاکچین برای اهداف مخرب استفاده میشه. این تکنیک تحول مداوم تهدیدات سایبری رو برجسته میکنه، چون هکرها خودشون رو تطبیق میدن و از تکنولوژیهای جدید به نفع خودشون استفاده میکنن.
کمپین مهندسی اجتماعی هکرهای کره شمالی:
کمپین مهندسی اجتماعی هکرهای کره شمالی، یک عملیات پیچیده و مداوم جاسوسی سایبری و مبتنی بر منافع مالی هستش که به طرز هوشمندانهای از فرایند درخواست و مصاحبه ی شغلی سوء استفاده میکنه. این کمپین توسعهدهندگان، بخصوص در بخشهای ارزهای دیجیتال و فناوری رو، هدف قرار میده تا دادههای حساس و ارزهای دیجیتال رو بدزدن و دسترسی مداوم به شبکههای سازمانی بدست بیارن.
این کمپین دارای دو هدف هم راستا با اهداف راهبردی کره شمالی داره:
- کسب درآمد: هدف اصلی، سرقت ارزهای دیجیتال و سایر داراییهای مالی، برای تولید درآمد برای رژیم و کمک به دور زدن تحریمهای بینالمللی هستش.
- جاسوسی: با هک توسعه دهندگان، کمپین قصد داره اطلاعات باارزش جمعآوری کنه و احتمالا پایگاهی در شرکتهای فناوری برای عملیات آینده بدست بیاره.
این کمپین با تاکتیکهای پیچیده ی مهندسی اجتماعی که فرایندهای استخدام قانونی رو تقلید میکنن، شناخته میشه.
۱. طعمه ی فیشینگ:
- استخدام کنندگان و شرکتهای جعلی: بازیگران تهدید پروفایلهای قانع کننده اما جعلی در سایتهای شبکه سازی حرفهای مانند لینکدین و سایتهای شغلی ایجاد میکنن. اونا اغلب خودشون رو بعنوان استخدام کنندگان شرکتهای شناخته شده ی فناوری یا کریپتو جا میزنن.
- شرکتهای ساختگی: در برخی موارد، اونا تا جایی پیش رفتن که سایت و پروفایل جعلی در شبکه های اجتماعی برای شرکتهایی مثل BlockNovas LLC، Angeloper Agency و SoftGlideLLC راهاندازی کردن تا ظاهری مشروع داشته باشن.
- تماس هدفمند: با قربانیان بالقوه مثل توسعه دهندگان نرمافزار و وب تماس میگیرن و پیشنهادهای شغلی جذابی ارائه میدن.
۲. فرایند مصاحبه:
- تماس اولیه: استخدام کنندگان جعلی با نامزدها وارد تعامل میشن و اغلب مکالمه رو به پلتفرمهایی مانند Telegram یا Discord منتقل میکنن.
- وظیفه ی مخرب: هسته ی حمله در مرحله ی ارزیابی فنی رخ میده. از نامزدها خواسته میشه یک آزمون کدنویسی انجام بدن یا پروژهای رو بازبینی کنن که مستلزم دانلود فایلهایی از مخازنی مانند GitHub هستش. این فایلها حاوی کد مخرب هستن.
- ابزارهای فریبنده: در نسخههای دیگه، نامزدها به یک مصاحبه ی ویدیویی دعوت میشن و با یک پیام خطای جعلی (تکنیکی بنام ClickFix) روبهرو میشن که اونارو وادار میکنه برای ادامه یک اصلاحیه یا نرمافزار خاص رو دانلود کنن، در حالیکه اون در واقع بدافزار هستش.
۳. زنجیره ی آلودگی:
این کمپین از یک فرایند آلودگی چند مرحلهای برای هک سیستم قربانی استفاده میکنه که اغلب سیستمهای ویندوز، macOS و لینوکس رو تحت تأثیر قرار میده.
- دانلودر اولیه (مثلا JADESNOW): بسته های مخربی که توسط قربانی دانلود میشن اغلب روی رجیستری npm (Node Package Manager) میزبانی میشن. این لودرها ممکنِ اطلاعات اولیه ی سیستم رو جمع آوری کرده و مرحله ی بعدی بدافزار رو دانلود کنن.
- بدافزار مرحله ی دوم (مثلا BEAVERTAIL، JADESNOW): بدافزار جاوااسکریپتی که برای جستجو و استخراج دادههای حساس، مخصولا کیف پولها، داده های افزونه های مرورگر و اعتبارنامه ها، طراحی شده. افزودن JADESNOW به زنجیره ی حمله نشان دهنده ی گرایش UNC5342 به استفاده از EtherHiding برای ارائه ی بکدور مرحله ی سوم، INVISIBLEFERRET، هستش.
- بکدور مرحله ی سوم (مثلا INVISIBLEFERRET): برای اهداف با ارزش بالا، یک بکدور پایدارتر مستقر میشه. INVISIBLEFERRET، یک بکدور مبتنی بر پایتون، به مهاجمان کنترل از راه دور روی سیستم هک شده رو میده و امکان جاسوسی بلند مدت، سرقت داده و حرکت جانبی درون شبکه رو فراهم میکنه.
JADESNOW:
JADESNOW یک خانواده بدافزار دانلودر جاوااسکریپتی هستش که با خوشه ی تهدید UNC5342 مرتبط هستش. JADESNOW از EtherHiding برای واکشی، رمزگشایی و اجرای پیلودهای مخرب از قراردادهای هوشمند روی شبکههای BNB Smart Chain و Ethereum استفاده میکنه. داده ی ورودی ذخیره شده در قرارداد هوشمند ممکن با Base64 و XOR رمز شده باشه. پیلود نهایی در زنجیره ی آلودگی JADESNOW معمولا یک بکدور پایدارتر مانند INVISIBLEFERRET.JAVASCRIPT هستش.
نحوه ی استقرار و مدیریت JADESNOW با کمپینهای مشابهی که EtherHiding رو اجرا میکنن، مانند CLEARFAKE، تفاوت داره. کمپین CLEARFAKE، که با خوشه ی تهدید UNC5142 مرتبط هستش، بعنوان یک فریمورک جاواسکریپتی مخرب عمل میکنه و اغلب خودش رو بصورت پنجره ی بروزرسانی مرورگر Google Chrome روی سایتهای هک شده جا میزنه. عملکرد اصلی جاوااسکریپت داخل اون، دانلود یک پیلود بعد از کلیک کاربر روی دکمه ی Update Chrome است. پیلود مرحله ی دوم معمولا یک جاوااسکریپت دیگه هستش که با Base64 رمز شده و روی BNB Smart Chain ذخیره شده. پیلود نهایی ممکن همراه با فایلهای دیگه که بخشی از یک بروزرسانی قانونی به نظر میرسن مانند ایمیج یا فایلهای پیکربندی ترکیب بشه. اما خود بدافزار معمولا یک سارق اطلاعات مانند LUMASTEALER است.
شکل زیر نمای کلی زنجیره ی حمله ی مهندسی اجتماعی رو نشان میده.

قربانی یک سوال مصاحبه ی مخرب دریافت میکنه که اون رو فریب میده تا کدی رو اجرا کنه که دانلودر اولیه ی جاوااسکریپت رو اجرا میکنه. این دانلودر با یک قرارداد هوشمند مخرب تعامل میکنه و پیلود مرحله ی دوم رو دانلود میکنه. قرارداد هوشمند میزبان دانلودر JADESNOW است که با Ethereum تعامل داره تا پیلود مرحله ی سوم رو واکشی کنه که در این مورد INVISIBLEFERRET.JAVASCRIPT هستش. این پیلود در حافظه اجرا میشه و ممکن برای دریافت مؤلفه های بیشتر برای سرقت اعتبارنامه ها با Ethereum تعامل کنه.
اینکه یک بازیگر تهدید از چند بلاکچین برای فعالیت EtherHiding استفاده کنه غیرمعمول هستش. این ممکن نشان دهنده ی تفکیک عملیاتی بین تیمهای اپراتورهای سایبری کرهشمالی باشه. در نهایت، کمپینها اغلب از طبیعت انعطافپذیر EtherHiding برای بروزرسانی زنجیره ی آلودگی و تغییر مکانهای تحویل پیلود استفاده میکنن. در یک تراکنش، دانلودر JADESNOW میتونه از واکشی پیلود روی Ethereum به واکشی اون روی BNB Smart Chain تغییر مسیر بده. این جابجایی نه تنها تحلیل رو پیچیده میکنه، بلکه از هزینه های تراکنش پایین تر شبکه های جایگزین هم استفاده میکنه.
قراردادهای هوشمند مخرب:
BNB Smart Chain و Ethereum هر دو برای اجرای برنامه های غیرمتمرکز (dApps) و قراردادهای هوشمند طراحی شدن. قرارداد هوشمند قطعهای از کد روی بلاکچین هستن که وقتی شرایط یا توافقاتی برقرار بشه بطور خودکار اقداماتی رو اجرا میکنن و بدین ترتیب امکان قراردادهای امن، شفاف و خودکار، بدون واسطهها رو فراهم میکنن.
وقتی یک قرارداد هوشمند در بلاکچین (مثل Ethereum یا BNB Smart Chain) مستقر میشود، سورس کدش (مثلا نوشته شده با Solidity) به بایتکد (Bytecode) کامپایل میشه، یعنی مجموعهای از دستورالعملهای سطح پایین مخصوص ماشین مجازی اتریوم (EVM). این بایتکد روی بلاکچین قرار میگیره و عمومی هستش. بنابراین محققین امنیتی میتونن اونو دیس اسمبل کنن کنن، یعنی بایتکد رو به دستورالعملهای اسمبلی EVM تبدیل کنن تا رفتار قرارداد رو بررسی کنن. دقیقا کاری که در مهندسی معکوس برنامه ها انجام میدیم.
ماشین مجازی اتریوم (Ethereum Virtual Machine — EVM) یک محیط اجرایی ایزوله و قدرتمند هستش که کدهای قراردادهای هوشمند رو اجرا میکنه. میشه اونو بصورت یک کامپیوتر بزرگ در نظر گرفت که وضعیت شبکه (حسابها، موجودیها و ذخیره ی قراردادها) رو نگهداری و با دریافت تراکنشها، اونارو تغییر میده.
BNB Smart Chain، مانند Ethereum، یک شبکه ی بلاکچین غیرمتمرکز و بدون نیاز به مجوز هستش که از قراردادهای هوشمندِ برنامه نویسی شده، برای ماشین مجازی Ethereum (EVM) پشتیبانی میکنه. اگرچه قراردادهای هوشمند روشهای نوآورانهای برای ساخت برنامههای غیرمتمرکز ارائه میدن، طبیعت تغییرناپذیر اونا در EtherHiding برای میزبانی و ارائه ی کد مخرب به شکلی که به راحتی قابل مسدودسازی نباشن، مورد سوء استفاده قرار میگیره.
استفاده از Ethereum و BNB Smart Chain با هدف EtherHiding نسبتا ساده هستش، چون تنها شامل فراخوانی یک قرارداد هوشمند سفارشی روی بلاکچین میشه. تعاملات UNC5342 با شبکه های بلاکچین از طریق ارائه دهندگان خدمات API متمرکز انجام میشه، نه از طریق نقاط پایانی فراخوانی از راه دور (RPC) که در CLEARFAKE بررسی کردیم. هنگامی که GTIG با ارائه دهندگان سرویس API مسئول تماس گرفت، اونا سریعا اقداماتی علیه این فعالیت مخرب انجام دادن. با این حال، چند پلتفرم دیگه بی پاسخ باقی ماندن. این بیتفاوتی و کمبود همکاری نگرانی قابل توجهی هستش، چون خطر گسترش این تکنیک در بین بازیگران تهدید رو افزایش میده.
تحلیل درون زنجیره ای مربوط به JADESNOW:
دانلودر اولیه از طریق مجموعهای از ارائه دهندگان API، ازجمله Binplorer، روی BNB Smart Chain ارتباط برقرار میکنه تا پیلود مربوط به JADESNOW رو که در قرارداد هوشمندی با آدرس 0x8eac3198dd72f3e07108c4c7cff43108ad48a71c ذخیره شده رو دریافت کنه. شکل زیر نمونهای از یک فراخوانی API برای خوندن دادههای ذخیره شده در قرارداد هوشمند از سوابق تراکنشها رو نشان میده.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
{ timestamp: 1738949853, transactionHash: "0x5c77567fcf00c317b8156df8e00838105f16fdd4fbbc6cd83d624225397d8856", tokenInfo: { address: "0x8eac3198dd72f3e07108c4c7cff43108ad48a71c", (...) owner: "0x9bc1355344b54dedf3e44296916ed15653844509", (...) txsCount: 22, (...) }, type: "issuance", value: "1", priority: 127, address: "0x9bc1355344b54dedf3e44296916ed15653844509" } |
جزئیات تراکنش نشان میده که قرارداد در چهار ماه اول بیش از ۲۰ بار بروزرسانی شده، که هر بروزرسانی بطور متوسط هزینهای معادل ۱.۳۷ دلار آمریکا در کارمزد گس (GAS) داشته. هزینه ی پایین و تکرر این بروزرسانیها توانایی مهاجم در تغییر پیکربندی کمپین رو به سادگی نشان میده. این قرارداد هوشمند همچنین با یک حمله ی زنجیره ی تامین که در ژوئن ۲۰۲۵ از طریق بسته های مخرب npm، تونسته بود React Native Aria و GlueStack رو تحت تأثیر قرار بده، مرتبط هستش.
اکسپلورر بلاکچین مانند BscScan (برای BNB Smart Chain) و Etherscan (برای Ethereum) ابزارهای ضروری برای بررسی اطلاعات درون زنجیره ای مانند کد قرارداد هوشمند و سوابق تراکنش به/از قرارداد هستن. این تراکنشها ممکن شامل داده ی ورودی مانند یک متغیر Name، نوع (Type) و داده ی ذخیره شده (Data) در اون متغیر باشن. شکل زیر فعالیت درون زنجیره ای در آدرس تراکنش 0x5c77567fcf00c317b8156df8e00838105f16fdd4fbbc6cd83d624225397d8856 رو نشان میده، جاییکه فیلد Data حاوی پیامی رمز شده با Base64 و XOR هستش. این پیام پس از رمزگشایی به یک پیلود جاوااسکریپت که شدیدا مبهم شده، تبدیل میشه، که GTIG اونو بعنوان دانلودر مرحله ی دوم، JADESNOW، ارزیابی میکنه.

هنگام مقایسه ی تراکنشها، کد مرتبط با لانچر دست نخورده باقی میمونه، اما پیلود مرحله ی بعدی اغلب با یک پیلود مبهم شده ی جدید بروزرسانی میشه. در این مورد، پیلود مبهم شده در حافظه اجرا میشه و یک آرایه از رشتهها رو رمزگشایی میکنه که با هم ترکیب شدن و فراخوانیهای API به هش های تراکنش مختلف روی Ethereum رو تشکیل میدن. این تغییر مسیر به شبکه ی متفاوت قابل توجه هستش. مهاجم از یک قرارداد هوشمند Ethereum برای ذخیره ی پیلود استفاده نمیکنه، بلکه، اونا یک درخواست GET انجام میدن تا سوابق تراکنش آدرس تحت کنترل مهاجم رو بدست بیارن و calldata ذخیره شده از تراکنشهایی که به آدرس معروف burn یعنی 0x00…dEaD صورت گرفته رو بخونن.
در دنیای بلاکچین (مثل Ethereum یا BNB Smart Chain)، وقتی میگیم داده یا توکن به آدرس burn ارسال شده، منظور این هستش که اون دارایی یا داده عمدا به آدرسی غیرقابل دسترس فرستاده شده تا کسی نتونه اونو خرج یا بازیابی کنه. آدرس Burn معروف در اتریوم: 0x000000000000000000000000000000000000dEaD یا گاهی فقط با 0x00…dEaD نمایش داده میشه.
در این سناریو هکر داده ی مخرب خودش رو بصورت calldata در تراکنشهایی به آدرس burn فرستاده، با جستجوی آدرس خودش، میتونه این داده های مخرب رو بیرون بکشه.

آدرس نهایی این تراکنشها بی اهمیت هستش چون بدافزار تنها داده ی ذخیره شده در جزئیات یک تراکنش رو میخونه و عملا از تراکنش بلاکچین بعنوان یک Dead Drop Resolver استفاده میکنه. Dead Drop Resolver یعنی استفاده ی یک منبع عمومی و ظاهرا بیخطر، مثلا یک سرویس وب، گیتهاب، Pastebin و … برای مخفی کردن و ارائه ی اطلاعاتی که بدافزار بعدا ازش برای پیدا کردن سرورهای C2 یا پیلودها استفاده میکنه. مشابه روش dead-drop در جاسوسی کلاسیک که پیام رو در یک مکان عمومی میذاشتن و گیرنده بعدا اونو بر میداشت.
این تراکنشها بصورت مکرر تولید میشن که نشان میده چگونه میشه کمپین رو با یک تراکنش ساده ی بلاکچین بروزرسانی کرد، از جمله تغییر سرور C2 و پیلود و … . پیلود اجرا شده در حافظه از طریق تعامل با Ethereum از طریق APIهای مختلف اکسپلورر بلاکچین، اطلاعات ذخیره شده درون زنجیره بلاکچین رو واکشی و بررسی میکنه. برای این کار با چندین اکسپلورر بصورت هم زمان ارتباط میگیره (ازجمله Blockchair، Blockcypher و Ethplorer)، که احتمالا بعنوان مکانیزم پشتیبان، برای تضمین بازیابی پیلود استفاده میشه. استفاده از یک کلید API رایگان، مانند apiKey=freekey که Ethplorer برای توسعه دهندگان ارائه میده، با وجود محدودیتهای سخت استفاده، برای عملیات JADESNOW کافی هستش.
آنالیز پیلود مخرب:
مرحلهی سوم شامل پیلودی با نام INVISIBLEFERRET.JAVASCRIPT هستش که در آدرس تراکنش اتریوم 0x86d1a21fd151e344ccc0778fd018c281db9d40b6ccd4bdd3588cb40fade1a33a ذخیره شده. این پیلود از طریق پورت 3306 (پورت پیشفرض MySQL) به سرور C2 متصل میشه. در ابتدا یک Beacon (سیگنال اولیه) ارسال میکنه که شامل اطلاعات زیر هستش:
- نام میزبان (Hostname)
- نام کاربری
- سیستم عامل
- مسیر دایرکتوری که بکدور در اون اجرا شده
بعدش بکدور در پسزمینه اجرا میشه و به دستورات ورودی از سمت سرور C2 گوش میده و میتونه دستورات دلخواه رو اجرا کنه، دستورهای داخلی برای تغییر مسیر دایرکتوری اجرا کنه، فایلها، فولدرها و زیردایرکتوریها رو از سیستم قربانی استخراج و ارسال کنه.
در برخی نسخه ها، پیلود به چند بخش تقسیم شده. مثلا چیزی که در آدرس تراکنش 0xc2da361c40279a4f2f84448791377652f2bf41f06d18f19941a96c720228cd0f مشاهده میشه. در این حالت، کد جاوااسکریپتِ تقسیم شده، بکدور مربوط به INVISIBLEFERRET.JAVASCRIPT رو اجرا کرده و تلاش میکنه یک مفسر قابل حمل (Portable) پایتون رو نصب کنه تا یک ماژول سارق اعتبارنامه دیگه رو اجرا کنه که در آدرس تراکنش 0xf9d432745ea15dbc00ff319417af3763f72fcf8a4debedbfceeef4246847ce41 قرار داره. این ماژول اضافی، مرورگرهای وب مانند Google Chrome و Microsoft Edge رو هدف قرار داده و دادههایی مانند: رمزهای ذخیرهشده، کوکیها، اطلاعات کارتهای اعتباری رو میدزده. ماژول سارق اعتبارنامه های مربوط به INVISIBLEFERRET.JAVASCRIPT همچنین کیف پولهای رمزارز مانند MetaMask و Phantom و هم برنامههای حساس مانند مدیریت پسورد از جمله 1Password رو هدف قرار میده. تمام دادهها در قالب یک فایل فشرده جمع آوری شده و به یک سرور راه دور تحت کنترل مهاجم و همچنین چت خصوصی تلگرام مهاجم ارسال میشن.
نیازمندی های متمرکز در EtherHiding:
در حالیکه تمرکززدایی (Decentralization) اساس فناوری بلاکچین و Web3 هستش، در عمل، سرویسهای متمرکز بسیاری در این میان استفاده میشن که هم فرصت و هم خطر ایجاد میکنن. هرچند بلاکچین هایی مانند BNB Smart Chain غیرقابل تغییر و بدون نیاز به مجوز هستن و قراردادهای هوشمند مستقر در اونا قابل حذف نیستن، اما عملیات هکرها در این شبکه ها غیر قابل توقف نیست.
هکرهای UNC5342 (کره شمالی) و UNC5142 بصورت مستقیم با بلاکچین ارتباط ندارن، بلکه از سرویسهای متمرکز API استفاده میکنن. مشابه استفاده از خدمات سنتی Web2 مثل هاستینگ. این مسئله به مدافعان هوشمند اجازه میده فعالیتهای مخرب رو نظارت و مسدود کنن، چون این واسطه های متمرکز، نقاطی برای کنترل و مشاهده ترافیک محسوب میشن و میشه از طریق مسدود سازی، تعلیق اکانتها یا سایر روشها، با تهدید مقابله کرد. به عبارت دیگه، UNC5342 و UNC5142 برای تعامل با بلاکچین های غیرمتمرکز، از سرویسهایی استفاده میکنن که نیاز به مجوز دارن.
دو روش متفاوت برای این ارتباط وجود دارد:
- نقطه پایانی RPC (Remote Procedure Call): توسط UNC5142 (در کمپین CLEARFAKE) استفاده شده. این روش امکان ارتباط مستقیم با نودهای BNB Smart Chain رو فراهم میکنه.
- سرویس API متمرکز: توسط UNC5342 (کره شمالی) استفاده شده و یک لایه انتزاع بین مهاجم و بلاکچین ایجاد میکنه.
با وجود تفاوت های ظریف، اما این واسطه ها نقش حیاتی در مهار یا تسهیل عملیات دارن. راه دیگه که در این کمپینها مشاهده نشده، اجرای مستقیم یک گره کامل بلاکچین هستش، که بسیار پرهزینه، کند و قابل ردیابی هستش، بنابراین گزینهای مناسبی برای یک عملیات سایبری محسوب میشه.
در شبکه هایی مثل Ethereum یا BNB Smart Chain، نود کامل وظیفه داره: تمام تراکنشها و بلوکها رو از ابتدای شبکه دانلود کنه، امضاها و قوانین اجماع رو اعتبارسنجی کنه و در نهایت یک نسخه ی کامل از دفتر کل (Blockchain Ledger) رو روی دیسک خودش نگه داره. برای همین، نیازمند منابع و زمان زیادی هستش.
توصیهها و اقدامات دفاعی:
حملات مبتنی بر EtherHiding چالشی جدید هستن، چون روشهای سنتی (مانند مسدودسازی دامنه ها و IPها) دیگه کارآمد نیستن. مهاجمان میتونن با استفاده از قراردادهای هوشمند، مراحل گسترش بدافزار رو ادامه بدن، چون این قراردادها بصورت خودکار و غیرقابل حذف عمل میکنن. هرچند محققان امنیتی میتونن در اسکنرهای بلاکچین (مثل BscScan) قراردادهای آلوده رو بعنوان “Malicious” برچسب گذاری کنن، اما فعالیت مخرب همچنان میتونه ادامه پیدا کنه.

Chrome Enterprise: راهکار مقابله متمرکز:
سیستم Chrome Enterprise میتونه ابزاری قدرتمند، برای جلوگیری از حملات EtherHiding باشه. این سیستم با قابلیت مدیریت متمرکز خودش، امکان اعمال سیاستهایی رو فراهم میکنه که زنجیره حمله رو مختل میکنن. به این ترتیب، امنیت از سطح تصمیم گیری کاربران فردی به سمت مدیریت خودکار مرکزی منتقل میشه. قلب امنیت Chrome Enterprise در Chrome Browser Cloud Management نهفته هستش، ابزاری که مدیران سازمانی رو قادر میسازه سیاستهای امنیتی رو، روی تمام مرورگرهای کروم در شرکت اعمال کنن، بدون توجه به مکان یا دستگاه کاربر.
سیاستها و راهبردهای پیشگیرانه کلیدی:
یک مدیر میتونه از سیاستهای خاصی برای جلوگیری از حمله EtherHiding در چندین نقطه استفاده کنه:
1. مسدودسازی دانلودهای مخرب:
مؤثرترین روش برای متوقف کردن حمله، جلوگیری از دانلود فایل آلوده هستش.
- سیاست DownloadRestrictions: این سیاست این امکان رو میده تا از ذخیره فایلهایی با پسوندهای خطرناک مانند exe, dll, bat, msi و … جلوگیری بشه. این سیاست از ذخیره پیلود، روی سیستم جلوگیری کرده و عملا حمله رو متوقف میکنه.
2. مدیریت خودکار بروزرسانی مرورگر:
EtherHiding معمولا با مهندسی اجتماعی و پیامهایی مانند “کروم شما قدیمی است” (Your Chrome is out of date) قربانی رو فریب میده. در محیط سازمانی، این باید بعنوان یک علامت هشدار فوری در نظر گرفته بشه.
- سیاست Managed Updates: میتونه بروزرسانیها رو خودکار و در پس زمینه انجام بده.
- آموزش کاربر: از آنجا که بروزرسانیها مدیریت میشن، میشه کارمندان رو با یک پیام ساده و قدرتمند آموزش داد: “هرگز از شما خواسته نخواهد شد که کروم رو بصورت دستی بروزرسانی کنید.”. هرگونه درخواستی برای انجام این کار، کلاهبرداری تلقی میشه و بنابراین تاکتیک اصلی مهندسی اجتماعی رو تضعیف میکنه.
3. کنترل دسترسیهای وب و اسکریپتها:
در حالیکه مهاجمان دائما زیرساختهای خودشون رو تغییر میدن، سیاستها همچنان میتونن سطح حمله اولیه رو کاهش بدن.
- سیاست URLBlocklist: مدیران میتونن دسترسی به سایتها، دامنهها یا حتی URLهایِ گره هایِ بلاکچینِ مخربِ شناخته شده رو در صورت شناسایی توسط هوش تهدید، مسدود کنن.
- مرور ایمن: سیاستها میتونن Safe Browsing گوگل رو در پیشرفته ترین حالت خودش اجرا کنن، که از هوش تهدید در لحظه، برای هشدار به کاربران در مورد سایتهای فیشینگ و دانلودهای مخرب استفاده میکنه.
IOCهای گزارش:
| Type | Indicator | Context |
|---|---|---|
| SHA256 Hash (ZIP Archive) | 970307708071c01d32ef542a49099571852846a980d6e8eb164d2578147a1628 | آرشیو ZIP حاوی دانلودر اولیه، در این مورد JADESNOW. |
| SHA256 Hash (Initial JavaScript Downloader) | 01fd153bfb4be440dd46cea7bebe8eb61b1897596523f6f6d1a507a708b17cc7 | نمونه JADESNOW برای راه اندازی زنجیره ی آلودگی. |
| BSC Address (Smart Contract) | 0x8eac3198dd72f3e07108c4c7cff43108ad48a71c | قرارداد در BNB Smart Chain که UNC5342 برای میزبانی پیلود مرحله ی دوم JADESNOW ازش استفاده میکنه. |
| BSC Address (Attacker-Controlled) | 0x9bc1355344b54dedf3e44296916ed15653844509 | آدرس مالک قرارداد مخرب در شبکه BNB Smart Chain. |
| Ethereum Transaction Hash (INVISIBLEFERRET.JAVASCRIPT Payload) | 0x86d1a21fd151e344ccc0778fd018c281db9d40b6ccd4bdd3588cb40fade1a33a | تراکنشی که پیلود مربوط به INVISIBLEFERRET.JAVASCRIPT رو ذخیره کرده. |
| Ethereum Transaction Hash (INVISIBLEFERRET.JAVASCRIPT Split Payload) | 0xc2da361c40279a4f2f84448791377652f2bf41f06d18f19941a96c720228cd0f | تراکنشی که پیلود تقسیم شده INVISIBLEFERRET.JAVASCRIPT رو ذخیره میکنه. |
| Ethereum Transaction Hash (INVISIBLEFERRET Credential Stealer Payload) | 0xf9d432745ea15dbc00ff319417af3763f72fcf8a4debedbfceeef4246847ce41 | تراکنشی که پیلود اضافی سارق اعتبارنامهINVISIBLEFERRET.JAVASCRIPT رو ذخیره کرده. |
رول YARA:
|
1 2 3 4 5 6 7 8 9 10 11 12 |
rule G_Downloader_JADESNOW_1 { meta: author = "Google Threat Intelligence Group (GTIG)" strings: $s1 = "global['_V']" $s2 = "global['r']" $s3 = "umP" $s4 = "mergeConfig" $s5 = "charAt" nocase condition: uint16(0) != 0x5A4D and filesize < 10KB and #s3 > 2 and #s5 == 1 and all of them } |