GCP - Token Persistance
Last updated
Last updated
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Eğitim AWS Kırmızı Ekip Uzmanı (ARTE) GCP Hacking'i öğrenin ve pratik yapın: HackTricks Eğitim GCP Kırmızı Ekip Uzmanı (GRTE)
Bir kullanıcının mevcut token'ını almak için şunu çalıştırabilirsiniz:
Bu sayfada bu tokeni gcloud kullanarak doğrudan nasıl kullanacağınızı kontrol edin:
Yeni bir erişim tokeni oluşturmak için detayları almak üzere çalıştırın:
Ayrıca $HOME/.config/gcloud/application_default_credentials.json
ve $HOME/.config/gcloud/legacy_credentials/*/adc.json
dosyalarında yenileme token'larını bulmak da mümkündür.
Yenileme token'ı, istemci kimliği ve istemci sırrı ile yeni bir erişim token'ı almak için şunu çalıştırın:
Refresh tokenların geçerliliği Admin > Security > Google Cloud oturum kontrolü altında yönetilebilir ve varsayılan olarak 16 saat olarak ayarlanmıştır, ancak süresiz olarak ayarlanabilir:
gcloud auth login
gibi bir şey kullanıldığında kimlik doğrulama akışı, tarayıcıda bir istem açar ve tüm kapsamları kabul ettikten sonra tarayıcı, aracın açtığı http portuna bu gibi bir istek gönderir:
Sonra, gcloud, bazı sabit kodlanmış client_id
(32555940559.apps.googleusercontent.com
) ve client_secret
(ZmssLNjJy2998hD4CTg2ejr2
) ile son refresh token verilerini almak için durumu ve kodu kullanacaktır.
localhost ile iletişimin HTTP üzerinden olduğunu unutmayın, bu nedenle bir refresh token almak için verileri yakalamak mümkündür, ancak bu veri yalnızca 1 kez geçerlidir, bu yüzden bu işe yaramaz, refresh token'ı dosyadan okumak daha kolaydır.
Tüm Google kapsamlarını https://developers.google.com/identity/protocols/oauth2/scopes adresinde bulabilirsiniz veya bunları çalıştırarak alabilirsiniz:
Bu betikle gcloud
'un kimlik doğrulamak için kullandığı uygulamanın hangi kapsamları destekleyebileceğini görmek mümkündür:
Bu uygulamanın bu kapsamları desteklediği kontrol edildi:
ilginçtir ki, bu uygulamanın drive
kapsamını desteklediğini görmek, bir saldırgan kullanıcının bu kapsamla bir token oluşturmasını sağlarsa, GCP'den Workspace'e yükselmesine izin verebilir.
Bunu nasıl istismar edeceğinizi buradan kontrol edin.
Kimlik doğrulaması yapılmış kullanıcılarla olduğu gibi, bir hizmet hesabının özel anahtar dosyasını ele geçirirseniz, genellikle istediğiniz kadar erişim sağlayabilirsiniz. Ancak, bir hizmet hesabının **OAuth token'ını çalarsanız, bu daha da ilginç olabilir, çünkü bu token'lar varsayılan olarak sadece bir saat boyunca geçerli olsa da, eğer kurban özel api anahtarını silerse, OAuth token'ı süresi dolana kadar geçerli kalacaktır.
Açıkça, GCP ortamında çalışan bir makinenin içindeyseniz, o makineye bağlı hizmet hesabına metadata uç noktasını arayarak erişim sağlayabilirsiniz (bu uç noktada erişebileceğiniz OAuth token'larının genellikle kapsamlarla kısıtlandığını unutmayın).
Bu teknikler için bazı çözüm önerileri https://www.netskope.com/blog/gcp-oauth-token-hijacking-in-google-cloud-part-2 adresinde açıklanmıştır.
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)