بدافزار JSCeal چگونه با سرقت کوکی نشست، احراز هویت گوگل را دور میزند؟
بدافزار JSCeal با سرقت Session Cookie، رمزهای عبور و توکنهای OAuth میتواند نشست مرورگر قربانی را بازسازی و به حساب گوگل دسترسی پیدا کند.
بدافزار JSCeal به قابلیتهای پیشرفتهای برای سرقت اطلاعات احراز هویت، جاسوسی، رهگیری ترافیک و سوءاستفاده از نشستهای فعال مرورگر مجهز شده است. پژوهشگران امنیت سایبری میگویند این بدافزار میتواند با استفاده از کوکیهای سرقتشده نشست (Session Cookies)، نشست مرورگر قربانی را بازسازی کرده و حتی بدون نیاز به رمز عبور، به حساب گوگل او دسترسی پیدا کند.
پژوهشگران Check Point Research در بررسی فنی جدید خود، جزئیات فنی JSCeal را تشریح کردهاند؛ بدافزاری که در قالب بایتکد کامپایلشده JavaScript مبتنی بر V8 اجرا میشود و چندین لایه تکنیکهای مبهمسازی (Obfuscation) را برای دشوارتر کردن تحلیل و مهندسی معکوس به کار میگیرد.
JSCeal چیست و چگونه منتشر میشود؟
JSCeal نخستین بار در ژوئیه ۲۰۲۵ توسط Check Point شناسایی شد. در کمپینهای اولیه، مهاجمان با استفاده از تبلیغات مخرب در Facebook و Google، کاربران را به وبسایتهای جعلی مرتبط با معاملات ارز دیجیتال هدایت میکردند.
این وبسایتها ظاهری شبیه سرویسهای معتبر داشتند و کاربران را به دانلود نسخه جعلی نرمافزار TradingView ترغیب میکردند. اجرای این نصبکننده جعلی در نهایت به استقرار بدافزار JSCeal روی سیستم قربانی منجر میشد.
فعالیتهای مرتبط با این تهدید با گروههایی با نامهای WEEVILPROXY و MeadowLocust نیز همپوشانی دارد.
در کمپینهای Malvertising مربوط به JSCeal، معمولاً دو فایل ZIP از طریق PowerShell دریافت میشود؛ یکی شامل محیط اجرای Node.js و دیگری حاوی Payload اصلی بدافزار و اجزای جانبی آن است.
سوءاستفاده از تبلیغات مخرب برای انتشار بدافزار
در ماههای اخیر، JSCeal با کمپین گستردهتری از تبلیغات مخرب موسوم به SourTrade نیز مرتبط دانسته شده است.
در این عملیات، مهاجمان با جعل برندهای معتبر حوزه معاملات و ارزهای دیجیتال مانند Solana، Luno و TradingView، صفحات وب مشابه نمونههای اصلی ایجاد میکنند. این صفحات حاوی JavaScript مخربی هستند که مرورگر کاربر را وادار میکند اجزای بدافزار را مستقیماً در حافظه سیستم سرهم کند.
یکی از ویژگیهای مهم این روش آن است که بدافزار نهایی الزاماً بهصورت یک فایل آماده روی شبکه ارسال نمیشود؛ بلکه مرورگر قربانی دستورالعملهای لازم را دریافت کرده، یک فایل قانونی را از زیرساخت دیگری دریافت میکند و سپس Payload نهایی را در حافظه سیستم ایجاد میکند.
بر اساس ارزیابیهای منتشرشده، کمپین SourTrade از اواخر سال ۲۰۲۴ فعال بوده و معاملهگران خرد و سرمایهگذاران ارزهای دیجیتال را در ۱۲ کشور و ۲۵ زبان هدف قرار داده است؛ بخش قابلتوجهی از قربانیان نیز در مناطق آسیا-اقیانوسیه و آمریکای لاتین قرار داشتهاند.
چهار لایه مبهمسازی برای مخفی کردن JSCeal
اپراتورهای JSCeal برای جلوگیری از شناسایی و تحلیل Payload از ابزار javascript-obfuscator استفاده کردهاند. کد بدافزار پیش از کامپایل شدن تحت چندین مرحله مبهمسازی قرار میگیرد.
مهمترین این تکنیکها عبارتاند از:
- تغییر نام توابع و متغیرها: نامهای معنادار با شناسههای کوتاه یا بیمعنی جایگزین میشوند.
- قطعهقطعه کردن رشتههای مهم: رشتههای حساس به بخشهای کوچکتر تقسیم شده، سپس رمزگذاری و با RC4 محافظت میشوند و در زمان اجرا دوباره بازسازی میشوند.
- Control-Flow Flattening: ساختار منطقی برنامه به یک مسیر کنترل تخت و پیچیده تبدیل میشود تا تحلیل و مهندسی معکوس کد دشوارتر شود.
- Proxy و Wrapper Functions: فراخوانی توابع و حتی عملیات سادهای مانند جمع، تفریق، مقایسه و اجرای توابع از طریق توابع کمکی انجام میشود.
Check Point برای مقابله با این لایههای محافظتی، یک فرآیند کاملاً ایستا برای Deobfuscation توسعه داده است که امکان استخراج و تحلیل بایتکد JavaScript کامپایلشده V8 را فراهم میکند.
سرقت کوکیها و رمزهای ذخیرهشده مرورگر
تحلیل کد بازیابیشده نشان میدهد JSCeal طیف گستردهای از مرورگرهای مبتنی بر Chromium را هدف قرار میدهد؛ از جمله:
Google Chrome، Microsoft Edge، Brave، Opera، Opera GX، Avast Secure Browser، Vivaldi و Cốc Cốc.
بدافزار برای هر مرورگر، مسیرهای معمول محل ذخیره دادههای کاربر را بررسی کرده و پروفایلهای موجود را شناسایی میکند. سپس میتواند اطلاعات حساسی مانند کوکیها، رمزهای عبور ذخیرهشده، توکنهای OAuth و سایر دادههای مرورگر را استخراج کند.
اما خطرناکترین قابلیت JSCeal، صرفاً سرقت این اطلاعات نیست.
دور زدن احراز هویت گوگل با Session Cookie
JSCeal میتواند از کوکیهای سرقتشده برای بازسازی نشست مرورگر استفاده کند و حملهای موسوم به Session Replay انجام دهد.
در این سناریو، مهاجم بهجای تلاش برای بهدستآوردن رمز عبور کاربر، از اطلاعات نشست فعال او استفاده میکند. در نتیجه، امکان دسترسی غیرمجاز به حساب قربانی وجود دارد، حتی اگر کاربر از روشهای امنیتی مانند احراز هویت چندمرحلهای استفاده کرده باشد.
به بیان ساده، سرقت Session Cookie میتواند مهاجم را قادر کند بدون دانستن رمز عبور، نشست احراز هویتشده قربانی را بازپخش کند.
این قابلیت، JSCeal را به تهدیدی جدی برای حسابهای کاربری و اطلاعات ذخیرهشده در مرورگر تبدیل میکند.
قابلیتهای جاسوسی JSCeal
JSCeal علاوه بر سرقت دادههای مرورگر، یک ماژول نظارتی نیز در اختیار دارد.
این ماژول میتواند:
- کلیدهای فشردهشده توسط کاربر را ثبت کند؛
- از صفحهنمایش اسکرینشات بگیرد؛
- اطلاعات جمعآوریشده را مدیریت و به بخشهای مختلف بدافزار منتقل کند.
ترکیب این قابلیتها به مهاجم اجازه میدهد علاوه بر سرقت اطلاعات ذخیرهشده، فعالیت کاربر را نیز زیر نظر بگیرد.
رهگیری و دستکاری ترافیک اینترنت
یکی دیگر از قابلیتهای قابلتوجه JSCeal، استفاده از یک پروکسی محلی برای رهگیری و تغییر ترافیک وب است.
بررسی کد نشان داده است که بدافزار میتواند فرآیندهایی مانند راهاندازی Proxy، ایجاد و نصب گواهی و تغییر درخواستها و پاسخهای سرویسهای مشخص را انجام دهد.
این قابلیت تنها به شنود ترافیک محدود نمیشود. JSCeal دارای Handlerهای اختصاصی برای تغییر برخی درخواستها و پاسخهاست.
در کد بدافزار، تنظیمات جداگانهای برای سرویسهایی مانند:
- Binance
- Bybit
- Ledger
وجود دارد.
همچنین Handlerهای عمومی برای جایگزین کردن محتوای HTML، مسدود کردن Hostها و حذف برخی کوکیها در نظر گرفته شدهاند.
تمرکز ویژه بر پلتفرمهای ارز دیجیتال
بخشی از Handlerهای JSCeal بهطور اختصاصی برای پلتفرمهای مرتبط با ارزهای دیجیتال طراحی شدهاند.
یکی از این اجزا میتواند اطلاعات حساب کاربر را جمعآوری کرده و موجودی ارزهای دیجیتال او را ثبت کند. این موضوع نشان میدهد که هدف JSCeal صرفاً سرقت اطلاعات ورود نیست و مهاجمان بهدنبال جمعآوری دادههای مالی و داراییهای دیجیتال قربانیان نیز هستند.
چرا تحلیل JSCeal دشوار است؟
به گفته پژوهشگران، JSCeal از دو لایه اصلی برای دشوار کردن تحلیل استفاده میکند.
لایه نخست، استفاده از فرمت کامپایلشده و وابسته به نسخه V8 است. لایه دوم نیز مجموعهای از تکنیکهای مبهمسازی JavaScript است که پیش از کامپایل روی کد اعمال میشوند.
هرکدام از این روشها بهتنهایی نمیتواند تحلیل بدافزار را غیرممکن کند، اما ترکیب آنها باعث میشود JSCeal از روندهای معمول تحلیل بدافزار فاصله بگیرد و بررسی آن برای پژوهشگران امنیتی زمانبرتر شود.
JSCeal همچنان در حال توسعه است
تحلیلهای جدید نشان میدهند که توسعهدهندگان JSCeal بهطور مداوم در حال افزایش قابلیتهای این بدافزار و دشوارتر کردن فرآیند مهندسی معکوس آن هستند.
گسترش پشتیبانی از مرورگرهای مختلف، سرقت کوکی و توکنهای احراز هویت، قابلیت Session Replay برای دسترسی به حسابهای گوگل، ثبت کلیدهای فشردهشده، تصویربرداری از صفحه و رهگیری ترافیک، مجموعهای از قابلیتها را در اختیار مهاجمان قرار داده است که JSCeal را به یک تهدید چندمنظوره تبدیل میکند.
ادامه فعالیت کمپینهای مرتبط در ماههای اخیر نیز نشان میدهد که این بدافزار هنوز در حال توسعه است و احتمالاً قابلیتها و روشهای انتشار آن در آینده تغییر خواهد کرد.
جمعبندی
JSCeal نمونهای از نسل جدید بدافزارهایی است که تنها به سرقت نام کاربری و رمز عبور اکتفا نمیکنند. سرقت Session Cookie و بازپخش نشست به مهاجمان اجازه میدهد در برخی سناریوها از لایههای معمول احراز هویت عبور کرده و به حسابهای قربانیان دسترسی پیدا کنند.
استفاده از تبلیغات مخرب، وبسایتهای جعلی، JavaScript مبهمسازیشده، بایتکد V8 و قابلیتهای پیشرفته سرقت اطلاعات، نشان میدهد که تهدیدهای مبتنی بر مرورگر روزبهروز پیچیدهتر میشوند.
کاربران باید هنگام دانلود نرمافزار از تبلیغات اینترنتی، بهخصوص نرمافزارهای مرتبط با معاملات و ارزهای دیجیتال، احتیاط بیشتری داشته باشند و از نصب فایلها و برنامههایی که از منابع ناشناس یا صفحات تبلیغاتی دریافت میشوند خودداری کنند.