GCP - Compute Enum

Sıfırdan kahraman olmaya kadar AWS hackleme öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı)!

HackTricks'ı desteklemenin diğer yolları:

GCP VPC ve Ağ

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

GCP - VPC & Networking

Enumerasyon

# 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 kolayca bulabilirsiniz https://gitlab.com/gitlab-com/gl-security/security-operations/gl-redteam/gcp_firewall_enum

Hesaplama Örnekleri

Bu, GCP içinde sanal makineleri çalıştırabileceğiniz yol. Daha fazla bilgi için bu sayfaya göz atın:

GCP - 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>

Yetkilendirme Yükseltme

Aşağıdaki sayfada, yetkilendirme yükseltmek için bilgisayar izinlerini kötüye nasıl kullanabileceğinizi kontrol edebilirsiniz:

GCP - Compute Privesc

Kimlik Doğrulamasız Sorgulama

GCP - Compute Unauthenticated Enum

Saldırı Sonrası İşlemler

GCP - Compute Post Exploitation

Kalıcılık

GCP - Compute Persistence

Seri Konsol Kayıtları

Bilgisayar Motoru Seri Konsol Kayıtları, sanal makine örneklerinizin önyükleme ve işletim sistemi kayıtlarını görüntülemenize ve teşhis etmenize olanak tanıyan bir özelliktir.

Seri Konsol Kayıtları, önyükleme sürecinin düşük seviyeli bir görünümünü sağlar; bu, önyükleme sırasında meydana gelen çekirdek iletileri, init betikleri ve diğer sistem olaylarını içerir. Bu, önyükleme sorunlarını hata ayıklamak, yanlış yapılandırmaları veya yazılım hatalarını tanımlamak veya ağ bağlantı sorunlarını gidermek için faydalı olabilir.

Bu kayıtlar, genellikle düşük ayrıcalıklı kullanıcıların görmemesi gereken sistem kayıtlarından duyarlı bilgileri ortaya çıkarabilir, ancak uygun IAM izinleriyle bunları okuyabilirsiniz.

Seri port kayıtlarını sorgulamak için aşağıdaki gcloud komutunu kullanabilirsiniz (gereken izin compute.instances.getSerialPortOutput):

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

Başlangıç Betikleri çıktısı

VM'den şu komutu çalıştırarak başlangıç betiklerinin çıktısını görmek mümkündür:

sudo journalctl -u google-startup-scripts.service

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

İşletim sistemi yapılandırma yöneticisi hizmetini kullanarak sanal makine örneğinizin (VM) istenen durumu ve yazılımı dağıtmak, sorgulamak ve tutarlı yapılandırmaları sürdürmek için kullanabilirsiniz. Compute Engine üzerinde, VM'lerinizde tutarlı yazılım yapılandırmalarını sürdürmek için konuk politikalarını kullanmalısınız.

İşletim Sistemi Yapılandırma yönetimi özelliği, VM'lerinizde hangi yazılım paketlerinin yüklü olması 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ını tanımlamanıza olanak tanır. VM'lerinizin yazılım yapılandırmasını yönetmek için deklaratif bir yaklaşım kullanabilirsiniz, bu da yapılandırma yönetim 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 tanır, bu nedenle hak yükseltme ve dönüş için çok yararlıdır.

Bir projenin veya bir örneğin içinde os-config'i etkinleştirmek için sadece istenen düzeyde enable-oslogin anahtarını true olarak ayarlamanız yeterlidir. Ayrıca, 2fa'yı etkinleştirmek için enable-oslogin-2fa anahtarını true olarak ayarlayabilirsiniz.

Bir örneği oluştururken etkinleştirdiğinizde, metadata anahtarları otomatik olarak ayarlanacaktır.

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

Numaralandırma

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 başka zayıf yapılandırmalar içerebilir ki bunları sömürebilirsiniz.

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

Numaralandırma

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

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

Herhangi bir görüntüden sanal diskleri çeşitli biçimlerde dışa aktarabilirsiniz. Aşağıdaki komut, test-image görüntüsünü qcow2 biçiminde dışa aktaracak ve dosyayı indirip daha fazla inceleme için yerel olarak bir sanal makine oluşturmanıza olanak tanıyacaktı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. Bu, çalışan bir örneğin özel meta verileri gibi 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]

Anlık Görüntüler

Anlık görüntüler disk yedeklemeleridir. Bu, bir diski klonlamakla aynı şey değildir (başka bir mevcut özellik). Anlık görüntü, alındığı disk ile aynı şifrelemeyi kullanacaktır.

Numaralandırma

gcloud compute snapshots list
gcloud compute snapshots describe <snapshot>
gcloud compute snapshots get-iam-policy <snapshot>

Yetki Yükseltme

Bilgi İşlem Örneklerinde Yetki Yükseltme bölümünü kontrol edin.

Referanslar

Sıfırdan Kahraman'a AWS hackleme öğrenin htARTE (HackTricks AWS Red Team Expert)!

HackTricks'i desteklemenin diğer yolları:

Last updated