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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/giverofgifts/cve-2019-5736-custom-runtime
تحليل الثغرات الأمنيةالاستغلالاختبار الاختراقالتعلم والتعليمالهروب من الحاويةاستغلال الملفات الثنائية
GitHubgiverofgifts/cve-2019-5736-custom-runtime

CVE-2019-5736-Custom-Runtime

ثغرة CVE-2019-5736 مطبَّقة في بيئة تشغيل حاويات مكتوبة ذاتيًا لفهم آلية الاستغلال.

عرض المستودع
14منذ 6 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2019-5736-Custom-Sandbox

عام

تم تنفيذ CVE-2019-5736 باستخدام مشغّل حاويات بسيط مكتوب ذاتيًا لفهم الثغرة.

يعتمد الاستغلال على (وقد نُسخ معظمه تقريبًا من) runc-poc من twistlock: https://github.com/twistlock/RunC-CVE-2019-5736/tree/master/malicious_image_POC

مشغّل الحاويات (quarantine)

انظر إلى توثيق الكود لمزيد من التفاصيل.

root@kitploit:~
Usage: quarantine [OPTIONS] [BINARY and its ARGS]

--rootfs: (mandatory) Specify a rootfs for the container.
--urange: Specify a urange start_host:end_host,start_guest.
--grange: Specify a grange start_host:end_host,start_guest.
--uid:    Specify the desired UID in the container.
--ugd:    Specify the desired GID in the container.
--supp:   Append supplementary groups from the specified grange to the process running in the container.

يلغي مشاركة جميع مساحات الأسماء باستثناء مساحة اسم المستخدم. وتُلغى مشاركة مساحة اسم المستخدم في ظروف خاصة، أي عند تحديد urange أو grange أو و/أو .

uid
gid

إعداد الاستغلال

تم اختبار هذا وتنفيذه على Ubuntu 18.04.

  1. احصل على rootfs (مثل bionic)
    • mkdir rootfs
    • sudo debootstrap bionic ./rootfs
  2. احصل على شيفرة libcap المصدرية
    • git clone https://github.com/mhiramat/libcap
  3. عدّل libcap
    • cat exploit_code_for_shared_lib.c >> <any cap*.c, I used cap_alloc.c>
    • make
  4. ادخل عبر chroot إلى rootfs وثبّت libcap-dev حتى تتمكن ببساطة من الربط مع libcap.so المعدّل
    • sudo chroot rootfs
    • apt install libcap-dev
  5. انسخ ملف libcap.so.2.25 الذي تم إنشاؤه إلى دليل rootfs المناسب -sudo cp libcap.so.2.25 rootfs/lib/x86_64-linux-gnu
    • ملاحظة: بالنسبة لي، كان هناك بالفعل رابط يشير إلى نفس إصدار ملف libcap هذا، لذا لم أضطر إلى ربطه
    • ملاحظة: قد يتغير هذا المسار، انظر دائمًا إلى المكان الذي يتوقع فيه برنامج quarantine المُجمَّع وجود libcap: ldd quarantine
  6. قم بتجميع الملفات الأخرى ونسخها إلى rootfs
    • sudo cp shebang_exploit rootfs/
    • sudo gcc -o rootfs/root/payload payload.c
    • sudo gcc -o rootfs/overwrite_sndbx_runtime overwrite_sndbx_runtime.c

تشغيل الاستغلال

على سبيل المثال: sudo ./quarantine --rootfs rootfs /shebang_exploit أو ./quarantine --rootfs rootfs --uid 1 /shebang_exploit.

يعمل هذا طالما أبقيت إما CAP_DAC_OVERRIDE أو CAP_SYS_ADMIN على المضيف، أي لا تلغِ مشاركة مساحة اسم المستخدم عند استخدام sudo (لأن ذلك يُسقط الصلاحيات في مساحة اسم الأب)، أو كنت تملك الملف على المضيف.

تنزيل الأداة