GCP - Sourcerepos Privesc
Kaynak Depoları
Kaynak Depoları hakkında daha fazla bilgi için:
GCP - Source Repositories Enumsource.repos.get
source.repos.get
Bu izinle depoyu yerel olarak indirmek mümkündür:
source.repos.update
source.repos.update
Bu izne sahip bir kullanıcı, gcloud source repos clone <repo>
ile klonlanmış bir depoya kod yazabilecektir. Ancak bu izin özel rollerle ilişkilendirilemez, bu yüzden aşağıdaki gibi önceden tanımlanmış bir rol aracılığıyla verilmelidir:
Sahip
Düzenleyici
Kaynak Deposu Yöneticisi (
roles/source.admin
)Kaynak Deposu Yazıcısı (
roles/source.writer
)
Yazmak için sadece normal bir git push
işlemi gerçekleştirin.
source.repos.setIamPolicy
source.repos.setIamPolicy
Bu izne sahip bir saldırgan, kendisine önceki izinleri verebilir.
Gizli erişim
Saldırgan, token'ların depolandığı gizliliklere erişimi varsa, bunları çalabilir. Bir gizliğe nasıl erişileceği hakkında daha fazla bilgi için şu adrese bakın:
GCP - Secretmanager PrivescSSH anahtarları ekleme
Web konsolunda SSH anahtarlarını Kaynak Deposu projesine eklemek mümkündür. Bu, /v1/sshKeys:add
adresine bir post isteği yapar ve https://source.cloud.google.com/user/ssh_keys adresinde yapılandırılabilir.
SSH anahtarınız ayarlandıktan sonra, bir depoya şu şekilde erişebilirsiniz:
Ve ardından git
komutlarını normal şekilde kullanın.
Manuel Kimlik Bilgileri
Kaynak Depolarına erişmek için manuel kimlik bilgileri oluşturmak mümkündür:
İlk bağlantıya tıkladığınızda https://source.developers.google.com/auth/start?scopes=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloud-platform&state&authuser=3 adresine yönlendirileceksiniz.
Bu, Google Cloud Development'a erişim vermek için bir Oauth yetkilendirme istemi açacak. Bu nedenle, bunun için ya kullanıcının kimlik bilgilerine ya da tarayıcıda açık bir oturuma ihtiyacınız olacak.
Bu sizi bir bash komut dosyasını yürütmek ve $HOME/.gitcookies
içinde bir git çerezi yapılandırmak için bir sayfaya yönlendirecektir.
Komut dosyasını çalıştırarak git clone, push... gibi işlemleri yapabilirsiniz ve çalışacaktır.
source.repos.updateProjectConfig
source.repos.updateProjectConfig
Bu izinle, Kaynak Depolarının varsayılan korumasını devre dışı bırakarak Özel Anahtar içeren kodların yüklenmesini engellemek mümkündür:
Ayrıca farklı bir pub/sub konusu yapılandırabilir veya tamamen devre dışı bırakabilirsiniz:
Last updated