GCP - Compute Enum

Support HackTricks

GCP VPC & Mitandao

Jifunze kuhusu jinsi hii inavyofanya kazi katika:

GCP - VPC & Networking

Uorodheshaji

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

Unaweza kupata kwa urahisi compute instances zilizo na sheria za firewall zilizo wazi kwa kutumia https://gitlab.com/gitlab-com/gl-security/security-operations/gl-redteam/gcp_firewall_enum

Compute instances

Hii ndiyo njia unayoweza kuendesha mashine za kawaida ndani ya GCP. Angalia ukurasa huu kwa maelezo zaidi:

GCP - Compute Instances

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>

Kwa maelezo zaidi kuhusu jinsi ya SSH au kubadilisha metadata ya instance ili kuongeza marupurupu, angalia ukurasa huu:

GCP - local privilege escalation ssh pivoting

Kuongeza Marupurupu

Katika ukurasa ufuatao, unaweza kuangalia jinsi ya kutumia vibaya ruhusa za compute kuongeza marupurupu:

GCP - Compute Privesc

Enum Isiyo na Uthibitisho

GCP - Compute Unauthenticated Enum

Baada ya Udukuzi

GCP - Compute Post Exploitation

Uendelevu

GCP - Compute Persistence

Rekodi za Serial Console

Compute Engine Serial Console Logs ni kipengele kinachokuwezesha kuangalia na kugundua rekodi za boot na mfumo wa uendeshaji wa instance za mashine yako ya virtual.

Serial Console Logs zinatoa muonekano wa kiwango cha chini wa mchakato wa boot wa instance, ikijumuisha ujumbe wa kernel, init scripts, na matukio mengine ya mfumo yanayotokea wakati wa boot-up. Hii inaweza kuwa muhimu kwa kutatua matatizo ya boot, kutambua mipangilio isiyo sahihi au makosa ya programu, au kutatua matatizo ya muunganisho wa mtandao.

Rekodi hizi zinaweza kufichua taarifa nyeti kutoka kwa rekodi za mfumo ambazo mtumiaji mwenye ruhusa ndogo hawezi kuona kawaida, lakini kwa ruhusa sahihi za IAM unaweza kuzisoma.

Unaweza kutumia amri ya gcloud ifuatayo kuuliza rekodi za serial port (ruhusa inayohitajika ni compute.instances.getSerialPortOutput):

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

Matokeo ya Startup Scripts

Inawezekana kuona matokeo ya startup scripts kutoka kwa VM kwa kutekeleza:

sudo journalctl -u google-startup-scripts.service

OS Configuration Manager

Unaweza kutumia huduma ya usimamizi wa usanidi wa OS kupeleka, kuuliza, na kudumisha usanidi thabiti (hali inayotakiwa na programu) kwa mfano wako wa VM (VM). Kwenye Compute Engine, lazima utumie sera za wageni kudumisha usanidi thabiti wa programu kwenye VM.

Kipengele cha usimamizi wa usanidi wa OS kinakuruhusu kufafanua sera za usanidi zinazobainisha ni vifurushi vya programu gani vinapaswa kusanikishwa, ni huduma gani zinapaswa kuwezeshwa, na ni faili au usanidi gani unapaswa kuwepo kwenye VMs zako. Unaweza kutumia mbinu ya tamko katika kusimamia usanidi wa programu za VMs zako, ambayo inakuwezesha kugeuza na kupanua mchakato wako wa usimamizi wa usanidi kwa urahisi zaidi.

Hii pia inaruhusu kuingia kwenye instances kupitia ruhusa za IAM, kwa hivyo ni muhimu sana kwa privesc na pivoting.

Ili kuwezesha os-config katika mradi mzima au katika instance unahitaji tu kuweka ufunguo wa metadata enable-oslogin kuwa true katika kiwango kinachotakiwa. Zaidi ya hayo, unaweza kuweka metadata enable-oslogin-2fa kuwa true kuwezesha 2fa.

Unapoiwezesha wakati wa kuunda instance, funguo za metadata zitawekwa kiotomatiki.

Zaidi kuhusu 2fa katika OS-config, inatumika tu ikiwa mtumiaji ni mtumiaji, ikiwa ni SA (kama compute SA) haitahitaji kitu chochote cha ziada.

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>

Picha

Picha Maalum

Picha maalum za compute zinaweza kuwa na maelezo nyeti au mipangilio mingine dhaifu ambayo unaweza kutumia.

Wakati picha inaundwa unaweza kuchagua aina 3 za usimbaji fiche: Kutumia ufunguo unaosimamiwa na Google (chaguo-msingi), ufunguo kutoka KMS, au ufunguo mbichi uliotolewa na mteja.

Uorodheshaji

Unaweza kuuliza orodha ya picha zisizo za kawaida katika mradi kwa amri ifuatayo:

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

Unaweza kisha kuhamisha diski za virtuali kutoka kwa picha yoyote katika miundo mbalimbali. Amri ifuatayo itahamisha picha test-image katika muundo wa qcow2, ikikuruhusu kupakua faili na kujenga VM kwa ndani kwa uchunguzi zaidi:

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

Privilege Escalation

Angalia sehemu ya Compute Instances privilege escalation.

Custom Instance Templates

Instance template hufafanua mali za instance kusaidia kupeleka usanidi thabiti. Hizi zinaweza kuwa na aina zile zile za data nyeti kama metadata maalum ya instance inayoendesha. Unaweza kutumia amri zifuatazo kuchunguza:

# List the available templates
gcloud compute instance-templates list

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

Inaweza kuwa ya kuvutia kujua diski mpya inatumia picha gani, lakini hizi templates hazitakuwa na taarifa nyeti kwa kawaida.

Snapshots

Snapshots ni nakala za diski. Kumbuka kuwa hii si sawa na kunakili diski (kipengele kingine kinachopatikana). Snapshot itatumia usimbaji fiche sawa na diski ilikotolewa.

Enumeration

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

Kunyanyua Haki

Angalia sehemu ya kunyanyua haki za Compute Instances.

Marejeo

Support HackTricks

Last updated