GCP - Containers, GKE & Composer Enum
Kontejneri
U GCP kontejnerima možete pronaći većinu kontejnerskih usluga koje GCP nudi, ovde možete videti kako da enumerišete najčešće:
Povećanje privilegija
Na sledećoj stranici možete proveriti kako zloupotrebiti dozvole kontejnera da biste povećali privilegije:
GCP - Container PrivescČvorovi bazena
Ovo su skup mašina (čvorova) koji čine Kubernetes klaster.
Composer
Ovo je upravljana verzija Airflow-a za GCP.
Privesc
Na sledećoj stranici možete proveriti kako zloupotrebiti dozvole kompozitora da biste povećali privilegije:
GCP - Composer PrivescKubernetes
Za informacije o tome šta je Kubernetes, pogledajte ovu stranicu:
Kubernetes PentestingPrvo, možete proveriti da li postoje bilo koji Kubernetes klasteri u vašem projektu.
Ako imate klaster, možete podesiti da gcloud
automatski konfiguriše vaš ~/.kube/config
fajl. Ovaj fajl se koristi za autentifikaciju prilikom korišćenja kubectl, osnovnog CLI-a za interakciju sa K8s klasterima. Isprobajte 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 istog identiteta koji koristi vaša aktivna gcloud
sesija. Naravno, ovo zahteva odgovarajuće dozvole.
Kada je ovo podešeno, možete pokušati sledeću komandu da biste dobili konfiguraciju klastera.
Možete pročitati više o gcloud
za kontejnere ovde.
Ovo je jednostavan skript za enumeraciju Kubernetesa u GCP-u: https://gitlab.com/gitlab-com/gl-security/security-operations/gl-redteam/gcp_k8s_enum
Privilegije za eskalaciju TLS Bootstrap
Inicialno, ova tehnika za eskalaciju privilegija omogućavala je eskalkaciju privilegija unutar GKE klastera, efektivno omogućavajući napadaču da ga potpuno kompromituje.
To je zato što GKE pruža TLS Bootstrap akreditive u metapodacima, koji su dostupni svima koji kompromituju pod.
Tehnika koja se koristi objašnjena je u sledećim postovima:
A ovaj alat je napravljen da automatizuje proces: https://github.com/4ARMED/kubeletmein
Međutim, tehnika je zloupotrebljavala činjenicu da je sa akreditivima metapodataka bilo moguće generisati CSR (Zahtev za potpisivanje sertifikata) za novi čvor, koji je automatski odobren. U mom testu sam proverio da ti zahtevi više nisu automatski odobreni, pa nisam siguran da li je ova tehnika još uvek važeća.
Tajne u Kubelet API
U ovom postu je otkrivena adresa Kubelet API-ja koja je dostupna iznutra u podu u GKE-u i pruža detalje o pokrenutim podovima:
Čak i ako API ne dozvoljava izmenu resursa, moguće je pronaći osetljive informacije u odgovoru. Korišćenjem Kiterunner alata, pronađen je endpoint /pods.
Last updated