GCP - Containers & GKE Enum
Last updated
Last updated
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE) GCP Hacking'i öğrenin ve pratik yapın: HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)
GCP konteynerlerinde, GCP'nin sunduğu en yaygın konteyner tabanlı hizmetlerin çoğunu bulabilirsiniz, burada en yaygın olanları nasıl listeleyeceğinizi görebilirsiniz:
Aşağıdaki sayfada kapsayıcı izinlerini kötüye kullanarak ayrıcalıkları artırma yöntemini kontrol edebilirsiniz:
GCP - Container PrivescBunlar, kubernetes kümelerini oluşturan makine (düğüm) havuzlarıdır.
Kubernetes nedir hakkında bilgi için bu sayfayı kontrol edin:
Kubernetes PentestingÖncelikle, projenizde herhangi bir Kubernetes kümesinin olup olmadığını kontrol edebilirsiniz.
Eğer bir kümeniz varsa, gcloud
otomatik olarak ~/.kube/config
dosyanızı yapılandırabilir. Bu dosya, K8s kümeleriyle etkileşimde bulunmak için yerel CLI olan kubectl kullanırken sizi kimlik doğrulamak için kullanılır. Bu komutu deneyin.
Sonra, oluşturulan kimlik bilgilerini görmek için ~/.kube/config
dosyasına bakın. Bu dosya, aktif gcloud
oturumunuzun kullandığı aynı kimlik temelinde erişim jetonlarını otomatik olarak yenilemek için kullanılacaktır. Bu elbette doğru izinlerin mevcut olmasını gerektirir.
Bu ayar yapıldıktan sonra, küme yapılandırmasını almak için aşağıdaki komutu deneyebilirsiniz.
You can read more about gcloud
for containers here.
This is a simple script to enumerate kubernetes in GCP: https://gitlab.com/gitlab-com/gl-security/security-operations/gl-redteam/gcp_k8s_enum
Initially this privilege escalation technique allowed to privesc inside the GKE cluster effectively allowing an attacker to fully compromise it.
This is because GKE provides TLS Bootstrap credentials in the metadata, which is accessible by anyone by just compromising a pod.
The technique used is explained in the following posts:
Ans this tool was created to automate the process: https://github.com/4ARMED/kubeletmein
However, the technique abused the fact that with the metadata credentials it was possible to generate a CSR (Certificate Signing Request) for a new node, which was automatically approved. In my test I checked that those requests aren't automatically approved anymore, so I'm not sure if this technique is still valid.
In this post it was discovered it was discovered a Kubelet API address accesible from inside a pod in GKE giving the details of the pods running:
API kaynakları değiştirmeye izin vermese bile, yanıt içinde hassas bilgilerin bulunması mümkün olabilir. /pods uç noktası Kiterunner kullanılarak bulundu.
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE) GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)