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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
container-cve-2021-22555 — منتج إعادة إنتاج في حاوية لـ CVE-2021-22555 لتصعيد الامتيازات في لينكس، مع ملفات تعريف تخفيف seccomp وإرشادات النشر لمجموعات Kubernetes و OpenShift. | Kitploit
أدوات/GitHubGitHub/cgwalters/container-cve-2021-22555
تصعيد الامتيازاتأمن الحاوياتتحليل الثغرات الأمنيةالاستغلالأمن السحابةالتعلم والتعليم
GitHubcgwalters/container-cve-2021-22555

container-cve-2021-22555

منتج إعادة إنتاج في حاوية لـ CVE-2021-22555 لتصعيد الامتيازات في لينكس، مع ملفات تعريف تخفيف seccomp وإرشادات النشر لمجموعات Kubernetes و OpenShift.

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
عرض المستودع
433منذ 5 سنواتلم تتم المراجعة بعد

نسخة مكررة لـ CVE-2021-22555 كحاوية

أولاً، يقوم هذا بتضمين كود الاستغلال من هنا كحاوية مبنية مسبقاً وسهلة الاستخدام: https://github.com/google/security-research/tree/master/pocs/linux/cve-2021-22555

الحاوية المبنية مسبقاً: quay.io/cgwalters/cve-2021-22555

التخفيف: ملفات تعريف seccomp

التخفيف القوي هو تمكين seccomp الذي يرفض clone(CLONE_NEWUSER). تحتوي وثائق Kubernetes الرئيسية على بعض المعلومات حول هذا - لكنها تترك نشر السياسة على العقدة للمستخدم. في OpenShift 4، لدينا machine-config-operator الذي يمكنه التعامل مع هذا.

لا يتم مناقشة Seccomp كثيراً في الوثائق الرسمية. ومع ذلك، فإن دليل الأمان يذكر بعض هذا على الأقل، وكذلك هذه المدونة.

ملاحظة: سياسة crio/podman runtime/default مقابل docker

يأتي cri-o في الإصدار 4.7 مزوداً بسياسة seccomp افتراضية، لكنها غير ممكّنة افتراضياً. يأتي كل من podman و docker أيضاً مزودين بسياسة، وهي ممكّنة افتراضياً (لكنها تختلف، انظر أدناه).

سياسة cri-o لا ترفض clone(CLONE_NEWUSER) افتراضياً - وهذا ينطبق أيضاً على سياسة podman. ومع ذلك، فإن سياسة docker الافتراضية ترفض clone(CLONE_NEWUSER):

root@kitploit:~
[root@cosa-devsh ~]# rpm -q podman moby-engine
podman-3.1.2-1.fc33.x86_64
moby-engine-19.03.13-1.ce.git4484c46.fc33.x86_64
[root@cosa-devsh ~]# podman run --rm -ti registry.fedoraproject.org/fedora:34 /bin/sh -c 'unshare -U --keep-caps true'
[root@cosa-devsh ~]# echo $?
0
[root@cosa-devsh ~]# docker run --rm -ti registry.fedoraproject.org/fedora:34 /bin/sh -c 'unshare -U --keep-caps true'
unshare: unshare failed: Operation not permitted
errchan: json: cannot unmarshal array into Go struct field systemdEventMessage.MESSAGE of type string
[root@cosa-devsh ~]# echo $?
1
[root@cosa-devsh ~]# 

أو بعبارة أخرى: docker ليس عرضة لهذا بشكل افتراضي، لكن podman و cri-o عرضة. (TODO: التحقق من containerd)

البحث عن سياسة seccomp أقوى ونشرها

يناقش إدخال المدونة openshift/seccomp-for-fun-and-profit بعض هذا، ويربط بملف تعريف أنشأه المؤلف. هذه السياسة ترفض clone(CLONE_NEWUSER).

لتسهيل الأمر، يحتوي هذا المستودع على نسخة من هذا الملف التعريفي في more-restricted.json، وملف Butane الذي ينشئ كائن MachineConfig سينشر هذا الملف التعريفي على العمال.

استخدم ملف pod مثال الذي يحتوي على:

root@kitploit:~
securityContext:
  seccompProfile:
    type: Localhost
    localhostProfile: more-restricted.json

نحصل على:

root@kitploit:~
$ oc logs pod/cve-2021-22555
[+] Linux Privilege Escalation by theflow@ - 2021

[+] STAGE 0: Initialization
[*] Setting up namespace sandbox...
[-] unshare(CLONE_NEWUSER): Operation not permitted

وهذا يجب أن يجعل الاستغلال غير قابل للوصول.

ومع ذلك، يتطلب هذا اختيار الـ pods. لا يزال TODO: استكشاف ما إذا كان يمكن جعل سياسة seccomp إلزامية عبر SecurityContextConstraint، أو إذا كنا بحاجة إلى خطاف قبول متحول (mutating admission webhook).

تنزيل الأداة