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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2023-0386-OverlayFS — نسخ ملفات مزيفة في الذاكرة إلى القرص باستخدام overlayFS | Kitploit
أدوات/GitHubGitHub/pwncone/cve-2023-0386-overlayfs
تصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالالتعلم والتعليماستغلال الملفات الثنائية
GitHubpwncone/cve-2023-0386-overlayfs

CVE-2023-0386-OverlayFS

نسخ ملفات مزيفة في الذاكرة إلى القرص باستخدام overlayFS

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2023-0386 - OverlayFS / FUSE

المصدر الأصلي لـ CVE بواسطة xkaneiki: https://github.com/xkaneiki/CVE-2023-0386/tree/main

أُعيدت كتابته بحيث يمكن تشغيل الاستغلال في نافذة واحدة (الاستغلال الأصلي يتطلب نافذتين).

root@kitploit:~
# Compile
make all
# Create mount point for fuse filesystem
mkdir -p /tmp/fusepwn/lower
# Start fuse (which serves a SUID binary)
./fuse /tmp/fusepwn/lower
# Run exploit (which copies fuse's fake SUID binary onto disk with real SUID privs via overlayfs)
./exp
# Run shell
/tmp/fusepwn/upper/bin

التنظيف

root@kitploit:~
# unmount fuse filesystem
fusermount -u /tmp/fusepwn/lower
# remove all 
rm -rf /tmp/fusepwn
# unmount overlayfs (root only. not required)
umount /tmp/fusepwn/merge

ملاحظات

  • استخدم findmnt لعرض أنظمة الملفات المُحملة
  • تحميل overlayfs مرئي فقط للمستخدم الجذر (السبب غير معروف)

كيف يعمل

fuse.c يُنشئ نظام ملفات FUSE مُحمَّلاً في /tmp/fusepwn/lower ويُقدّم ثنائي SUID مزيف مملوك للجذر. هذا نظام ملفات في الذاكرة، لذا يمكننا الكذب بشأن الصلاحيات المُعطاة.

ثم يقوم exp.c بإنشاء تحميل overlayfs في /tmp/fusepwn ويفتح الثنائي SUID المزيف (/tmp/fusepwn/lower/bin). عند فتحه، يُحفّز هذا overlayfs على تنفيذ عملية copy-up تكتب الثنائي SUID المزيف على القرص بصلاحيات SUID حقيقية ومملوك للجذر.

الثغرة موجودة في overlayfs حيث يثق بشكل أعمى بأي صلاحيات ملفات يُقدمها له نظام الملفات السفلي. إذا كان نظام الملفات السفلي هو النواة، فهذا مقبول (لأنه لا يمكن التلاعب به بدون صلاحيات الجذر). إذا كان نظام الملفات السفلي يمكن التلاعب به من قبل المستخدم، فهذا غير مقبول لأننا نستطيع الكذب بشأن الملفات الموجودة (كما هو الحال باستخدام FUSE).

التصحيح

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4f11ada10d0ad3fd53e2bd67806351de63a4f9c3

التصحيح يتحقق مما إذا كان UID/GID للملف صالحًا ضمن فضاء أسماء المستخدم. إذا لم يكن صالحًا، فإنه يُفشل عملية copy-up.

أي:

  • نحن bob
  • نُنشئ فضاء أسماء جديدًا كجذر عن طريق تعيين 1000 (UID الخاص بـ bob) إلى 0 (جذر) في proc/self/uid_map
  • نحاول تحفيز copy-up على ملف مملوك للجذر
  • يتحقق overlayfs من تعيين bob ويرى أن فضاء أسماء المستخدم هو في الواقع 1000 (bob) وليس 0 (جذر) كما هو الحال في الملف، فيُفشل copy-up

موارد مفيدة

  • مدونة مفيدة: https://engineering.facile.it/blog/eng/write-filesystem-fuse/
  • مثال على تنفيذ FUSE: https://man.openbsd.org/fuse_main.3

رسم بياني

diagram

تنزيل الأداة