GCP - KMS Privesc
Last updated
Last updated
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)
KMS hakkında bilgi:
GCP - KMS EnumKMS'de izinlerin yalnızca Organizasyonlar, Klasörler ve Projelerden değil, aynı zamanda Anahtar Halkalarından da devralındığını unutmayın.
cloudkms.cryptoKeyVersions.useToDecrypt
Bu izni, üzerinde bu izne sahip olduğunuz anahtarla bilgileri şifre çözmek için kullanabilirsiniz.
cloudkms.cryptoKeys.setIamPolicy
Bu izne sahip bir saldırgan, kendisine izinler verebilir ve anahtarı kullanarak bilgileri şifrelerini çözebilir.
cloudkms.cryptoKeyVersions.useToDecryptViaDelegation
Bu delegasyonun nasıl çalıştığına dair kavramsal bir analiz:
Hizmet Hesabı A, KMS'de belirli bir anahtarı kullanarak şifre çözme işlemi için doğrudan erişime sahiptir.
Hizmet Hesabı B, useToDecryptViaDelegation
iznine sahiptir. Bu, onun KMS'den, Hizmet Hesabı A adına veri şifre çözme talep etmesine olanak tanır.
Bu izin, KMS hizmetinin izinleri kontrol etme şekliyle örtük olarak kullanılır; bir şifre çözme talebi yapıldığında.
Google Cloud KMS API'sini (Python veya başka bir dilde) kullanarak standart bir şifre çözme talebi yaptığınızda, hizmet talep eden hizmet hesabının gerekli izinlere sahip olup olmadığını kontrol eder. Eğer talep, useToDecryptViaDelegation
iznine sahip bir hizmet hesabı tarafından yapılırsa, KMS bu hesabın anahtarın sahibi adına şifre çözme talep etmesine izin verilip verilmediğini doğrular.
Özel Rolü Tanımlayın: Özel rolü tanımlayan bir YAML dosyası oluşturun (örneğin, custom_role.yaml
). Bu dosya, cloudkms.cryptoKeyVersions.useToDecryptViaDelegation
iznini içermelidir. Bu dosyanın nasıl görünebileceğine dair bir örnek:
Özel Rolü gcloud CLI Kullanarak Oluşturun: Google Cloud projenizde özel rolü oluşturmak için aşağıdaki komutu kullanın:
[YOUR_PROJECT_ID]
kısmını Google Cloud proje kimliğinizle değiştirin.
Özel Rolü Bir Hizmet Hesabına Verin: Bu izni kullanacak bir hizmet hesabına özel rolünüzü atayın. Aşağıdaki komutu kullanın:
[YOUR_PROJECT_ID]
ve [SERVICE_ACCOUNT_EMAIL]
değerlerini sırasıyla proje kimliğiniz ve hizmet hesabının e-posta adresi ile değiştirin.
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)