GCP - Sourcerepos 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)
Kaynak Depoları hakkında daha fazla bilgi için kontrol edin:
GCP - Source Repositories Enumsource.repos.get
Bu izinle, depoyu yerel olarak indirmek mümkündür:
source.repos.update
Bu izne sahip bir yetkili gcloud source repos clone <repo>
ile klonlanmış bir depoda kod yazabilir. Ancak bu iznin özel rollere eklenemeyeceğini unutmayın, bu nedenle önceden tanımlanmış bir rol aracılığıyla verilmelidir:
Sahip
Düzenleyici
Kaynak Deposu Yöneticisi (roles/source.admin
)
Kaynak Deposu Yazarı (roles/source.writer
)
Yazmak için sadece normal bir git push
gerçekleştirin.
source.repos.setIamPolicy
Bu izinle bir saldırgan kendisine önceki izinleri verebilir.
Eğer saldırgan tokenların saklandığı gizli bilgilere erişime sahipse, onları çalabilir. Gizli bir bilgiye nasıl erişileceği hakkında daha fazla bilgi için kontrol edin:
GCP - Secretmanager PrivescWeb konsolunda Kaynak Deposu projesine ssh anahtarları eklemek mümkündür. /v1/sshKeys:add
adresine bir POST isteği gönderir ve https://source.cloud.google.com/user/ssh_keys adresinde yapılandırılabilir.
SSH anahtarınız ayarlandığında, bir depoya erişmek için:
Ve ardından git
komutlarını her zamanki gibi kullanın.
Source Repositories'e erişmek için manuel kimlik bilgileri oluşturmak mümkündür:
İlk bağlantıya tıkladığınızda sizi https://source.developers.google.com/auth/start?scopes=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloud-platform&state&authuser=3 adresine yönlendirecektir.
Bu, Google Cloud Development'a erişim vermek için bir Oauth yetkilendirme istemi gösterecektir. Bu nedenle, ya kullanıcının kimlik bilgilerine ya da bunun için tarayıcıda açık bir oturuma ihtiyacınız olacak.
Bu, $HOME/.gitcookies
içinde bir git çerezi yapılandırmak ve çalıştırmak için bir bash betiği ile bir sayfaya yönlendirecektir.
Betiği çalıştırdıktan sonra git clone, push... kullanabilirsiniz ve çalışacaktır.
source.repos.updateProjectConfig
Bu izinle, Private Keys içeren kodu yüklememek için Source Repositories'in varsayılan korumasını devre dışı bırakmak mümkündür:
Farklı bir pub/sub konusu yapılandırabilir veya tamamen devre dışı bırakabilirsiniz:
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE) GCP Hacking'i öğrenin ve pratik yapın: HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)