Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Dirty-Frag-Kubernetes-PoC — إثبات مفهوم يوضح الهروب من الحاوية على Amazon EKS من خلال استغلال Dirty Frag (CVE-2026-43284) لتلف ذاكرة التخزين المؤقت للصفحات في النواة عبر طبقات الصور المشتركة و DaemonSets ذات الامتيازات. | Kitploit
أدوات/GitHubGitHub/percivalll/dirty-frag-kubernetes-poc
تصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالأمن السحابةالفريق الأحمرالهروب من الحاوية
GitHubpercivalll/dirty-frag-kubernetes-poc

Dirty-Frag-Kubernetes-PoC

إثبات مفهوم يوضح الهروب من الحاوية على Amazon EKS من خلال استغلال Dirty Frag (CVE-2026-43284) لتلف ذاكرة التخزين المؤقت للصفحات في النواة عبر طبقات الصور المشتركة و DaemonSets ذات الامتيازات.

الأكثر شعبية

عرض الكل →

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

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

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

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

Dirty Frag (CVE-2026-43284) — إثبات مفهوم الهروب من حاويات Kubernetes

إثبات مفهوم يوضح كيف يمكن لـ Pod Kubernetes افتراضي غير مميز تحقيق تنفيذ كود على مستوى العقدة على Amazon EKS من خلال استغلال ثغرة Dirty Frag في تلف ذاكرة التخزين المؤقت لصفحات نواة Linux عبر طبقات صور الحاويات المشتركة.

البدائية الهجومية الأساسية هي: أي DaemonSet مميز يشارك طبقات الصور مع حاوية يتحكم فيها المهاجم يمكن تسليحه للهروب من الحاوية. يستخدم هذا الإثبات kube-proxy كمثال ملموس واحد، لكن التقنية تعمم على أي عبء عمل مميز على الكتلة.

تم التحقق على Amazon EKS (kernel 6.12.80) — يكتب Pod غير مميز [*] success إلى نظام ملفات المضيف عبر DaemonSet kube-proxy المميز:

EKS PoC

إخلاء مسؤولية: يُنشر هذا المستودع لأغراض تعليمية ودفاعية فقط. استخدمه حصريًا على الأنظمة التي تمتلكها أو لديك إذن صريح لاختبارها.

الخلفية

Dirty Frag (CVE-2026-43284) هي ثغرة تلف في ذاكرة التخزين المؤقت لصفحات نواة Linux في مسار استقبال xfrm/ESP. في المسار المتأثر، يمكن لـ esp_input() تخطي skb_cow_data() لـ skb غير خطي بدون frag_list، مما يسمح لـ crypto_authenc_esn_decrypt() بتخزين 4 بايت من البيانات التي يتحكم فيها المهاجم في صفحة من ذاكرة التخزين المؤقت للصفحات يتم الوصول إليها عبر splice().

الملف على القرص لا يتم تعديله. البايتات التالفة موجودة في ذاكرة التخزين المؤقت للصفحات في النواة ويتم ملاحظتها من قبل القراء اللاحقين لنفس صفحة الملف المخزنة مؤقتًا.

للحصول على التفاصيل الكاملة حول الثغرة الأصلية، راجع V4bel/dirtyfrag.

مبدأ الهجوم

يستغل الهجوم ثلاث خصائص تتعايش عادةً في مجموعات Kubernetes:

  1. تلف ذاكرة التخزين المؤقت لصفحات النواة (CVE-2026-43284) — يمكن لعملية غير مميزة (مع دعم مساحات أسماء المستخدمين) الكتابة فوق الصفحات المخزنة مؤقتًا في الذاكرة لأي ملف يمكنها فتحه للقراءة فقط، عبر سباق xfrm/ESP splice.
  2. مشاركة طبقات الصور — تستخدم بيئات تشغيل الحاويات (containerd, CRI-O) أنظمة ملفات overlay حيث تتطابق طبقات الصور المتطابقة مع نفس صفحات ذاكرة التخزين المؤقت عبر الحاويات.
  3. DaemonSets مميزة — تشغل العديد من المجموعات DaemonSets بصلاحيات مرتفعة (privileged: true, hostNetwork: true, قدرات واسعة، إلخ) تنفذ بشكل دوري ملفات ثنائية من صورها.

عندما تتوافق هذه الشروط، يمكن لـ Pod غير مميز إتلاف ملف ثنائي في طبقة صورة مشتركة، وسيقوم DaemonSet مميز على نفس العقدة بتنفيذ الملف الثنائي التالف دون علم بصلاحياته المرتفعة — محققًا تنفيذ كود كامل على مستوى العقدة.

هدف الثغرة ليس محدودًا بـ kube-proxy. أي DaemonSet مميز (وكلاء مراقبة، إضافات CNI، جامعو السجلات، وكلاء أمان، إلخ) التي تشترك صور حاوياتها في طبقات مع صورة يتحكم فيها المهاجم هي هدف قابل للتطبيق.

الفرق عن Copy Fail

هذا المشروع مستوحى من نموذج استغلال Kubernetes الموثق في Copy Fail Kubernetes PoC، لكنه يستخدم بدائية نواة مختلفة.

الخاصيةCopy FailDirty Frag
CVECVE-2026-31431CVE-2026-43284
مسار النواةAF_ALG + splice()xfrm/ESP + splice()
متطلب مساحة الاسمغير مطلوبيتطلب مساحات أسماء المستخدمين
القدرة الرئيسية المستخدمةلا شيء في الحاوية الأوليةCAP_NET_ADMIN داخل مساحة اسم الشبكة الجديدة
الوحدة ذات الصلةalgif_aeadesp4
التمييز العملييفشل إذا تم حظر متجه AF_ALGلا يزال ذا صلة عندما يكون AF_ALG غير متاح ولكن ESP ومساحات أسماء المستخدمين مفعلة

كيف يعمل

سلسلة الهجوم لها ثلاث مراحل: تلف ذاكرة التخزين المؤقت للصفحات، الانتشار عبر الحاويات، والتنفيذ المميز.

1. تصحيح ذاكرة التخزين المؤقت للصفحات عبر xfrm/ESP

ينفذ الملف الثنائي للإثبات التسلسل التالي من حاوية غير مميزة:

  1. يدخل مساحات أسماء مستخدمين وشبكة جديدة مع unshare(CLONE_NEWUSER | CLONE_NEWNET).
  2. يسجل العديد من ارتباطات الأمان xfrm التي ترمز حقول التسلسل العالية إلى أجزاء حمولة من 4 بايت.
  3. يفتح ملفًا ثنائيًا مستهدفًا من طبقة الصورة المشتركة للقراءة فقط.
  4. يستخدم splice() ومدخلات ESP مصممة بعناية لتحفيز مسار النواة الضعيف.
  5. يكرر البدائية حتى تحتوي محتويات ذاكرة التخزين المؤقت للصفحات للملف الثنائي المستهدف على الحمولة المضمنة.

لا يلزم إذن كتابة للملف المستهدف. الملف على القرص لا يتغير — فقط ذاكرة التخزين المؤقت للصفحات في الذاكرة تتلف.

2. الانتشار عبر الحاويات عبر الطبقات المشتركة

تخدم بيئات تشغيل الحاويات القراءات من الطبقات السفلية overlay عبر ذاكرة التخزين المؤقت للصفحات في النواة. إذا كانت حاوية الإثبات وkube-proxy تشتركان في نفس ملف الطبقة السفلية، فكلاهما يلاحظ نفس الصفحات المخزنة مؤقتًا.

صورة EKS في هذا المستودع مبنية من:

public.ecr.aws/eks-distro-build-tooling/eks-distro-minimal-base-iptables:2026-03-11-1773190710.2023

تم اختيار هذه القاعدة لتطابق طبقة سلسلة أدوات مساحة مستخدم kube-proxy في EKS المستخدمة في البيئة التي تم التحقق منها.

3. التنفيذ المميز بواسطة kube-proxy

عندما ينفذ kube-proxy بعد ذلك ملفًا ثنائيًا مصححًا من عائلة iptables، تقوم النواة بتحميل الصفحات المخزنة مؤقتًا التالفة. تقوم حمولة الإثبات بتركيب جهاز الجذر للمضيف وتكتب ملف علامة إلى /root/res.

المحتوى المتوقع للعلامة هو:

[*] success

مخطط تدفق الهجوم

┌──────────────────────────────┐     ┌────────────────────────┐     ┌──────────────────────────┐
│  Pod الإثبات                │     │  ذاكرة التخزين المؤقت   │     │  DaemonSet kube-proxy    │
│  حاوية غير مميزة            │     │  لصفحات النواة          │     │  حاوية مميزة             │
│                              │     │                        │     │                          │
│  1. unshare user+net ns      │     │                        │     │                          │
│  2. تثبيت xfrm SAs           │     │                        │     │                          │
│  3. splice الملف الثنائي     │────▶│  ملف ثنائي بطبقة       │────▶│  ينفذ ملفًا ثنائيًا      │
│     المستهدف عبر مسار ESP    │     │  مشتركة تم تصحيح       │     │  مصححًا، تعمل الحمولة   │
│                              │     │  ذاكرة التخزين المؤقت  │     │  بصلاحيات مستوى العقدة  │
└──────────────────────────────┘     └────────────────────────┘     └──────────────────────────┘

البيئة التي تم التحقق منها

Amazon EKS

الخاصيةالقيمة
المنصةAmazon Elastic Kubernetes Service (EKS)
نواة العقدة6.12.80-106.156.amzn2023.x86_64
حالة التصحيحنواة قبل الإصلاح، تفتقد f4c50a4034e6
وحدة esp4محملة
مساحات أسماء المستخدمينمفعلة (user.max_user_namespaces=15030)
SELinuxمتساهل
Seccompغير مقيد في سياق الـ pod المختبر
DaemonSet المستهدفkube-proxy
الصلاحيات المستهدفةprivileged: true, hostNetwork: true
وضع الوكيلiptables
مسار العلامة/root/res

GKE و ACK — تم اختبارهما، غير قابلين للاستغلال مع التكوين الافتراضي

لقد اختبرت هذا على مجموعات GKE و ACK. جميعها فشلت.

تنزيل الأداة