تم اختراق إصدارات الإصدار التجريبي من حزمتي npm في مساحة الاسم @joyfill لتقديم حصان طروادة للوصول عن بعد (RAT) المرتبط بـ ديف#بوبير عائلة البرمجيات الخبيثة.

قائمة الحزم المتضررة هي كما يلي –

  • @joyfill/layouts@0.1.2-2773.beta.0
  • @joyfill/components@4.0.0-rc24-2773-beta.4

وقال سوكيت في تحليل، إن الحزمتين “تحتويان على غرسة جافا سكريبت لوقت الاستيراد تعمل على حل التعليمات البرمجية المشفرة من خلال معاملات Tron وAptos وBNB Smart Chain”.

على عكس الحزم الضارة الأخرى التي يتم تشغيلها عبر ربط دورة حياة npm، فإن عملية الزرع التي يتم تسليمها كجزء من مكتبات JavaScript تعمل عندما يقوم Node.js بتحميل نقطة إدخال حزمة CommonJS.

تجدر الإشارة إلى أن استخدام بنية محلل بلوكتشين متعددة تضم Tron وAptos وBNB Smart Chain (BSC) قد تم ربطه بمجموعة تهديدات يتم تتبعها باسم PolinRider، والتي تم تقييمها على أنها مرتبطة بـ Contagious Interview.

في وقت سابق من هذا الشهر، سلط كل من Checkmarx وOpenSourceMalware الضوء على مجموعة من حزم npm الخبيثة التي يشار إليها مجتمعة باسم ViteVenom التي تستهدف النظام البيئي لأدوات الواجهة الأمامية لـ Vite باستخدام نفس البنية التحتية للقيادة والتحكم (C2) القائمة على blockchain لتقديم RAT مع الغلاف العكسي، وجمع بيانات الاعتماد، واستخراج الملفات، وقدرات الحقن الخلفي المستمر.

تتكون عملية الزرع من تسلسلين متوازيين من الإجراءات –

  • فرع قيد التشغيل يؤدي إلى استرداد حمولة JavaScript تبلغ 77 كيلو بايت مع أوجه تشابه مع عائلة البرامج الضارة DEV#POPPER
  • فرع ثانوي يقوم بتشغيل عملية Node.js منفصلة، ​​ويطلب حمولة تمهيد منفصلة من 23.27.13[.]43، يفك تشفير الرد، ويقيمه

بمجرد تحميل الحزمة، فإنها تبدأ إرسالًا قائمًا على blockchain يحصل على تجزئة معاملة BSC من أحدث معاملة صادرة لعنوان Tron مشفر. إذا فشلت هذه الخطوة، فإنه يستعلم عن حساب Aptos كإجراء احتياطي لجلب معاملة BSC، ومنه، يتم فك تشفير كود JavaScript واستخراجه وتنفيذه.

يستخدم كل من الفروع قيد المعالجة والفروع المنفصلة مجموعة متميزة من عناوين المحفظة والحسابات والمعاملات الخاصة بـ Tron وAptos وBSC. ويعني استخدام blockchain أيضًا أنه يوفر مرونة تشغيلية ويجعل من الممكن تبديل الحمولات دون الحاجة إلى نشر نسخة جديدة من الحزم.

الحمولة الأولى قيد التشغيل هي أداة تحميل JavaScript التي تستخدم طريقة حل blockchain لاسترداد برنامج ضار من المرحلة الثانية يسمى “clientCode”. من ناحية أخرى، تستعلم العملية المنفصلة عن عنوان IP المذكور أعلاه للحصول على كود JavaScript وتنفيذه.

وأوضح سوكيت: “هذا فرع تسليم زائد عن الحاجة، وليس بديلاً غير ضار”. “لقد تم فصله عن عملية استيراد Node.js ويمكن أن يستمر بعد خروج أمر البناء أو الاختبار أو واجهة سطر الأوامر.”

الحمولة النهائية لـ “clientCode” مبهمة بشكل كبير وتعمل كـ Node.js RAT مع الميزات التالية، مع تجنب التنفيذ على أجهزة التطوير أو CI أو وضع الحماية بأسماء المضيفين github-runner و buildbot و buildkitsandbox و microsoft-standard-WSL2 –

  • تحميل الملفات إلى مضيف التحميل الذي تم تكوينه
  • استرداد جافا سكريبت إضافية
  • جمع تفاصيل المضيف الأساسية
  • إرسال رسائل تسجيل الحالة
  • قراءة بيانات الحافظة من خلال PowerShell على Windows، وpbpaste على macOS، وxclip أو xsel على Linux

تم ربط حمولتين بالعملية المنفصلة: RAT “clientCode” وأداة سرقة معلومات Python التي يمكنها جمع مجموعة واسعة من البيانات من الأجهزة المضيفة المخترقة. تم تقييمه على أنه تكرار للبرامج الضارة OmniStealer، والتي تم تسليط الضوء على تفاصيلها لأول مرة بواسطة eSentire في وقت سابق من شهر أبريل هذا.

البيانات التي جمعتها البرامج الضارة أدناه –

  • معلومات البيئة والمضيف
  • مدير بيانات اعتماد Windows وبيانات الخدمة السرية Linux
  • بيانات متصفح كروميوم وفايرفوكس
  • تخزين امتدادات المتصفح للمحافظ ومديري كلمات المرور
  • بيانات اعتماد جيت
  • تكوين جيثب CLI
  • سجلات سطح المكتب لـ GitHub
  • تخزين كود Microsoft Visual Studio

وأخبر سوكيت The Hacker News أن كلا من ViteVenom وأحدث مجموعة من حزم npm متصلان بنفس العملية المستمرة التي تقوم بها جهات التهديد الكورية الشمالية، بدلاً من تمثيل حملات منفصلة.

وفقًا لشركة أمان التطبيقات، يُقال إن كلا الإصدارين الضارين تم نشرهما بواسطة نفس هوية npm باستخدام Node.js 18.20.0 وnpm 10.5.0، مع وجود الكود في وقت الحزمة. ومع ذلك، ليس من الواضح حاليًا ما إذا كان قد تم تحقيق حقن التعليمات البرمجية المصدر هذا بعد اختراق محطة عمل المطور أو مستودع المصدر أو بيئة CI أو بيانات اعتماد النشر.

يُنصح المطورون الذين قاموا بتثبيت الإصدارات المتأثرة بإزالتها من ملفات القفل، وذاكرة التخزين المؤقت، والمرايا الداخلية، وإنشاء الصور، وأدوات النشر، وتثبيتها على إصدار تم التحقق منه، وتدوير بيانات الاعتماد من عملية Node.js المتأثرة.

قال سوكيت: “يجب التعامل مع إصدار @joyfill/layouts على أنه قادر على تنفيذ تعليمات برمجية عشوائية في سياق أي عملية تقوم بتحميله”. “يتضمن ذلك بيئات التطوير، ومشغلات CI، وأدوات الاختبار، والعرض من جانب الخادم، والبنيات.”

“يمكن للكود المسترد النهائي جمع معلومات المضيف، وإنشاء قناة التحكم عن بعد لـSocket.IO، وتنفيذ أوامر JavaScript أو أوامر shell المتوفرة، وتحميل الملفات، وقراءة بيانات الحافظة، وتعديل الملفات التي تنتمي إلى أدوات المطورين.”

شاركها.
اترك تعليقاً