بسته UAParser.js NPM که 8 میلیون دانلود در هفته دارد، بدافزار تزریق می شود.

داستان حذف سه بسته مخرب از مخزن NPM که کد کتابخانه UAParser.js را کپی می‌کردند، ادامه غیرمنتظره‌ای دریافت کرد - مهاجمان ناشناس کنترل حساب نویسنده پروژه UAParser.js را به دست گرفتند و به‌روزرسانی‌هایی حاوی کد را منتشر کردند. سرقت رمز عبور و استخراج ارزهای دیجیتال.

مشکل اینجاست که کتابخانه UAParser.js که توابعی را برای تجزیه سرآیند User-Agent HTTP ارائه می دهد، حدود 8 میلیون دانلود در هفته دارد و به عنوان یک وابستگی در بیش از 1200 پروژه استفاده می شود. بیان شده است که UAParser.js در پروژه های شرکت هایی مانند مایکروسافت، آمازون، فیس بوک، اسلک، دیسکورد، موزیلا، اپل، پروتون میل، اتودسک، ردیت، ویمئو، اوبر، دل، آی بی ام، زیمنس، اوراکل، اچ پی و وریسون استفاده می شود. .

این حمله از طریق هک کردن حساب توسعه‌دهنده پروژه انجام شد که پس از ورود موج غیرمعمولی از هرزنامه به صندوق پستی وی، متوجه شد که مشکلی وجود ندارد. اینکه چگونه حساب توسعه دهنده دقیقاً هک شده است گزارش نشده است. مهاجمان نسخه های 0.7.29، 0.8.0 و 1.0.0 را ایجاد کردند و کدهای مخرب را به آنها وارد کردند. در عرض چند ساعت، توسعه دهندگان کنترل پروژه را دوباره به دست گرفتند و به روز رسانی های 0.7.30، 0.8.1 و 1.0.1 را برای رفع مشکل ایجاد کردند. نسخه های مخرب فقط به صورت بسته در مخزن NPM منتشر شدند. مخزن Git پروژه در GitHub تحت تأثیر قرار نگرفت. به همه کاربرانی که نسخه های مشکل دار را نصب کرده اند، اگر فایل jsextension را در Linux/macOS و فایل های jsextension.exe و create.dll را در ویندوز پیدا کردند، توصیه می شود که سیستم را در معرض خطر قرار دهند.

تغییرات مخرب اضافه شده یادآور تغییراتی بود که قبلاً در کلون های UAParser.js پیشنهاد شده بود، که به نظر می رسید برای آزمایش عملکرد قبل از حمله در مقیاس بزرگ به پروژه اصلی منتشر شده بود. فایل اجرایی jsextension از یک میزبان خارجی که بسته به پلتفرم کاربر انتخاب شده بود و از کار روی لینوکس، macOS و ویندوز پشتیبانی می‌کرد، دانلود و بر روی سیستم کاربر راه‌اندازی شد. برای پلتفرم ویندوز، علاوه بر برنامه استخراج ارز دیجیتال Monero (ماینر XMRig استفاده شد)، مهاجمان همچنین معرفی کتابخانه create.dll را برای رهگیری رمزهای عبور و ارسال آنها به یک میزبان خارجی سازماندهی کردند.

کد دانلود به فایل preinstall.sh اضافه شد، که در آن IP=$(curl -k https://freegeoip.app/xml/ | grep 'RU|UA|BY|KZ') در صورت [ -z" درج شد. $ IP" ] ... فایل اجرایی fi را دانلود و اجرا کنید

همانطور که از کد پیداست، اسکریپت ابتدا آدرس IP را در سرویس freegeoip.app بررسی کرد و یک برنامه مخرب برای کاربران روسیه، اوکراین، بلاروس و قزاقستان راه اندازی نکرد.

منبع: opennet.ru

اضافه کردن نظر