پژوهشگران امنیت سایبری بدافزار JSCeal را، یک بدافزار JavaScript کامپایلشده برای V8 (JSC) با قابلیتهای سرقت اعتبارنامه، نظارت و رهگیری ترافیک، آنپک کردند.
«پیلودها با javascript-obfuscator محافظت شدهاند و از چندین تکنیک از جمله رشتههای محافظتشده با RC4، تختسازی جریان کنترل، توابع پراکسی و wrapperهای عملیات استفاده میشود»، پژوهشگران Check Point Research در یک گزارش فنی که هفته گذشته منتشر شد، گفتند.
بدافزار JSCeal نخستینبار در ژوئیه 2025 توسط Check Point مستندسازی شد و در آن بر استفاده عاملان تهدید از وبسایتهای جعلی معاملات رمزارز که کاربران بیخبر از طریق آگهیهای مخرب در Facebook و Google به آنها هدایت میشوند، تأکید شد. این وبسایتهای جعلی به آنها دستور میدهند نصابهای قلابی TradingView را دانلود کنند که به استقرار بدافزار منجر میشود. این فعالیت با خوشه تهدیدی که با نامهای WEEVILPROXY و MeadowLocust ردیابی میشود همپوشانی دارد.
کمپینهای malvertising که این بدافزار را توزیع میکنند از دو آرشیو ZIP که از طریق PowerShell تحویل میشوند استفاده میکنند: یکی شامل runtime مربوط به Node.js و دیگری شامل پیلود اصلی و مؤلفههای کمکی دیگر.
تا همین ماه گذشته، پلتفرم امنیت تبلیغات Confiant جزئیات یک عملیات malvertising عظیم با نام کد SourTrade را افشا کرد که مشاهده شده با تقلید از برندهای معتبر معاملات و رمزارز مانند Solana، Luno و TradingView، پورتالهای مشابهی را با JavaScript مخرب ارائه میکند که به مرورگرهای وب دستور میدهد بدافزار را مستقیماً در حافظه مونتاژ کنند.
برآورد میشود این کمپین از اواخر 2024 فعال بوده و معاملهگران خرد و سرمایهگذاران رمزارز را در 12 کشور و به 25 زبان، عمدتاً در آسیا-اقیانوسیه و آمریکای لاتین، هدف قرار داده است. شواهد نشان میدهد که این کمپین با یک کمپین JSCeal که در سپتامبر 2025 توسط Bitdefender توصیف شد، همپوشانی دارد.
«آنچه SourTrade را از نظر فنی متمایز میکند، رخدادهایی است که در صفحه فرود آن اتفاق میافتد»، Confiant گفت. «این بدافزار نهاییشده را توزیع نمیکند. در عوض، دستورالعملهای مونتاژ را به مرورگر قربانی تحویل میدهد، یک فایل سالم و مشروع را از زیرساختی جداگانه بازیابی میکند و مرورگر را هدایت میکند تا بدافزار نهایی را در حافظه روی دستگاه قربانی بسازد. هرگز هیچ بدافزار نهاییشدهای روی شبکه وجود ندارد.»
بدافزار JSCeal با استفاده از javascript-obfuscator محافظت میشود و گردانندگان آن بارها از چهار گروه تبدیل برای مبهمسازی بدافزار بهره میبرند. این موارد عبارتاند از:
- جایگزینی نامهای تابع و متغیر با شناسههای کوتاه یا بیمعنا
- تقسیم رشتههای مهم به قطعهها (که سپس کدگذاری و با RC4 محافظت میشوند) و بازسازی آنها از طریق توابع decoder
- بهکارگیری تختسازی جریان کنترل برای تبدیل جریان برنامه به یک switch تکسطحیِ تخت که توسط یک حلقه بینهایت و یک متغیر حالت کنترل میشود، با هدف دشوارسازی تحلیل و مهندسی معکوس
- ارسال فراخوانیهای تابع از طریق توابع کمکیِ پراکسی و پیچیدنِ عملیات ساده مانند جمع، تفریق، مقایسه یا فراخوانی تابع در توابع کمکیِ اختصاصی
یک شرکت امنیت سایبری اسرائیلی اعلام کرد که یک «fully static deobfuscation pipeline» توسعه داده است تا بایتکد JavaScriptِ کامپایلشده V8 که با این ابزار محافظت شده است را رمزگشایی کند؛ بدینترتیب بینشی درباره جریان اجرای بدافزار و قابلیتهای آن ارائه میشود، از جمله توانایی فهرستکردن مرورگرهای نصبشده و پرسوجو از اطلاعات محرمانه ذخیرهشده، کوکیها، توکنهای OAuth و سایر دادهها؛ همچنین توابع “router” که handlerها را برای اطلاعات جمعآوریشده ثبت میکنند.
ماژول سرقت مرورگر فهرست بلندبالایی از مرورگرهای مبتنی بر Chromium را هدف میگیرد؛ از جمله Google Chrome، Microsoft Edge، Brave، Opera، Opera GX، Avast Secure Browser، Vivaldi و Cốc Cốc. برای هر مرورگر، بدافزار به مکان مورد انتظار دایرکتوری user-data آن میرود و پروفایلهای در دسترس را فهرست میکند و از آنجا کوکیها و گذرواژهها استخراج میشوند.
افزون بر این، بدافزار JSCeal قادر است دادههای کوکیِ سرقتشده را برای بازسازی یک نشست مرورگر بهکار گیرد و حملات بازپخش نشستِ فعال انجام دهد تا احراز هویت را دور بزند و به حساب Google قربانی بهطور غیرمجاز دسترسی یابد. ماژول دومی که در بدافزار تعبیه شده است با ثبت ضربهکلیدها و گرفتن اسکرینشات، قابلیتهای نظارتی ارائه میکند.
«یک تکنیک رایج که توسط تروجانهای بانکی استفاده میشود این است که یک پراکسی محلی نصب کنند و محتوای وب را در سرویسهای منتخب تزریق یا اصلاح کنند»، شرکت Check Point گفت. «JSCeal الگوی مشابهی را دنبال میکند: کد بازیابیشده راهاندازی پراکسی، تولید و نصب گواهی، و تغییر درخواست و پاسخِ ویژه هر سرویس را نشان میدهد.»
“پروکسی به شنود غیرفعال محدود نیست. کد بازیابیشده شامل هندلرهای اختصاصی است که درخواستها و پاسخهای منتخب را برای سرویسهای مشخص تغییر میدهند. یک تابع پیکربندی overrideهای جداگانهای برای Binance، Bybit و Ledger ارائه میدهد، و همچنین هندلرهای عمومی برای جایگزینی HTML، مسدود کردن میزبانها و پاکسازی کوکیهای منتخب.”
چندین هندلر نیز بهطور خاص بر پلتفرمهای رمزارزی متمرکز هستند، که یکی از آنها دادههای حساب را گردآوری و موجودیهای رمزارز را ثبت میکند.
“در JSCeal، دو شکل مانع برای تحلیل ترکیب شده است: یک فرمت کامپایلشدهٔ مخصوص نسخه برای V8 و چندین لایه مبهمسازی JavaScript که پیش از کامپایل اعمال شدهاند. هیچیک از این موارد مهندسی معکوس بدافزار را ناممکن نمیکند، اما در کنار هم آن را بیرون از گردشکارهای معمولی که تحلیلگران معمولاً به آنها اتکا میکنند، میبرند”، پژوهشگر امنیتی Aleksandra “Hasherezade” Doniec گفت.
“در مجموع، این تحولات نشان میدهند که نویسندگان JSCeal هم برای دشوارتر کردن تحلیل payload و هم برای گسترش پوشش پلتفرمی آن سرمایهگذاری میکنند. با ادامه داشتن کمپینها در ماههای اخیر، این تغییرات نشان میدهند که JSCeal همچنان تحت توسعهٔ فعال است.”










