العودة

قراصنة يختطفون خمسة إصدارات من OVHcloud CLI لنشر برنامج سارق للأسرار
SiTech AI Team3 دقيقة قراءة

قراصنة يختطفون خمسة إصدارات من OVHcloud CLI لنشر برنامج سارق للأسرار

استخدم مهاجم حساب مساهم مختطف على GitHub لاستبدال أرشيفات التنزيل في خمسة إصدارات من OVHcloud CLI بنسخة مصممة لسرقة الأسرار، ظلت متاحة لمدة تصل إلى 94 دقيقة في 19 أكتوبر. إليك من تضرر وما يجب فعله.

ما حدث

استخدم مهاجم حساب مساهم مختطف على GitHub لاستبدال أرشيفات التنزيل في خمسة إصدارات قائمة من أداة سطر الأوامر الخاصة بـ OVHcloud يوم الاثنين 19 أكتوبر. وكانت الملفات الجديدة نسخة مصممة لسرقة الأسرار المخزنة على قرص أي جهاز يشغلها، كما تقول شركة السحابة. وظلت متاحة على GitHub لمدة تصل إلى 94 دقيقة، من 12:47 إلى 14:21 UTC، ولم تصل إلا إلى الأشخاص الذين ثبتوا أو حدّثوا CLI خلال تلك الفترة على macOS، أو Linux x86_64 أو arm64، أو Windows x86_64، عبر مسار لا يتحقق من أي تجزئة.

لم يتم المساس بالشفرة المصدرية ولا بوسم الإصدار ولا بخط أنابيب البناء: كان البناء السيئ مجرد go build لالتزام لاحق تم تحميله على إصدارات نُشرت بين 14 أبريل و16 سبتمبر. حذفت OVHcloud الأرشيفات المستبدلة ونشرت نسخة نظيفة v0.16.0 في ذلك المساء كإصدار غير قابل للتعديل، لن تسمح GitHub لأي شخص بتغيير ملفاته.

من تأثر

تدرج OVHcloud الإصدارات من v0.11.0 إلى v0.15.0 على أنها مخترقة، والإصدار v0.10.0 نظيفًا. وعلى v0.15.0 استبدل المهاجم ستة ملفات، بما في ذلك checksums.txt بحيث تطابقت التجزئات المنشورة مع الملفات الثنائية الجديدة. اختفت الملفات الستة نفسها من v0.11.0 إلى v0.14.0. أما بناء Linux i386، Windows i386، Windows arm64 وWebAssembly فلم يُمسّ.

تعرضت للخطر إذا شغّلت برنامج التثبيت الرسمي (الذي ينزّل أحدث أرشيف إصدار دون التحقق من أي تجزئة)، أو نزّلت أرشيفًا من صفحة الإصدار، أو شغّلت مهمة CI تجلب الأرشيف دون تجزئة مثبتة، أو شغّلت أمر الترقية الخاص بـ CLI من v0.12.0 أو v0.13.0 أو v0.14.0 على macOS أو Linux. كان مستخدمو Homebrew محميين: إذ أثبّت cask قيمة SHA-256 الأصلية ولم يتغير شيء في tap. كما لم يتأثر go install والبناء من المصدر وصورة Docker.

كيف تعرف ذلك وما يجب فعله

اكتشف عميل الاستبدال باستخدام go version -m على الملف الثنائي v0.15.0 Linux arm64. يحمل البناء السيئ نسخة وهمية (v0.15.1-0.20261013083505-5ead8ef9b43d+dirty)، والتزامًا 5ead8ef بدلًا من 760fd72، وسطر -ldflags="-s -w" لا تحتويه الإصدارات الحقيقية. أي نصيحة بأن كل بناء يحمل +dirty أو علامة vcs هو خبيث ستضع علامة على إصدار v0.16.0 النظيف الخاص بـ OVHcloud نفسه أيضًا. التجزئة الوحيدة المنشورة لملف مستبدل هي أرشيف v0.15.0 Linux arm64: SHA-256 3833daffcaaaab27e4e0e0833240ffcb1df8df648f4ec0bc4a75c176e28933cb.

كتب مؤسس OVHcloud أوكتاف كلابا (Octave Klaba) أن على كل متأثر تغيير كل سر مخزن على القرص، لأن CLI يحتفظ ببيانات اعتماد OVHcloud API في ~/.ovh.conf. إذا شغّلت بناءً مستبدلًا أو لم تستطع معرفة ذلك، فتعامل مع كل سر يمكن قراءته من ذلك الجهاز باعتباره مكشوفًا، وقم بتدويره من جهاز آخر، ثم أزل الملف الثنائي وثبّت v0.16.0. التحديث يستبدل البرنامج لكنه لا يلغي مفتاحًا تم نسخه بالفعل. لم تقل OVHcloud أي ملفات يقرأها الملف الثنائي، وأين يرسلها، أو كم عدد النسخ التي نزّلها المستخدمون؛ ولم تُحلل أي نسخة علنًا، مع وعد بنشر تقرير بعد الحادث.

كيف حدث ذلك

يمكن لأي شخص لديه صلاحية الكتابة في مستودع GitHub استبدال ملفات الإصدار ما لم يتم تمكين عدم القابلية للتعديل؛ لم تكن OVHcloud قد مكّنتها، وقال كلابا إن المشكلة نشأت من ذلك. الخيار مفعّل الآن ولم تتأثر خطوط الأنابيب. جاءت عمليات التحميل عبر حساب مساهم يوجد عمله المدمج في مستودع وثائق OVHcloud. يربط OpenSourceMalware بين الحساب وGlassWorm، وهي حملة تخفي الشفرة داخل أحرف Unicode غير مرئية وتستورد مراحل من مذكرة محفظة Solana، ملاحظًا أنه أُعيد كتابة أربعة مستودعات شخصية قسريًا في مارس باستخدام حمّال كهذا. ما إذا كان الفاعل نفسه قد نفّذ كلا الأمرين هو 'استنتاجنا'، كما كتب الباحثون، ولم يربط أي شيء من الملف الثنائي لشهر أكتوبر بـ GlassWorm.

المصادر: The Hacker News

SiTech

SiTech — تطوير ويب مدعوم بالذكاء الاصطناعي

نبني مواقع سريعة وعصرية وندمج الذكاء الاصطناعي في سير عمل الشركات. لديك مشروع أو سؤال؟ يسعدنا مساعدتك.