
استغلال إثبات مفهوم لكشف رمز service-account في Kubernetes عبر وحدات تحميل hostPath؛ يتضمن YAML لبود مُعرّض للخطر وسكربت Python لسرقة الرموز.
# vulnerable-pod.yaml - Pod that mounts /var/run/secrets/kubernetes.io/serviceaccount into a hostPath
apiVersion: v1
kind: Pod
metadata:
name: sa-token-leak
spec:
containers:
- name: app
image: nginx
volumeMounts:
- mountPath: /var/run/secrets/kubernetes.io/serviceaccount
name: sa-token
volumes:
- name: sa-token
hostPath:
path: /var/run/secrets/kubernetes.io/serviceaccount # Writable by container? Not needed.
type: Directory
تقوم حجرة (Pod) بتثبيت دليل رمز حساب الخدمة في Kubernetes عبر hostPath بدلاً من وحدة التخزين المسقطة (projected volume) الافتراضية. يعرض هذا الرمز للحجرات الأخرى على نفس العقدة إذا كان بإمكانها قراءة نظام ملفات المضيف، مما يسمح بالحركة الجانبية (lateral movement) واختراق المجموعة.
hostPath لتثبيت دليل رمز حساب الخدمة يتجاوز الإسقاط الذاكرتي للرمز ويجعل الرمز ملفًا دائمًا على العقدة.انشر الحجرة الضعيفة، ثم من حجرة أخرى لديها وصول إلى المضيف، شغّل:
python exploit_sa_token.py
تتم قراءة الرمز ويمكن استخدامه للمصادقة على خادم API.