GCP - Containers & GKE Enum
Last updated
Last updated
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
U GCP kontejnerima možete pronaći većinu usluga zasnovanih na kontejnerima koje GCP nudi, ovde možete videti kako da enumerišete najčešće:
Na sledećoj stranici možete proveriti kako da zloupotrebite dozvole kontejnera za eskalaciju privilegija:
GCP - Container PrivescOvo su bazeni mašina (čvorova) koji čine kubernetes klastere.
Za informacije o tome šta je Kubernetes, proverite ovu stranicu:
Kubernetes PentestingPrvo, možete proveriti da li postoje neki Kubernetes klasteri u vašem projektu.
Ako imate klaster, možete da omogućite gcloud
da automatski konfiguriše vaš ~/.kube/config
fajl. Ovaj fajl se koristi za autentifikaciju kada koristite kubectl, nativni CLI za interakciju sa K8s klasterima. Pokušajte ovu komandu.
Zatim, pogledajte ~/.kube/config
datoteku da biste videli generisane akreditive. Ova datoteka će se koristiti za automatsko osvežavanje pristupnih tokena na osnovu iste identitete koju vaša aktivna gcloud
sesija koristi. To naravno zahteva odgovarajuće dozvole.
Kada je ovo postavljeno, možete pokušati sledeću komandu da dobijete konfiguraciju klastera.
Možete pročitati više o gcloud
za kontejnere ovde.
Ovo je jednostavan skript za enumeraciju kubernetes-a u GCP: https://gitlab.com/gitlab-com/gl-security/security-operations/gl-redteam/gcp_k8s_enum
U početku je ova tehnika eskalacije privilegija omogućila privesc unutar GKE klastera, što je efikasno omogućilo napadaču da potpuno kompromituje.
To je zato što GKE pruža TLS Bootstrap kredencijale u metapodacima, koji su dostupni svima jednostavno kompromitovanjem poda.
Tehnika koja se koristi objašnjena je u sledećim postovima:
I ovaj alat je kreiran da automatizuje proces: https://github.com/4ARMED/kubeletmein
Međutim, tehnika je zloupotrebljavala činjenicu da je sa metapodacima kredencijalima bilo moguće generisati CSR (Zahtev za potpisivanje sertifikata) za novi čvor, koji je bio automatski odobren. U mom testu sam proverio da ti zahtevi više nisu automatski odobreni, tako da nisam siguran da li je ova tehnika još uvek validna.
U ovom postu otkrivena je Kubelet API adresa dostupna iznutra poda u GKE koja daje detalje o pokrenutim podovima:
Čak i ako API ne dozvoljava modifikaciju resursa, može biti moguće pronaći osetljive informacije u odgovoru. Endpoint /pods je pronađen koristeći Kiterunner.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)