GCP - Sourcerepos Privesc
Tip
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)
Az Hacking’i öğrenin ve pratik yapın:HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- Abonelik planlarını kontrol edin!
- Katılın 💬 Discord group veya telegram group veya Twitter’da bizi takip edin 🐦 @hacktricks_live.
- PR göndererek hacking tricks paylaşın: HackTricks ve HackTricks Cloud github repos.
Source Repositories
Source Repositories hakkında daha fazla bilgi için bakınız:
GCP - Source Repositories Enum
source.repos.get
Bu izin sayesinde repository’yi yerel olarak indirebilirsiniz:
Source repository'ı klonla
```bash gcloud source repos clonesource.repos.update
Bu izne sahip bir principal, gcloud source repos clone <repo> ile klonlanan bir repository içinde kod yazabilir. Ancak bu iznin custom rollere atanamayacağını unutmayın, bu yüzden şu ön tanımlı roller aracılığıyla verilmelidir:
- Owner
- Editor
- Source Repository Administrator (
roles/source.admin) - Source Repository Writer (
roles/source.writer)
Yazmak için normal bir git push yapmanız yeterlidir.
source.repos.setIamPolicy
Bu izin ile bir saldırgan kendine önceki izinleri verebilir.
Secret erişimi
Saldırgan token’ların saklandığı secrets’lara erişimi varsa bunları çalabilir. Bir secret’a nasıl erişileceği hakkında daha fazla bilgi için bakınız:
SSH anahtarları ekleme
Web console’da Source Repository projesine ssh keys eklemek mümkündür. Bu, /v1/sshKeys:add üzerine bir POST isteği yapar ve https://source.cloud.google.com/user/ssh_keys adresinde yapılandırılabilir.
SSH key’iniz ayarlandıktan sonra bir repo’ya şu şekilde erişebilirsiniz:
SSH kullanarak repository klonlama
```bash git clone ssh://username@domain.com@source.developers.google.com:2022/p/Ve ardından git komutlarını her zamanki gibi kullanın.
Manuel Kimlik Bilgileri
Source Repositories’e erişmek için manuel kimlik bilgileri oluşturmak mümkündür:
.png)
İlk linke 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önlendirir.
Bu, Oauth authorization prompt göstererek Google Cloud Development’e erişim isteyecektir. 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 çalıştırılacak bir bash scripti içeren ve $HOME/.gitcookies içinde bir git cookie’si yapılandıran bir sayfaya gönderir.
.png)
Scripti çalıştırdıktan sonra git clone, push… komutlarını kullanabilirsiniz ve çalışacaktır.
source.repos.updateProjectConfig
Bu izinle, Source Repositories’in private key içeren kodların yüklenmesini engelleyen varsayılan korumasını devre dışı bırakmak mümkündür:
pushblock'u devre dışı bırakma ve pub/sub yapılandırmasını değiştirme
```bash gcloud source project-configs update --disable-pushblock ``` Farklı bir pub/sub topic'i de yapılandırabilir veya tamamen devre dışı bırakabilirsiniz: ```bash gcloud source project-configs update --remove-topic=REMOVE_TOPIC gcloud source project-configs update --remove-topic=UPDATE_TOPIC ```Tip
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)
Az Hacking’i öğrenin ve pratik yapın:HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- Abonelik planlarını kontrol edin!
- Katılın 💬 Discord group veya telegram group veya Twitter’da bizi takip edin 🐦 @hacktricks_live.
- PR göndererek hacking tricks paylaşın: HackTricks ve HackTricks Cloud github repos.
HackTricks Cloud

