By | 2 مهر 1404
QR کد آلوده در npm

پکیج جدید npm با نام ‘fezbox’ از کدهای QR برای دریافت بدافزار سرقت کوکی (cookie-stealing malware) از سرور C2 خود استفاده می‌کند.

این پکیج، که ظاهراً به عنوان یک کتابخانه utility معرفی شده، از فناوری نوین استگانوگرافی  (steganography)  بهره می‌برد تا داده‌های حساس مانند اطلاعات کاربری (user credentials) را از یک سیستم تحت نفوذ جمع‌آوری کند.
کدهای QR حالا کاربرد جدیدی پیدا کرده‌اند.

در حالی که  QR معمولاً برای انسان‌ها طراحی شده‌اند تا محتوای تبلیغاتی یا لینک‌های اشتراک‌گذاری را حمل کنند، مهاجمان کاربرد جدیدی برای آن‌ها یافته‌اند: پنهان کردن کدهای مخرب در داخل خود کد QR !

اخیرا یک پکیج مخرب با نام ‘fezbox’ شناسایی شده است که در مخزن npmjs.com منتشر شده است که بزرگ‌ترین مخزن متن‌باز برای توسعه‌دهندگان JavaScript و Node.js می باشد.

این پکیج آلوده حاوی دستورالعمل‌های مخفی است که یک تصویر JPG شامل کد QR را دانلود می‌کند و سپس آن را برای اجرای payload مخفی در مرحله دوم، تحلیل می‌نماید.

در زمان نگارش این متن، تعداد دانلودهای این پکیج حداقل ۳۲۷ بار بوده است.

QR کد آلوده در npmتصویر پکیج مخرب fezbox در npmjs.com

برای جلوگیری از تشخیص آدرس مخرب به صورت معکوس ذخیره‌شده است.  payload مخرب عمدتاً در فایل dist/fezbox.cjs قرار دارد (برای نمونه، نسخه ۱.۳.۰). کد درون این فایل، فشرده شده (minified) است.

در اسکریپت آن شرطی بررسی می شود که آیا برنامه در محیط توسعه (development environment) اجرا می‌شود یا خیر. این عمل یک ترفند مخفیانه است. هکر نمی‌خواهد در یک محیط مجازی یا محیط غیرتولیدی گرفتار شود، بنابراین غالباً محدودیت‌هایی برای زمان و نحوه اجرای exploit خود قرار می‌دهد.

پس از 120 ثانیه، کد را تحلیل و اجرا می‌کند که حاصل یک کد QR در رشته معکوس‌شده استخراج شده است.

QR کد آلوده در npm

آدرس مخرب در فایل CJS به صورت معکوس ذخیره شده است

رشته نشان‌داده‌شده در تصویر بالا، وقتی برعکس شود، به شکل زیر در می‌آید:

hxxps://res[.]cloudinary[.]com/dhuenbqsq/image/upload/v1755767716/b52c81c176720f07f702218b1bdc7eff_h7f6pn.jpg

ذخیره کردن URL به صورت معکوس، ترفند مخفیانه‌ ای است که مهاجم برای جلوگیری از شناسایی توسط ابزارهای تحلیل امنیت استفاده می کند.

برخلاف کدهای QR که معمولاً در تبلیغات یا محیط‌های تجاری مشاهده می‌کنیم، این مورد به شدت فشرده است و داده‌های بسیار بیشتری نسبت به حد معمول در خود جای داده است. مهاجمان به طور خاص این بارکد را طراحی کرده‌اند تا بتواند کدهای مخفی‌شده را حمل کند.

کد QR ارائه شده توسط URL در زیر نشان داده شده است:

محتوای مخفی‌شده، توضیح می‌دهد که هکر قادر است کوکی‌ها را با استفاده از document.cookie بخواند. سپس نام کاربری و رمز عبور را استخراج می‌کند..
اگر در کوکی سرقت‌شده هر دو مقدار نام کاربری و رمز عبور وجود داشته باشد، این اطلاعات را از طریق درخواست POST بر بستر HTTPS به آدرس https://my-nest-app-production[.]up[.]railway[.]app/users  ارسال می‌کند. در غیر این صورت، کاری نمی‌کند و به صورت مخفیانه خارج می‌شود.

قبلاً موارد زیادی را دیده‌ایم که کدهای QR در حملات فیشینگ و مهندسی اجتماعی استفاده می‌شوند — از نظرسنجی‌های جعلی گرفته تا بلیط‌های پارکینگ تقلبی. اما این موارد نیازمند تعامل انسانی است، یعنی فرد باید کد را اسکن کند و به سایت فیشینگ هدایت شود.

در مفهوم جدید QR codes می‌تواند کاربرد دیگری داشته باشد:

یک سیستم مخرب می‌تواند با آن‌ها با سرورهای فرمان و کنترل (C2) ارتباط برقرار کند، به گونه‌ای که برای پروکسی یا ابزارهای امنیت شبکه، فقط ترافیک تصویری معمولی به نظر برسد.

در حالی که استگانوگرافی سنتی اغلب کد مخرب را درون تصاویر، فایل‌های مدیا یا Metadata پنهان می‌کند، این روش یک قدم فراتر می‌رود و نشان می‌دهد که تهدیدکنندگان از هر رسانه‌ای که در دسترس باشد، بهره‌برداری می‌کنند.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *