Packagistمخزن بسته نرم‌افزاری PHP Packagist فاش کرد که یک “مهاجم” به چهار حساب غیرفعال در پلتفرم دسترسی پیدا کرده است و بیش از دوازده بسته را با بیش از ۵۰۰ میلیون نصب تا به امروز ربوده است.

Nils Adermann از Packagist دراین‌باره گفت[۱]: “هجوم هر یک از بسته‌ها را به چند بخش تقسیم کرد و توضیحات بسته در composer.json[2] را با پیام خود جایگزین کرد، اما به‌غیراز این هیچ تغییر مخربی ایجاد نکرد. سپس URL های بسته تغییر کردند تا به مخازن تقسیم‌شده اشاره کنند.”

گفته می‌شود که این چهار حساب کاربری درمجموع به ۱۴ بسته، ازجمله چندین بسته Doctrine دسترسی داشته‌اند. این حادثه در ۱ می ۲۰۲۳ رخ داد. لیست کامل بسته‌های آسیب‌دیده به شرح زیر است:

  • acmephp/acmephp
  • acmephp/core
  • acmephp/ssl
  • doctrine/doctrine-cache-bundle
  • doctrine/doctrine-module
  • doctrine/doctrine-mongo-odm-module
  • doctrine/doctrine-orm-module
  • doctrine/instantiator
  • growthbook/growthbook
  • jdorn/file-system-cache
  • jdorn/sql-formatter
  • khanamiryan/qrcode-detector-decoder
  • object-calisthenics/phpcs-calisthenics-rules
  • tga/simhash-php

محقق امنیتی Ax Sharma که برای Bleeping Computer می‌نویسد، فاش کرد[۳] که این تغییرات توسط یک تستر نفوذ ناشناس با نام مستعار “neskafe3v1” در تلاش برای یافتن شغل ایجاد شده است.

به‌طور خلاصه، زنجیره حمله، تغییر صفحه Packagist برای هر یک از این بسته‌ها را به یک مخزن GitHub همنام امکان‌پذیر می‌سازد، و به‌طور مؤثر گردش کار نصب را در محیط‌های Composer تغییر می‌دهد.

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

Packagist گفت که هیچ تغییر مخرب دیگری توزیع نشد و همه حساب‌ها غیرفعال شدند و بسته‌های آن‌ها در ۲ مه ۲۰۲۳ بازیابی شدند. همچنین از کاربران می‌خواهد که احراز هویت دومرحله‌ای (۲FA) را برای ایمن کردن حساب‌های خود فعال کنند.

Adermann خاطرنشان کرد: “به نظر می‌رسد هر چهار حساب از رمزهای عبور مشترک استفاده می‌کنند که در حوادث قبلی در سایر پلتفرم‌ها به بیرون درز کرده است. لطفاً از رمزهای عبور مجدد استفاده نکنید.”

این توسعه زمانی صورت می‌گیرد که شرکت امنیت ابری Aqua هزاران رجیستری و مخازن نرم‌افزار ابری را که حاوی بیش از ۲۵۰ میلیون artifact و بیش از ۶۵۰۰۰ تصویر کانتینر هستند، شناسایی کرده است.

پیکربندی‌های نادرست ناشی از اتصال اشتباه رجیستری‌ها به اینترنت، امکان دسترسی ناشناس بر اساس طراحی، استفاده از رمزهای عبور پیش‌فرض و اعطای امتیازات آپلود به کاربران، می‌توانند برای مسموم کردن رجیستری با کدهای مخرب مورد سوءاستفاده قرار گیرند.

محققان Mor Weinberger و Assaf Morag اواخر ماه گذشته فاش کردند که[۴]: “در برخی از این موارد، دسترسی کاربر ناشناس به مهاجم بالقوه اجازه می‌دهد تا اطلاعات حساسی مانند secret ها، کلیدها و رمزهای عبور را به دست آورد که می‌تواند منجر به حمله شدید زنجیره تأمین نرم‌افزار و مسمومیت چرخه عمر توسعه نرم‌افزار (SDLC) شود.”

 

منابع

[۱] https://blog.packagist.com/packagist-org-maintainer-account-takeover

[۲] https://thehackernews.com/2022/10/researchers-report-supply-chain.html

[۳] https://www.bleepingcomputer.com/news/security/researcher-hijacks-popular-packagist-php-packages-to-get-a-job

[۴] https://blog.aquasec.com/250m-artifacts-exposed-via-misconfigured-registries

[۵] https://thehackernews.com/2023/05/packagist-repository-hacked-over-dozen.html