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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
kube-hunter — البحث عن نقاط الضعف الأمنية في مجموعات Kubernetes | Kitploit
أدوات/GitHubGitHub/aquasecurity/kube-hunter
ماسحات الثغرات الأمنيةأمن الحاوياتاختبار الاختراقأمن السحابةسوء التكوين
GitHubaquasecurity/kube-hunter

kube-hunter

البحث عن نقاط الضعف الأمنية في مجموعات Kubernetes

عرض المستودع
5.1k611منذ 2 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

تنبيه

لم يعد kube-hunter قيد التطوير النشط. إذا كنت مهتمًا بفحص مجموعات Kubernetes بحثًا عن نقاط الضعف المعروفة، فنوصي باستخدام Trivy. على وجه التحديد، فحص سوء التهيئة الخاص بـ Kubernetes من Trivy و فحص نقاط الضعف في KBOM. تعرف على المزيد في وثائق Trivy.


يقوم kube-hunter بالبحث عن نقاط الضعف الأمنية في مجموعات Kubernetes. تم تطوير الأداة لزيادة الوعي والوضوح بشأن المشكلات الأمنية في بيئات Kubernetes. يجب ألا تقوم بتشغيل kube-hunter على مجموعة Kubernetes لا تملكها!

تشغيل kube-hunter: يتوفر kube-hunter كحاوية (aquasec/kube-hunter)، ونقدم أيضًا موقعًا إلكترونيًا على kube-hunter.aquasec.com حيث يمكنك التسجيل عبر الإنترنت لتلقي رمز مميز يسمح لك بمشاهدة النتائج ومشاركتها عبر الإنترنت. يمكنك أيضًا تشغيل كود Python بنفسك كما هو موضح أدناه.

استكشاف نقاط الضعف: تتضمن قاعدة معرفة kube-hunter مقالات حول نقاط الضعف والمشكلات القابلة للاكتشاف. عندما يبلغ kube-hunter عن مشكلة، فسوف يعرض VID (معرف الضعف) الخاص بها بحيث يمكنك البحث عنها في قاعدة المعرفة على https://aquasecurity.github.io/kube-hunter/
إذا كنت مهتمًا بتكامل kube-hunter مع مصفوفة ATT&CK الخاصة بـ Kubernetes استمر في القراءة

فيديو توضيحي لـ kube-hunter

جدول المحتويات

  • جدول المحتويات
    • مصفوفة ATT&CK الخاصة بـ Kubernetes
    • الصيد
      • أين يجب تشغيل kube-hunter؟
      • خيارات الفحص
      • المصادقة
      • الصيد النشط
      • قائمة الاختبارات
      • تخطيط العقد
      • المخرجات
      • الإرسال
    • الاستخدام المتقدم
      • الفحص السريع في Azure
      • الصيد المخصص
    • النشر
      • على الجهاز
        • المتطلبات الأساسية
          • التثبيت باستخدام pip
          • التشغيل من المصدر
      • الحاوية
      • الـ Pod
    • المساهمة
    • الترخيص

مصفوفة ATT&CK الخاصة بـ Kubernetes

يدعم kube-hunter الآن التنسيق الجديد لمصفوفة ATT&CK الخاصة بـ Kubernetes. بينما تمثل نقاط الضعف في kube-hunter مجموعة من التقنيات الإبداعية المصممة لمحاكاة مهاجم داخل المجموعة (أو خارجها)، يحدد Mitre's ATT&CK فئات موحدة وأكثر عمومية للتقنيات المستخدمة في ذلك.

يمكنك التفكير في نقاط ضعف kube-hunter كخطوات صغيرة للمهاجم، والتي تتبع مسار تقنية أكثر عمومية يسعى لتحقيقها. يمكن تصنيف معظم صيادي ونقاط ضعف kube-hunter ضمن هذه التقنيات، ولهذا انتقلنا لاتباع معيار المصفوفة.

بعض نقاط ضعف kube-hunter التي لم نتمكن من تعيينها إلى تقنية Mitre، يتم تسبيقها بالكلمة الأساسية General kube-hunter

الصيد

أين يجب تشغيل kube-hunter؟

هناك ثلاث طرق مختلفة لتشغيل kube-hunter، كل منها يوفر نهجًا مختلفًا لاكتشاف نقاط الضعف في مجموعتك:

شغّل kube-hunter على أي جهاز (بما في ذلك الكمبيوتر المحمول الخاص بك)، واختر الفحص عن بُعد وأعط عنوان IP أو اسم المجال لمجموعة Kubernetes الخاصة بك. سيمنحك هذا رؤية من منظور المهاجم لإعداد Kubernetes الخاص بك.

يمكنك تشغيل kube-hunter مباشرة على جهاز داخل المجموعة، واختيار خيار فحص جميع واجهات الشبكة المحلية.

يمكنك أيضًا تشغيل kube-hunter في pod داخل المجموعة. يشير هذا إلى مدى تعرض مجموعتك إذا تم اختراق أحد pods الخاصة بالتطبيق (على سبيل المثال، من خلال ثغرة برمجية). (علامة --pod)

خيارات الفحص

تحقق أولاً من هذه المتطلبات الأساسية.

بشكل افتراضي، سيفتح kube-hunter جلسة تفاعلية، حيث ستتمكن من تحديد أحد خيارات الفحص التالية. يمكنك أيضًا تحديد خيار الفحص يدويًا من سطر الأوامر. هذه هي الخيارات المتاحة:

  1. الفحص عن بُعد

لتحديد أجهزة بعيدة للصيد، اختر الخيار 1 أو استخدم الخيار --remote. مثال: kube-hunter --remote some.node.com

  1. فحص الواجهة

لتحديد فحص الواجهة، يمكنك استخدام الخيار --interface (سيؤدي هذا إلى فحص جميع واجهات الشبكة بالجهاز). مثال: kube-hunter --interface

  1. فحص الشبكة

لتحديد CIDR معين للفحص، استخدم الخيار --cidr. مثال: kube-hunter --cidr 192.168.0.0/24

  1. الاكتشاف التلقائي لعقد Kubernetes

اضبط العلامة --k8s-auto-discover-nodes للاستعلام عن Kubernetes لجميع العقد في المجموعة، ثم محاولة فحصها جميعًا. سيستخدم افتراضيًا التكوين داخل المجموعة للاتصال بواجهة برمجة تطبيقات Kubernetes. إذا كنت ترغب في استخدام ملف kubeconfig صريح، فاضبط --kubeconfig /location/of/kubeconfig/file.

لاحظ أيضًا، أن هذا يتم دائمًا عند استخدام وضع --pod.

المصادقة

من أجل محاكاة مهاجم في مراحله المبكرة، لا يتطلب kube-hunter أي مصادقة للصيد.

  • الانتحال - يمكنك تزويد kube-hunter برمز مميز لحساب خدمة محدد لاستخدامه عند الصيد عن طريق تمرير رمز JWT Bearer الخاص بسري حساب الخدمة يدويًا باستخدام العلامة --service-account-token.

    مثال:

    root@kitploit:~
    $ kube-hunter --active --service-account-token eyJhbGciOiJSUzI1Ni...
    
  • عند التشغيل بعلامة --pod، يستخدم kube-hunter رمز حساب الخدمة المثبت داخل الـ pod للمصادقة على الخدمات التي يجدها أثناء الصيد.

    • إذا تم تحديده، فإن العلامة --service-account-token لها الأولوية عند التشغيل كـ pod

الصيد النشط

الصيد النشط هو خيار يقوم فيه kube-hunter باستغلال نقاط الضعف التي يجدها، لاستكشاف المزيد من نقاط الضعف. الفرق الرئيسي بين الصيد العادي والصيد النشط هو أن الصيد العادي لن يغير حالة المجموعة أبدًا، بينما يمكن للصيد النشط أن يقوم بعمليات تغيير الحالة على المجموعة، والتي قد تكون ضارة.

بشكل افتراضي، لا يقوم kube-hunter بالصيد النشط. لصيد نشط لمجموعة، استخدم العلامة --active. مثال: kube-hunter --remote some.domain.com --active

قائمة الاختبارات

يمكنك رؤية قائمة الاختبارات باستخدام الخيار --list: مثال: kube-hunter --list

لرؤية اختبارات الصيد النشط بالإضافة إلى اختبارات الصيد السلبي: kube-hunter --list --active

تخطيط العقد

لرؤية تخطيط شبكة العقد فقط، قم بالتشغيل باستخدام الخيار --mapping. مثال: kube-hunter --cidr 192.168.0.0/24 --mapping سيؤدي هذا إلى إخراج جميع عقد Kubernetes التي وجدها kube-hunter.

المخرجات

للتحكم في التسجيل، يمكنك تحديد مستوى السجل باستخدام الخيار --log. مثال: kube-hunter --active --log WARNING مستويات السجل المتاحة هي:

  • DEBUG
  • INFO (افتراضي)
  • WARNING

الإرسال

بشكل افتراضي، سيتم إرسال التقرير إلى stdout، ولكن يمكنك تحديد طرق مختلفة باستخدام الخيار --dispatch. مثال: kube-hunter --report json --dispatch http طرق الإرسال المتاحة هي:

  • stdout (افتراضي)
  • http (للتكوين، اضبط متغيرات البيئة التالية:)
    • KUBEHUNTER_HTTP_DISPATCH_URL (الافتراضي: https://localhost)
    • KUBEHUNTER_HTTP_DISPATCH_METHOD (الافتراضي: POST)

الاستخدام المتقدم

الفحص السريع في Azure

عند التشغيل كـ Pod في بيئة Azure أو AWS، سيجلب kube-hunter الشبكات الفرعية من خدمة بيانات تعريف المثيل. وبطبيعة الحال، يجعل هذا عملية الاكتشاف أطول. لتحديد فحص الشبكة الفرعية بشدة إلى CIDR /24، استخدم الخيار --quick.

الصيد المخصص

يتيح الصيد المخصص للمستخدمين المتقدمين التحكم في الصيادين الذين يتم تسجيلهم في بداية الصيد. إذا كنت تعرف ما تفعله، يمكن أن يساعد هذا إذا كنت ترغب في ضبط عملية الصيد والاكتشاف الخاصة بـ kube-hunter وفقًا لاحتياجاتك.

مثال:

root@kitploit:~
kube-hunter --custom <HunterName1> <HunterName2>

يؤدي تمكين الصيد المخصص إلى إزالة جميع الصيادين من عملية الصيد، باستثناء الصيادين المدرجين في القائمة البيضاء المحددة.

تقرأ العلامة --custom قائمة بأسماء فئات الصيادين، لعرض جميع أسماء فئات kube-hunter، يمكنك دمج العلامة --raw-hunter-names مع العلامة --list.

مثال:

root@kitploit:~
kube-hunter --active --list --raw-hunter-names

ملاحظة: نظرًا للتصميم المعماري لـ kube-hunter، فإن "الصيادين/الفئات الأساسية" التالية سيتم تسجيلها دائمًا (حتى عند استخدام الصيد المخصص):

  • HostDiscovery
    • يولد عناوين IP للصيد بناءً على التكوينات المحددة
    • يكتشف الشبكات الفرعية تلقائيًا باستخدام واجهات برمجة تطبيقات البيانات الوصفية السحابية
  • FromPodHostDiscovery
    • يكتشف تلقائيًا عناوين IP لسطح الهجوم للصيد باستخدام تقنيات البيئة المستندة إلى Pod
    • يكتشف الشبكات الفرعية تلقائيًا باستخدام واجهات برمجة تطبيقات البيانات الوصفية السحابية
  • PortDiscovery
    • فحص المنافذ لعناوين IP معينة بحثًا عن منافذ خدمات Kubernetes المعروفة
  • Collector
    • يجمع نقاط الضعف والخدمات المفتوحة المكتشفة لإعداد تقرير مستقبلي
  • StartedInfo
    • يطبع رسالة البداية
  • SendFullReport
    • إرسال التقرير بناءً على التكوينات المحددة

النشر

هناك ثلاث طرق لنشر kube-hunter:

على الجهاز

يمكنك تشغيل kube-hunter مباشرة على جهازك.

المتطلبات الأساسية

ستحتاج إلى تثبيت ما يلي:

  • python 3.x
  • pip
التثبيت باستخدام pip

التثبيت:

root@kitploit:~
pip install kube-hunter

التشغيل:

root@kitploit:~
kube-hunter
التشغيل من المصدر

استنساخ المستودع:

root@kitploit:~
git clone https://github.com/aquasecurity/kube-hunter.git

تثبيت تبعيات الوحدة النمطية. (قد تفضل القيام بذلك داخل بيئة افتراضية)

root@kitploit:~
cd ./kube-hunter
pip install -r requirements.txt

التشغيل:

root@kitploit:~
python3 kube_hunter

إذا كنت تريد استخدام pyinstaller/py2exe، فأنت بحاجة أولاً إلى تشغيل سكريبت install_imports.py.

الحاوية

تحتفظ Aqua Security بنسخة محوسبة من kube-hunter في aquasec/kube-hunter:aqua. تحتوي هذه الحاوية على كود المصدر هذا، بالإضافة إلى إضافة إضافية (مصدر مغلق) للإبلاغ عن تحميل النتائج إلى تقرير يمكن عرضه على kube-hunter.aquasec.com. يرجى ملاحظة أن تشغيل حاوية aquasec/kube-hunter وتحميل بيانات التقارير يخضع لـ شروط وأحكام إضافية.

يسمح لك ملف Dockerfile الموجود في هذا المستودع ببناء نسخة محوسبة بدون إضافة الإبلاغ.

إذا قمت بتشغيل حاوية kube-hunter مع شبكة المضيف، فستتمكن من فحص جميع واجهات المضيف:

docker run -it --rm --network host aquasec/kube-hunter

ملاحظة بالنسبة لـ Docker for Mac/Windows: لاحظ أن "المضيف" بالنسبة لـ Docker for Mac أو Windows هو الجهاز الظاهري الذي تشغل Docker الحاويات داخله. لذلك فإن تحديد --network host يسمح لـ kube-hunter بالوصول إلى واجهات الشبكة لهذا الجهاز الظاهري، بدلاً من واجهات جهازك. بشكل افتراضي، يعمل kube-hunter في الوضع التفاعلي. يمكنك أيضًا تحديد خيار الفحص باستخدام المعلمات الموضحة أعلاه مثل:

docker run --rm aquasec/kube-hunter --cidr 192.168.0.0/24

الـ Pod

يسمح لك هذا الخيار باكتشاف ما يمكن أن يفعله أو يكتشفه تشغيل حاوية ضارة على مجموعتك. وهذا يعطي منظورًا لما يمكن أن يفعله المهاجم إذا تمكن من اختراق pod، ربما من خلال ثغرة برمجية. قد يكشف هذا عن نقاط ضعف أكثر بكثير.

يحدد ملف job.yaml النموذجي وظيفة Job ستقوم بتشغيل kube-hunter في pod، باستخدام إعدادات الوصول الافتراضية لـ pod في Kubernetes. (قد ترغب في تعديل هذا التعريف، على سبيل المثال للتشغيل كمستخدم غير جذري، أو للتشغيل في مساحة اسم مختلفة.)

  • قم بتشغيل المهمة باستخدام kubectl create -f ./job.yaml
  • ابحث عن اسم pod باستخدام kubectl describe job kube-hunter
  • عرض نتائج الاختبار باستخدام kubectl logs <pod name>

المساهمة

لقراءة إرشادات المساهمة، انقر هنا

الترخيص

هذا المستودع متاح بموجب رخصة Apache 2.0.

تنزيل الأداة