Npmیک بسته مخرب آپلود شده در رجیستری npm پیدا شده است که یک تروجان دسترسی از راه دور پیچیده را روی ماشین‌های ویندوز به خطر انداخته است.

این بسته با نام “oscompatible[1]” در ۹ ژانویه ۲۰۲۴ منتشر شد و در مجموع ۳۸۰ بار[۲] قبل از حذف دانلود شد.

طبق گفته شرکت امنیتی زنجیره تأمین نرم‌افزار Phylum، oscompatible شامل[۳] “چند باینری عجیب” بود، از جمله یک فایل اجرایی، یک کتابخانه پیوند پویا (DLL) و یک فایل DAT رمزگذاری شده، به همراه یک فایل جاوا اسکریپت.

این فایل جاوا اسکریپت (“index.js”) یک اسکریپت دسته‌ای “autorun.bat” را اجرا می‌کند؛ اما تنها پس از اجرای بررسی سازگاری برای تعیین اینکه آیا ماشین موردنظر روی مایکروسافت ویندوز اجرا می‌شود یا خیر.

اگر پلتفرم ویندوز نباشد، یک پیام خطا به کاربر نشان می‌دهد که بیان می‌کند اسکریپت روی لینوکس یا یک سیستم‌عامل ناشناخته اجرا می‌شود و از او می‌خواهد آن را روی «سیستم‌عامل سرور ویندوز» اجرا کند.

اسکریپت دسته‌ای، به نوبه خود، تأیید می‌کند که آیا دارای امتیازات مدیریت است یا خیر، و در غیر این صورت، یک مؤلفه قانونی Microsoft Edge به نام «cookie_exporter.exe[4]» را از طریق یک فرمان PowerShell اجرا می‌کند.

تلاش برای اجرای باینری یک فرمان کنترل حساب کاربری ([۵]UAC) را راه‌اندازی می‌کند که از هدف می‌خواهد آن را با اعتبار مدیر اجرا کند.

در انجام این کار، عامل تهدید، مرحله بعدی حمله را با اجرای DLL (“msedge.dll”) با استفاده از تکنیکی به نام ربودن سفارش جستجوی DLL[6] انجام می‌دهد.

نسخه تروجانی شده کتابخانه برای رمزگشایی فایل DAT (“msedge.dat”) و راه‌اندازی یک DLL دیگر به نام “msedgedat.dll” طراحی شده است که به نوبه خود با یک دامنه کنترل شده توسط بازیگر به نام kdark1 [.]com برای بازیابی آرشیو ZIP. ارتباط برقرار می‌کند.

فایل ZIP به نرم‌افزار دسکتاپ از راه دور AnyDesk و همچنین یک تروجان دسترسی از راه دور (“verify.dll”) مجهز شده است که می‌تواند دستورالعمل‌ها را از یک سرور فرمان و کنترل (C2) از طریق WebSockets دریافت کند و اطلاعات حساس را از میزبان جمع آوری کند.

Phylum گفت: همچنین «افزونه‌های Chrome را در Secure Preferences نصب می‌کند، AnyDesk را پیکربندی می‌کند، صفحه را پنهان می‌کند، و خاموش‌کردن ویندوز را غیرفعال می‌کند، [و] رویدادهای صفحه‌کلید و ماوس را ضبط می‌کند».

درحالی‌که به نظر می‌رسد “oscompatible” تنها ماژول npm است که به‌عنوان بخشی از این کمپین به کار می‌رود، این توسعه یک ‌بار دیگر نشانه آن است که عوامل تهدید به طور فزاینده‌ای اکوسیستم‌های نرم‌افزار منبع‌باز (OSS) را برای حملات زنجیره تأمین مورد هدف قرار می‌دهند.

این شرکت گفت: «از جنبه باینری، فرایند رمزگشایی داده‌ها، استفاده از گواهی لغو شده برای امضا، کشیدن فایل‌های دیگر از منابع راه دور، و تلاش برای پنهان‌کردن خود به‌عنوان یک فرایند به‌روزرسانی استاندارد ویندوز در تمام طول مسیر، در مقایسه با آنچه که معمولاً در اکوسیستم‌های OSS می‌بینیم، نسبتاً پیچیده است.»

این افشاگری زمانی منتشر شد که شرکت امنیت ابری Aqua فاش کرد که ۲۱٫۲ درصد از ۵۰۰۰۰ بسته برتر npm دانلود شده منسوخ شده است و کاربران را در معرض خطرات امنیتی قرار می دهد. به عبارت دیگر، بسته‌های منسوخ شده حدود ۲٫۱ میلیارد بار در هفته دانلود می‌شوند.

این شامل مخازن بایگانی شده و حذف شده GitHub مرتبط با بسته‌ها و همچنین آنهایی است که بدون مخزن قابل‌مشاهده، تاریخچه تعهد و ردیابی مشکل نگهداری می‌شوند.

ایلای گلدمن و یاکیر کدکودا، محققین امنیتی، می‌گویند[۷]: «این وضعیت زمانی بحرانی می‌شود که نگهبانان، به‌جای پرداختن به نقص‌های امنیتی با وصله‌ها یا CVE، بسته‌های آسیب‌دیده را منسوخ کنند.»

«چیزی که این موضوع را به‌ویژه نگران‌کننده می‌کند این است که در برخی مواقع، این نگهدارنده‌ها به طور رسمی بسته را به‌عنوان منسوخ شده در npm علامت‌گذاری نمی‌کنند و برای کاربرانی که ممکن است از تهدیدات احتمالی بی‌اطلاع بمانند، یک شکاف امنیتی ایجاد می‌کنند.»

منابع

[۱] https://www.npmjs.com/package/oscompatible

[۲] https://npm-stat.com/charts.html?package=oscompatible

[۳] https://blog.phylum.io/npm-package-found-delivering-sophisticated-rat

[۴] https://strontic.github.io/xcyclopedia/library/cookie_exporter.exe-B0C87F3920F427C6DE3FE1A3EF3831D5.html

[۵] https://learn.microsoft.com/en-us/windows/security/application-security/application-control/user-account-control/how-it-works#the-uac-user-experience

[۶] https://thehackernews.com/2024/01/new-variant-of-dll-search-order.html

[۷] https://blog.aquasec.com/deceptive-deprecation-the-truth-about-npm-deprecated-packages

[۸] https://thehackernews.com/2024/01/npm-trojan-bypasses-uac-installs.html