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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2024-21626-runcPOC — إثبات مفهوم لثغرة CVE-2024-21626، وهي ثغرة هروب من الحاويات في runc. يتضمن سكربتات تحقق، وطريقتي استغلال (صدفة عكسية عبر cron واستبدال الأوامر)، وتحليلًا للسبب الجذري والتصحيح. | Kitploit
أدوات/GitHubGitHub/v0wkeep3r/cve-2024-21626-runcpoc
تصعيد الامتيازاتأمن الحاوياتتحليل الثغرات الأمنيةالاستغلالأمن السحابةالهروب من الحاوية
GitHubv0wkeep3r/cve-2024-21626-runcpoc

CVE-2024-21626-runcPOC

إثبات مفهوم لثغرة CVE-2024-21626، وهي ثغرة هروب من الحاويات في runc. يتضمن سكربتات تحقق، وطريقتي استغلال (صدفة عكسية عبر cron واستبدال الأوامر)، وتحليلًا للسبب الجذري والتصحيح.

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
عرض المستودع
617منذ 2 سنواتلم تتم المراجعة بعد

【إعادة إنتاج الثغرة】CVE-2024-21626 ثغرة الهروب من docker runc

1. مقدمة عن الثغرة

اسم الثغرةثغرة الهروب من docker runc
رقم الثغرةCVE-2024-21626
تاريخ الكشف2024-01-31
الميزة/
الإصدارات المتأثرةrunc @ [v1.0.0-rc93,1.1.11]

2. استغلال الثغرة و POC/EXP

شروط الاستغلال صعبة بعض الشيء، وتتطلب تفاعل الضحية، أعتقد شخصياً أنها غير عملية إلى حد ما:

  1. إنشاء حاوية باستخدام صورة خبيثة من المهاجم (بما في ذلك بعض الإعدادات لدليل العمل إلخ)
  2. يمكن للمهاجم التحكم في الحاوية وتنفيذ الأوامر.

التحقق من وجود الثغرة والحصول على الواصف:

root@kitploit:~
git clone https://github.com/V0WKeep3r/CVE-2024-21626-runcPOC.git
cd CVE-2024-21626-runcPOC
bash verify.sh

كما في الشكل أدناه، توجد الثغرة، وواصف الملف هو /proc/self/fd8 يمكن لـ verify.sh العثور على القيمة المحددة لـ fd في بيئة الجهاز الحالي. إذا لم يكن fd يساوي 8، فيجب تعديل WORKDIR في Dockerfile إلى القيمة المقابلة أو استخدام -w في docker run لتحديدها.

التحقق من الهروب/رفع الامتيازات: هنا أقرب إلى الواقع العملي، يستخدم poc.sh مهمة مجدولة لعكس shell. يستخدم poc2.sh طريقة استبدال الأوامر (ملاحظة: استخدام هذه الطريقة يتطلب نسخ احتياطي للملفات مسبقاً لتجنب صعوبة استعادتها).

root@kitploit:~
# يجب التأكد من وجود ملف المهمة المجدولة، وإلا يمكن إنشاؤه وكتابته، لكن ذلك لن يؤدي إلى تشغيل المهمة المجدولة
# فقط الملفات التي تم إنشاؤها بواسطة crontab -e (في مجموعة crontab) يتم تنفيذها مجدولاً
docker build . -t poc1
docker run -it --rm poc1 bash /poc.sh

POC2:

root@kitploit:~
docker build . -t poc2
docker run -it --rm poc2 bash /poc.sh

# افتح terminal آخر
/bin/bash.copy

3. تحليل مبدأ الثغرة

ليس فهماً كاملاً، ولكن بالجمع مع التصحيح يمكن فهم الفكرة العامة.

أثناء عملية docker exec أو docker run، يتم استدعاء دالة execve الخاصة بـ runc، لكن أثناء عملية exec في runc، لا يتم إغلاق واصفات الملفات (fd)، مما يؤدي إلى تسرب واصفات ملفات المضيف إلى بيئة الحاوية، ويمكن للمستخدم من خلال هذا الواصف قراءة وكتابة ملفات المضيف، وبالتالي تحقيق الهروب من الحاوية.

4. خطة الإصلاح/تحليل التصحيح

خطة الإصلاح ترقية runc إلى إصدار 1.12 أو أعلى. رابط runc الرسمي: https://github.com/opencontainers/runc/releases

تحليل التصحيح commit الفرق: https://github.com/opencontainers/runc/commit/2a4ed3e75b9e80d93d1836a9c4c1ebfa2b78870e إغلاق واصفات الملفات الداخلية قبل execve في الوقت المناسب init_linux.go، التحقق من أن cwd (دليل العمل الحالي) موجود داخل الحاوية بعد chdir

F. روابط مرجعية

  1. وصف الثغرة: https://github.com/opencontainers/runc/security/advisories/GHSA-xr7r-f8xq-vfvv
  2. التصحيح: https://github.com/opencontainers/runc/commit/2a4ed3e75b9e80d93d1836a9c4c1ebfa2b78870e
تنزيل الأداة