GCP - Compute Enum

htARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile sıfırdan kahraman olmak için AWS hackleme öğrenin!

HackTricks'i desteklemenin diğer yolları:

GCP VPC ve Ağ

Bunun nasıl çalıştığını öğrenin:

pageGCP - VPC & Networking

Sınıflandırma

# 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ına sahip hesaplama örneklerini https://gitlab.com/gitlab-com/gl-security/security-operations/gl-redteam/gcp_firewall_enum adresinden kolayca bulabilirsiniz.

Hesaplama örnekleri

Bu, GCP içinde sanal makineleri çalıştırabileceğiniz bir yoldur. Daha fazla bilgi için bu sayfayı kontrol edin:

pageGCP - Compute Instances

Numaralandırma

# 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, bir örneğin SSH'ye veya metadata'yı değiştirmeye yönelik ayrıcalıkları yükseltmek için bu sayfayı kontrol edin:

pageGCP - local privilege escalation ssh pivoting

Ayrıcalık Yükseltme

Aşağıdaki sayfada, ayrıcalıkları yükseltmek için hesaplama izinlerini kötüye kullanmanın nasıl yapılacağını kontrol edebilirsiniz:

pageGCP - Compute Privesc

Kimlik Doğrulamasız Sorgulama

pageGCP - Compute Unauthenticated Enum

Saldırı Sonrası

pageGCP - Compute Post Exploitation

Kalıcılık

pageGCP - Compute Persistence

Seri Konsol Günlükleri

Compute Engine Seri Konsol Günlükleri, sanal makine örneklerinizin önyükleme ve işletim sistemi günlüklerini görüntülemenizi ve teşhis etmenizi sağlayan bir özelliktir.

Seri Konsol Günlükleri, önyükleme işlemi sırasında meydana gelen çekirdek mesajları, başlatma komut dosyaları ve diğer sistem olaylarını içeren örneğin düşük seviyeli bir görünümünü sağlar. Bu, önyükleme sorunlarını gidermek, yanlış yapılandırmaları veya yazılım hatalarını belirlemek veya ağ bağlantısı sorunlarını gidermek için kullanışlı olabilir.

Bu günlükler, düşük ayrıcalıklı kullanıcının genellikle göremeyeceği sistem günlüklerinden hassas bilgileri ortaya çıkarabilir, ancak uygun IAM izinleriyle bunları okuyabilirsiniz.

Aşağıdaki gcloud komutunu kullanarak seri port günlüklerini sorgulayabilirsiniz (gereken izin compute.instances.getSerialPortOutput):

gcloud compute instances get-serial-port-output <instance-name>

İşletim Sistemi Yapılandırma Yöneticisi

İşletim sistemi yapılandırma yönetimi hizmetini kullanarak, sanal makine (VM) örneğiniz için tutarlı yapılandırmaları (istenen durum ve yazılım) dağıtabilir, sorgulayabilir ve sürdürebilirsiniz. Compute Engine üzerinde, VM'lerinizde tutarlı yazılım yapılandırmalarını sürdürmek için konuk politikalarını kullanmanız gerekmektedir.

İşletim Sistemi Yapılandırma yönetimi özelliği, VM'lerinizde hangi yazılım paketlerinin kurulması gerektiğini, hangi hizmetlerin etkinleştirilmesi gerektiğini ve hangi dosyaların veya yapılandırmaların VM'lerinizde bulunması gerektiğini belirleyen yapılandırma politikalarını tanımlamanıza olanak sağlar. VM'lerinizin yazılım yapılandırmasını yönetmek için deklaratif bir yaklaşım kullanabilirsiniz, bu da yapılandırma yönetimi sürecinizi daha kolay otomatikleştirmenize ve ölçeklendirmenize olanak tanır.

Bu ayrıca IAM izinleri aracılığıyla örneklerde oturum açmanıza olanak sağlar, bu nedenle hak yükseltme ve geçiş yapma için çok faydalıdır.

Tüm bir projede veya bir örnekte os-config'i etkinleştirmek için, istenen düzeyde metadata anahtarını enable-oslogin olarak ayarlamanız yeterlidir ve değeri true olmalıdır. Ayrıca, 2fa'yı etkinleştirmek için metadata enable-oslogin-2fa'yı true olarak ayarlayabilirsiniz.

Bir örnek oluştururken etkinleştirdiğinizde, metadata anahtarları otomatik olarak ayarlanır.

OS-config'de 2fa hakkında daha fazla bilgi, kullanıcı bir kullanıcı ise uygulanır, SA gibi bir kullanıcı değilse (örneğin compute SA), ekstra bir şey gerektirmez.

Sıralama

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örüntüler

Özel Görüntüler

Özel hesaplama görüntüleri hassas ayrıntılar veya sömürülebilecek diğer zayıf yapılandırmalar içerebilir.

Bir görüntü oluşturulduğunda, 3 tür şifreleme seçeneği arasından seçim yapabilirsiniz: Google tarafından yönetilen anahtar (varsayılan), KMS'den bir anahtar veya müşteri tarafından verilen bir ham anahtar.

Sıralama

Aşağıdaki komutla bir projedeki standart olmayan görüntülerin listesini sorgulayabilirsiniz:

gcloud compute machine-images list
gcloud compute machine-images describe <name>
gcloud compute machine-images get-iam-policy <name>

Daha sonra, herhangi bir görüntüden sanal diskleri çeşitli formatlarda dışa aktarabilirsiniz. Aşağıdaki komut, test-image görüntüsünü qcow2 formatında dışa aktarır ve dosyayı indirerek daha fazla inceleme için yerel olarak bir sanal makine 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

Bilgisayar Örnekleri yetki yükseltme bölümünü kontrol edin.

Özel Örnek Şablonları

Bir örnek şablonu, tutarlı yapılandırmaları dağıtmaya yardımcı olmak için örnek özelliklerini tanımlar. Bunlar, çalışan bir örneğin özel meta verileri gibi hassas veri türlerini içerebilir. Aşağıdaki komutları kullanarak araştırma yapabilirsiniz:

# List the available templates
gcloud compute instance-templates list

# Get the details of a specific template
gcloud compute instance-templates describe [TEMPLATE NAME]

Anılar

Anılar disklerin yedeklemeleridir. Unutmayın ki bu, bir diski klonlamakla (başka bir mevcut özellik) aynı şey değildir. Anı, ondan alınan diskin aynı şifrelemeyi kullanır.

Numaralandırma

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

htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahraman olmak için AWS hackleme öğrenin!

HackTricks'i desteklemenin diğer yolları:

Last updated