BleepingComputer ذكرت مؤخرا كيف يتم استغلال خلل في GitHub، أو ربما قرار تصميم، من قبل جهات التهديد لتوزيع البرامج الضارة باستخدام عناوين URL المرتبطة بمستودعات Microsoft، مما يجعل الملفات تبدو جديرة بالثقة.
اتضح الآن أن GitLab متأثر أيضًا بهذه المشكلة ويمكن إساءة استخدامه بطريقة مماثلة.
في حين أن معظم الأنشطة المرتبطة بالبرامج الضارة كانت تعتمد على عناوين URL الخاصة بـ Microsoft GitHub، فمن الممكن إساءة استخدام هذا “الخلل” مع أي مستودع عام على GitHub أو GitLab، مما يسمح للجهات الفاعلة في مجال التهديد بإنشاء إغراءات مقنعة للغاية.
يمكن أيضًا إساءة استخدام تعليقات GitLab لدفع البرامج الضارة
يوم السبت، أفاد BleepingComputer كيف كانت الجهات الفاعلة في مجال التهديد تسيء استخدام تعليقات GitHub لدفع البرامج الضارة مع جعل الأمر يبدو كما لو تم استضافة الملفات الضارة في مستودعات كود المصدر الرسمية لمؤسسات موثوقة.
عناوين URL التالية، على سبيل المثال، والتي تم استخدامها في الهجوم جعلت الأمر يبدو وكأن ملفات ZIP هذه كانت موجودة في مستودع التعليمات البرمجية المصدر لـ Microsoft:
https://github[.]com/microsoft/vcpkg/files/14125503/Cheat.Lab.2.7.2.ziphttps://github[.]com/microsoft/STL/files/14432565/Cheater.Pro.1.6.0.zip
ومع ذلك، بعد التحقيق الذي أجريناه، علمنا أن هذه الملفات، وهي برامج ضارة، لم يتم العثور عليها في مستودع التعليمات البرمجية الخاص بشركة Microsoft.
بدلاً من ذلك، كانت هذه موجودة على شبكة CDN الخاصة بـ GitHub ومن المحتمل أن يتم تحميلها بواسطة جهة تهديد أساءت استخدام ميزة “التعليقات” الخاصة بالمنصة.
عند ترك تعليق على طلب التزام أو سحب، يمكن لمستخدم GitHub إرفاق ملف (أرشيفات، مستندات، إلخ)، والذي سيتم تحميله إلى CDN الخاص بـ GitHub وربطه بالمشروع ذي الصلة باستخدام عنوان URL فريد بهذا التنسيق: ‘https://www.github.com/{project_user}/{repo_name}/files/{file_id}/{file_name}.‘
بالنسبة لمقاطع الفيديو والصور، سيتم تخزين الملفات ضمن /assets/
المسار بدلا من ذلك.
بدلاً من إنشاء عنوان URL بعد نشر التعليق، يقوم GitHub تلقائيًا بإنشاء رابط التنزيل بعد إضافة الملف إلى تعليق غير محفوظ، كما هو موضح أدناه. يسمح هذا للجهات الفاعلة في مجال التهديد بإرفاق برامجها الضارة بأي مستودع دون علمها.
حتى إذا لم يتم نشر التعليق فعليًا أو حذفه لاحقًا من قبل المستخدم (أو المهاجم)، فسيظل رابط الملف نشطًا.
وكان سيرجي فرانكوف، من خدمة التحليل الآلي للبرامج الضارة UNPACME، قد فعل ذلك بث مباشر حول هذا الخطأ في الشهر الماضي فقط، قائلاً إن الجهات الفاعلة في مجال التهديد كانت تسيء استخدامه بشكل نشط.
بعد فترة وجيزة من تقريرنا أيها القراءأشار أن GitLab لم يكن محصنًا ضد هذه المشكلة أيضًا.
يمكن لـ BleepingComputer التأكد من أنه يمكن للمستخدمين بالفعل إساءة استخدام ميزة “التعليقات” على GitLab بطريقة مماثلة.
في اختباراتنا، تمكنا من تحميل الملفات التي سيتم تحميلها إلى شبكة CDN الخاصة بـ GitLab ولكن يبدو أنها كانت موجودة مع GitLab repos للمشاريع الشهيرة مفتوحة المصدر مثل Inkscape وWireshark:
https://gitlab[.]com/inkscape/inkscape/uploads/edfdbc997689255568a7c81db3f3dc51/InkScape-2024-Latest.exehttps://gitlab[.]com/wireshark/wireshark/uploads/b4162053fbb4dc6ee4f673c532009e16/WireShark-v4.2.4-stable-release.exe
الملف المستخدم في اختبارنا هو صورة JPG حميدة، تمت إعادة تسميتها إلى .exe لتوضيح كيف يمكن للجهات الفاعلة في مجال التهديد، من خلال إساءة استخدام هذه الميزة، تضليل المستخدمين لتحميل إصدارات البرامج المزيفة المليئة بالبرامج الضارة.
التنسيق الذي تتبعه هذه الملفات التي تم تحميلها إلى GitLab CDN هو:
https://gitlab.com/{project_group_namr}/{repo_name}/uploads/{file_id}/{file_name}
ال file_id هنا يبدو وكأنه تجزئة MD4 أو MD5 بدلاً من معرف رقمي أبسط.
كما هو الحال مع GitHub، ستظل روابط ملفات GitLab التي تم إنشاؤها حية حتى لو لم ينشر المهاجم التعليق مطلقًا أو تم حذفه لاحقًا.
يطالب GitLab المستخدمين بتسجيل الدخول قبل أن يتمكنوا من تحميل هذه الملفات أو تنزيلها، لكن هذا لا يفعل شيئًا لمنع جهات التهديد من تحميل هذه الملفات في المقام الأول.
نظرًا لأن كل شركة برمجيات تقريبًا تستخدم GitHub أو GitLab، فإن هذا الخلل يسمح للجهات الفاعلة في مجال التهديد بتطوير إغراءات ماكرة وجديرة بالثقة بشكل غير عادي.
على سبيل المثال، يمكن لممثل التهديد تحميل برنامج ضار قابل للتنفيذ فيإعادة شراء برنامج تشغيل NVIDIAيتظاهر بأنه سائق جديد يعمل على إصلاح المشكلات في لعبة شائعة. أو يمكن لممثل التهديد تحميل ملف في تعليق إلىكود مصدر جوجل كروموتظاهر بأنها نسخة تجريبية جديدة من متصفح الويب.
ويبدو أن عناوين URL هذه تنتمي أيضًا إلى مستودعات الشركة، مما يجعلها أكثر جدارة بالثقة.
لسوء الحظ، حتى لو علمت الشركة أنه تم إساءة استخدام مستودعات التخزين الخاصة بها لتوزيع برامج ضارة، فلن نتمكن من العثور على أي إعدادات تسمح لها بإدارة أو حذف الملفات المرفقة بمشاريعها.
اتصلت BleepingComputer بكل من GitHub وMicrosoft يوم الخميس 18 أبريل بشأن إساءة الاستخدام هذه لكنها لم تتلق ردًا. لقد تواصلنا أيضًا مع GitLab للتعليق قبل النشر وننتظر الرد.