Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
cve-2024-32002-poc — إثبات المفهوم لـ CVE-2024-32002: ثغرة حقن مسار الوحدات الفرعية في Git. | Kitploit
أدوات/GitHubGitHub/joaoleonello/cve-2024-32002-poc
تحليل الثغرات الأمنيةالاستغلالأمن الويباختبار الاختراقأمن سلسلة التوريدالتعلم والتعليم
GitHubjoaoleonello/cve-2024-32002-poc

cve-2024-32002-poc

إثبات المفهوم لـ CVE-2024-32002: ثغرة حقن مسار الوحدات الفرعية في Git.

عرض المستودع
منذ 10 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

💥 CVE-2024-32002 – Git Submodule Path Injection PoC

الدافع

أثناء حل آلة Compiled من منصة Hack The Box، صادفت سلوكًا غريبًا يتعلق بـ Git والوحدات الفرعية. عند التحقيق بشكل أعمق، وجدت هذا المنشور الممتاز للباحث Amal Murali، والذي يوضح بالتفصيل تقنية حقن المسار عبر .gitmodules. ومن ثم، قررت دراسة CVE-2024-32002 وإنشاء PoC عملي يوضح التأثير الحقيقي للثغرة.

🧠 نظرة عامة على الثغرة

يستغل CVE-2024-32002 ثغرة حرجة في Git تتعلق بحل مسارات الوحدات الفرعية. يسمح Git للمستودعات بتضمين وحدات فرعية محددة في ملف .gitmodules، مع تحديد المسار وعنوان URL. تنشأ الثغرة عندما يتم التلاعب بالمسار ليشير إلى داخل دليل .git، الذي يخزن البيانات الوصفية والإعدادات الداخلية للمستودع.

عند الجمع بين:

  • التلاعب بـ .gitmodules لتعيين المسار كـ A/modules/x
  • إنشاء رابط رمزي a → .git

…يتم خداع Git وحل A/modules/x كـ .git/modules/x، أي داخل دليل .git الداخلي. وهذا يسمح للمهاجم بحقن ملفات عشوائية مثل خطافات خبيثة يمكن تنفيذها في عمليات شرعية مثل checkout أو merge أو clone.

تمثل هذه الثغرة ناقلًا لتنفيذ الأوامر عن بُعد، وهي خطيرة بشكل خاص في بيئات CI/CD أو الأتمتة أو المستودعات المشتركة.


⚙️ ما يوضحه السكريبت setup.sh

يقوم هذا السكريبت بأتمتة إنشاء بيئة ضعيفة وإعادة إنتاج تأثير الثغرة:

  1. إنشاء وحدة فرعية خبيثة (hook-repo) تحتوي على خطاف post-checkout يكتب في /tmp/teste.txt
  2. تهيئة المستودع الرئيسي (main-repo) وإضافة الوحدة الفرعية
  3. تعديل ملف .gitmodules لإعادة توجيه مسار الوحدة الفرعية إلى A/modules/x
  4. إنشاء رابط رمزي a → .git، مما يجعل A/modules/x يُحل كـ .git/modules/x
  5. حقن .gitmodules الخبيث في الفهرس باستخدام git update-index --index-info
  6. إجراء commit شرعي لمحاكاة النشاط العادي
  7. استنساخ المستودع (cloned-repo) مع --recursive، وتهيئة الوحدة الفرعية

إذا نجح، يتم تنفيذ الخطاف ويتم إنشاء الملف /tmp/teste.txt بالمحتوى:

root@kitploit:~
joao was here

🐳 بيئة Docker

يتضمن هذا المستودع Dockerfile يقوم بالتالي:

  1. تثبيت Git 2.45.0 (الإصدار الضعيف)
  2. إنشاء مستخدم عادي (joao)
  3. نسخ ملفات PoC
  4. تشغيل setup.sh تلقائيًا

🔧 كيفية إعادة الإنتاج

root@kitploit:~
docker build -t git-cve-poc .
docker run --rm -it git-cve-poc

🔐 التأثير والتخفيف

تؤثر هذه الثغرة على إصدارات Git السابقة للإصدار 2.45.1. تم إصلاح الخلل من خلال عمليات تحقق أكثر صرامة في حل مسارات الوحدات الفرعية. يجب تدقيق المستودعات التي تستخدم الوحدات الفرعية، ويجب تحديث البيئات المؤتمتة فورًا.

⚠️ إخلاء مسؤولية قانوني

هذا المشروع مخصص للأغراض التعليمية والبحثية فقط. لا تستخدمه في بيئات الإنتاج. الهدف هو إظهار التأثير التقني للثغرة وتعزيز ممارسات الأمان الجيدة.

تنزيل الأداة
  • نسخ الخطاف الخبيث إلى .git/hooks/ وتنفيذ git checkout HEAD لتشغيل الاستغلال