GCP - Cloudbuild Privesc
cloudbuild
Cloud Build hakkında daha fazla bilgi için kontrol edin:
GCP - Cloud Build Enumcloudbuild.builds.create
cloudbuild.builds.create
Bu izinle bir bulut yapısı oluşturabilirsiniz. Cloudbuild makinesi, varsayılan olarak cloudbuild Hizmet Hesabı'nın bir belirteci olan <PROJE_NUMARASI>@cloudbuild.gserviceaccount.com
içerir. Bununla birlikte, cloudbuild yapılandırmasında proje içindeki herhangi bir hizmet hesabını belirtebilirsiniz.
Bu nedenle, makineyi sadece belirteci sunucunuza dışa aktarabilir veya içine ters kabuk alabilir ve belirteci kendiniz alabilirsiniz (belirteci içeren dosya değişebilir).
Orijinal saldırı betiğini burada GitHub'ta bulabilirsiniz (ancak belirteci nereden aldığı konumu benim için çalışmadı). Bu nedenle, bir zafiyetli ortamın oluşturulması, saldırı ve temizleme işlemlerini otomatikleştiren bir betik ve cloudbuild makinesi içinde ters kabuk almak ve çalmak için bir python betiği bulabilirsiniz (koddan diğer hizmet hesaplarını nasıl belirteceğinizi bulabilirsiniz).
Daha detaylı bir açıklama için https://rhinosecuritylabs.com/gcp/iam-privilege-escalation-gcp-cloudbuild/ adresini ziyaret edin.
cloudbuild.builds.update
cloudbuild.builds.update
Bu izinle potansiyel olarak bir bulut yapısını güncelleyebilir ve hizmet hesabı belirteci çalabilirsiniz. Ancak, bu yazının yazıldığı sırada bu API'yi çağırmak için herhangi bir yol bulamadım.
TODO
cloudbuild.repositories.accessReadToken
cloudbuild.repositories.accessReadToken
Bu izinle kullanıcı, depoya erişmek için kullanılan okuma erişim belirtecini alabilir:
cloudbuild.repositories.accessReadWriteToken
cloudbuild.repositories.accessReadWriteToken
Bu izinle kullanıcı, depoya erişmek için kullanılan okuma ve yazma erişim belirtecini alabilir:
cloudbuild.connections.fetchLinkableRepositories
cloudbuild.connections.fetchLinkableRepositories
Bu izinle, bağlantının erişimine sahip olduğu depoları alabilirsiniz:
Last updated