GCP - Compute Enum
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.
GCP VPC & Networking
Bunun nasıl çalıştığını öğrenin:
Enumeration
# List networks
gcloud compute networks list
gcloud compute networks describe <network>
# List subnetworks
gcloud compute networks subnets list
gcloud compute networks subnets get-iam-policy <name> --region <region>
gcloud compute networks subnets describe <name> --region <region>
# List FW rules in networks
gcloud compute firewall-rules list --format="table(
name,
network,
direction,
priority,
sourceRanges.list():label=SRC_RANGES,
destinationRanges.list():label=DEST_RANGES,
allowed[].map().firewall_rule().list():label=ALLOW,
denied[].map().firewall_rule().list():label=DENY,
sourceTags.list():label=SRC_TAGS,
sourceServiceAccounts.list():label=SRC_SVC_ACCT,
targetTags.list():label=TARGET_TAGS,
targetServiceAccounts.list():label=TARGET_SVC_ACCT,
disabled
)"
# List Hierarchical Firewalls
gcloud compute firewall-policies list (--folder <value>| --organization <value>)
gcloud compute firewall-policies describe <fw_policy>
gcloud compute firewall-policies list-rules <fw_policy>
# Get Firewalls of each region
gcloud compute network-firewall-policies list
## Get final FWs applied in a region
gcloud compute network-firewall-policies get-effective-firewalls --network=<vpc_name> --region <region>
Açık güvenlik duvarı kurallarıyla compute instance’ları kolayca bulabilirsiniz https://gitlab.com/gitlab-com/gl-security/security-operations/gl-redteam/gcp_firewall_enum
Compute instance’ları
Bu, GCP içinde sanal makineleri çalıştırmanın yoludur. Daha fazla bilgi için bu sayfayı kontrol edin:
Enumeration
# Get list of zones
# It's interesting to know which zones are being used
gcloud compute regions list | grep -E "NAME|[^0]/"
# List compute instances & get info
gcloud compute instances list
gcloud compute instances describe <instance name>
gcloud compute instances get-iam-policy <instance> --zone=ZONE
gcloud compute instances get-screenshot <instance name> # Instace must have "Display Device" enabled
gcloud compute instances os-inventory list-instances # Get OS info of instances (OS Config agent is running on instances)
# Enumerate disks
gcloud compute disks list
gcloud compute disks describe <disk>
gcloud compute disks get-iam-policy <disk>
Daha fazla bilgi için SSH veya bir örneğin metadata’sını değiştirme ile yetki yükseltme hakkında, bu sayfayı kontrol edin:
GCP - local privilege escalation ssh pivoting
Yetki Yükseltme
Aşağıdaki sayfada, yetki yükseltmek için hesaplama izinlerini nasıl kötüye kullanacağınızı kontrol edebilirsiniz:
Kimlik Doğrulaması Olmayan Enum
GCP - Compute Unauthenticated Enum
Sonrası İstismar
GCP - Compute Post Exploitation
Süreklilik
Seri Konsol Günlükleri
Compute Engine Seri Konsol Günlükleri, sanal makine örneklerinizin başlatma ve işletim sistemi günlüklerini görüntülemenizi ve teşhis etmenizi sağlayan bir özelliktir.
Seri Konsol Günlükleri, örneğin başlatma sürecinin düşük seviyeli bir görünümünü sağlar; bu, çekirdek mesajları, başlatma betikleri ve başlatma sırasında meydana gelen diğer sistem olaylarını içerir. Bu, başlatma sorunlarını gidermek, yanlış yapılandırmaları veya yazılım hatalarını tanımlamak veya ağ bağlantısı sorunlarını çözmek için yararlı olabilir.
Bu günlükler, düşük ayrıcalıklı bir kullanıcının genellikle göremeyeceği sistem günlüklerinden hassas bilgileri açığa çıkarabilir, ancak uygun IAM izinleri ile bunları okuyabilirsiniz.
Aşağıdaki gcloud komutunu kullanarak seri port günlüklerini sorgulayabilirsiniz (gerekli izin compute.instances.getSerialPortOutput):
gcloud compute instances get-serial-port-output <instance-name>
Startup Scripts çıktısı
Başlangıç betiklerinin çıktısını VM’den görmek mümkündür:
sudo journalctl -u google-startup-scripts.service
OS Configuration Manager
OS yapılandırma yönetim hizmetini kullanarak VM örneğiniz için tutarlı yapılandırmalar (istenen durum ve yazılım) dağıtabilir, sorgulayabilir ve sürdürebilirsiniz. Compute Engine’de, bir VM’de tutarlı yazılım yapılandırmalarını sürdürmek için guest policies kullanmalısınız.
OS Yapılandırma yönetim özelliği, hangi yazılım paketlerinin yüklenmesi gerektiğini, hangi hizmetlerin etkinleştirilmesi gerektiğini ve hangi dosyaların veya yapılandırmaların VM’lerinizde bulunması gerektiğini belirten yapılandırma politikaları tanımlamanıza olanak tanır. VM’lerinizin yazılım yapılandırmasını yönetmek için deklaratif bir yaklaşım kullanabilir, bu da yapılandırma yönetim sürecinizi daha kolay otomatikleştirmenizi ve ölçeklendirmenizi sağlar.
Bu ayrıca IAM izinleri aracılığıyla örneklere giriş yapmayı da sağlar, bu nedenle privesc ve pivoting için çok faydalıdır.
Warning
Tüm bir projede veya bir örnekte os-config’i etkinleştirmek için sadece metadata anahtarını
enable-oslogindeğerinitrueolarak ayarlamanız yeterlidir.
Ayrıca, 2fa’yı etkinleştirmek için metadataenable-oslogin-2faanahtarınıtrueolarak ayarlayabilirsiniz.Bir örnek oluştururken bunu etkinleştirdiğinizde, metadata anahtarları otomatik olarak ayarlanacaktır.
OS-config’de 2fa hakkında daha fazla bilgi, sadece kullanıcı için geçerlidir, eğer bir SA (compute SA gibi) ise, ekstra bir şey gerektirmeyecektir.
Enumeration
gcloud compute os-config patch-deployments list
gcloud compute os-config patch-deployments describe <patch-deployment>
gcloud compute os-config patch-jobs list
gcloud compute os-config patch-jobs describe <patch-job>
Görseller
Özel Görseller
Özel hesaplama görselleri hassas detaylar veya istismar edebileceğiniz diğer savunmasız yapılandırmalar içerebilir.
Bir görsel oluşturulduğunda 3 tür şifreleme seçebilirsiniz: Google yönetimli anahtarı (varsayılan), KMS’den bir anahtar veya müşterinin verdiği ham anahtar.
Sayım
Aşağıdaki komutla bir projedeki standart dışı görsellerin listesini sorgulayabilirsiniz:
gcloud compute machine-images list
gcloud compute machine-images describe <name>
gcloud compute machine-images get-iam-policy <name>
Ardından, herhangi bir görüntüden sanallaştırma disklerini birden fazla formatta dışa aktarabilirsiniz. Aşağıdaki komut, test-image görüntüsünü qcow2 formatında dışa aktarır ve dosyayı indirip yerel olarak daha fazla inceleme için bir VM oluşturmanıza olanak tanır:
gcloud compute images export --image test-image \
--export-format qcow2 --destination-uri [BUCKET]
# Execute container inside a docker
docker run --rm -ti gcr.io/<project-name>/secret:v1 sh
Yetki Yükseltme
Compute Instances yetki yükseltme bölümünü kontrol edin.
Özel Instance Şablonları
Bir instance şablonu instance özelliklerini tanımlar ve tutarlı yapılandırmaların dağıtımına yardımcı olur. Bunlar, çalışan bir instance’ın özel meta verileriyle aynı türde hassas verileri içerebilir. Araştırmak için aşağıdaki komutları kullanabilirsiniz:
# List the available templates
gcloud compute instance-templates list
# Get the details of a specific template
gcloud compute instance-templates describe [TEMPLATE NAME]
Yeni görüntülerin hangi diski kullandığını bilmek ilginç olabilir, ancak bu şablonlar genellikle hassas bilgi içermez.
Anlık Görüntüler
Anlık görüntüler disklerin yedekleridir. Bunun, bir diski kopyalamakla (başka bir mevcut özellik) aynı şey olmadığını unutmayın.
Anlık görüntü, alındığı disk ile aynı şifrelemeyi kullanacaktır.
Sayım
gcloud compute snapshots list
gcloud compute snapshots describe <snapshot>
gcloud compute snapshots get-iam-policy <snapshot>
Yetki Yükseltme
Compute Instances yetki yükseltme bölümünü kontrol edin.
Referanslar
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

