Kubernetes OPA Gatekeeper bypass

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks

Ο αρχικός συγγραφέας αυτής της σελίδας είναι Guillaume

Κατάχρηση κακής διαμόρφωσης

Καταμέτρηση κανόνων

Η επισκόπηση μπορεί να βοηθήσει στο να γνωρίζουμε ποιες κανόνες είναι ενεργοί, σε ποιον τρόπο και ποιος μπορεί να τους παρακάμψει.

Με το CLI

$ kubectl api-resources | grep gatekeeper
k8smandatoryannotations                                                             constraints.gatekeeper.sh/v1beta1                  false        K8sMandatoryAnnotations
k8smandatorylabels                                                                  constraints.gatekeeper.sh/v1beta1                  false        K8sMandatoryLabel
constrainttemplates                                                                 templates.gatekeeper.sh/v1                         false        ConstraintTemplate

ConstraintTemplate και Constraint μπορούν να χρησιμοποιηθούν στο Open Policy Agent (OPA) Gatekeeper για την επιβολή κανόνων στους πόρους Kubernetes.

$ kubectl get constrainttemplates
$ kubectl get k8smandatorylabels

Με το GUI

Μια Γραφική Διεπαφή Χρήστη μπορεί επίσης να είναι διαθέσιμη για την πρόσβαση στους κανόνες OPA με το Gatekeeper Policy Manager. Είναι “μια απλή μόνο για ανάγνωση διαδικτυακή διεπαφή για την προβολή της κατάστασης των πολιτικών OPA Gatekeeper σε ένα Kubernetes Cluster.”

Αναζητήστε την εκτεθειμένη υπηρεσία :

$ kubectl get services -A | grep gatekeeper
$ kubectl get services -A | grep 'gatekeeper-policy-manager-system'

Εξαιρούμενα namespaces

Όπως απεικονίζεται στην παραπάνω εικόνα, ορισμένοι κανόνες ενδέχεται να μην εφαρμόζονται καθολικά σε όλα τα namespaces ή χρήστες. Αντίθετα, λειτουργούν με βάση μια λευκή λίστα. Για παράδειγμα, ο περιορισμός liveness-probe εξαιρείται από την εφαρμογή σε πέντε συγκεκριμένα namespaces.

Bypass

Με μια ολοκληρωμένη επισκόπηση της διαμόρφωσης του Gatekeeper, είναι δυνατόν να εντοπιστούν πιθανές κακοδιαμορφώσεις που θα μπορούσαν να εκμεταλλευτούν για να αποκτήσουν προνόμια. Αναζητήστε whitelisted ή εξαιρούμενα namespaces όπου ο κανόνας δεν ισχύει, και στη συνέχεια εκτελέστε την επίθεσή σας εκεί.

Abusing Roles/ClusterRoles in Kubernetes

Abusing ValidatingWebhookConfiguration

Ένας άλλος τρόπος για να παρακάμψετε τους περιορισμούς είναι να εστιάσετε στον πόρο ValidatingWebhookConfiguration:

Kubernetes ValidatingWebhookConfiguration

Αναφορές

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks