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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/greenhandatsjtu/cve-2022-0847-container-escape
تصعيد الامتيازاتأمن الحاوياتتحليل الثغرات الأمنيةالاستغلالالهروب من الحاوية
GitHubgreenhandatsjtu/cve-2022-0847-container-escape

CVE-2022-0847-Container-Escape

CVE-2022-0847 يُستخدم لتحقيق هروب من الحاوية استغلال CVE-2022-0847 (Dirty Pipe) لتحقيق هروب من الحاوية

عرض المستودع

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
376منذ 4 سنواتتمت المراجعة من قبل Kitploit

CVE-2022-0847

تُستخدم CVE-2022-0847 لتحقيق هروب الحاوية (الكتابة فوق أي ملفات للقراءة فقط على المضيف)

الشرائح (باللغة الصينية) متاحة هنا

利用CVE-2022-0847 (Dirty Pipe) 实现容器逃逸(效果为覆写宿主机上任意只读文件)

中文汇报PPT在这里

مقدمة

إذا كانت النواة معرضة لـ CVE-2022-0847، يمكن للمهاجم الكتابة فوق ملفات للقراءة فقط (غير دائم! زر https://dirtypipe.cm4all.com/ لمزيد من التفاصيل). ومع ذلك، يمكن للحاوية فقط الوصول إلى الملفات داخل الحاوية. لحسن الحظ، عند منح CAP_DAC_READ_SEARCH، يمكن للمهاجم الآن الكتابة فوق الملفات على المضيف!

شرح

كما يشرح https://dirtypipe.cm4all.com/، لكتابة فوق ملف للقراءة فقط، يجب استخدام splice() لنقله إلى الأنبوب. لاستخدام splice()، يجب أولاً فتح الملف الهدف باستخدام علامة O_RDONLY للحصول على وصف الملف.

وهنا خطر ببالي CAP_DAC_READ_SEARCH. وفقًا لـ دليل لينكس، عند منح CAP_DAC_READ_SEARCH، يمكن للمهاجم داخل الحاوية:

  • تجاوز فحوصات إذن قراءة الملف وفحوصات إذن قراءة وتنفيذ الدليل
  • استدعاء open_by_handle_at(2)

مع صلاحية CAP_DAC_READ_SEARCH، يمكننا البحث في نظام ملفات المضيف واستخدام open_by_handle_at(2) لفتح أي ملفات على المضيف للقراءة فقط من الحاوية، والحصول على وصف الملف الخاص بها (زر http://stealth.openwall.net/xSports/shocker.c لمزيد من التفاصيل).

الآن بعد أن حصلنا على وصف الملف للملف الهدف على المضيف، يمكننا بالطبع استخدام splice() لإرسال محتوى الملف الهدف إلى الأنبوب، ثم الكتابة فوقه!

الاستخدام

root@kitploit:~
cp /etc/password . # back up /etc/password
gcc dp.c -o dp
docker run --rm -it -v $(pwd):/exp --cap-add=CAP_DAC_READ_SEARCH ubuntu
/exp/dp /etc/passwd 1 ootz: # overwrite /etc/password on host from offset 1
/etc/dp /etc/passwd # dump /etc/passwd on host

مثال

أولاً، قم بإنشاء ملف للقراءة فقط /home/vagrant/flag.txt بواسطة المستخدم الجذر على المضيف، محتواه هو hello world:

ثم، ابدأ حاوية بصلاحية CAP_DAC_READ_SEARCH، حاول أولاً تفريغ /home/vagrant/flag.txt على المضيف، نحصل على hello world:

ثم حاول الكتابة فوق الملف الهدف من الإزاحة 1 بمحتوى abcdefghij:

قم بتفريغ الملف الهدف مرة أخرى، الآن المحتوى هو habcdefghij! اخرج من الحاوية وتحقق من /home/vagrant/flag.txt على المضيف، محتواه هو habcdefghij.

نعم، لقد قمنا للتو بالكتابة فوق ملف على المضيف من داخل الحاوية!

الإسناد

  • https://dirtypipe.cm4all.com/
  • http://stealth.openwall.net/xSports/shocker.c
تنزيل الأداة