GCP - Compute Enum

Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Njia nyingine za kusaidia HackTricks:

GCP VPC & Uunganishaji

Jifunze kuhusu jinsi hii inavyofanya kazi katika:

pageGCP - VPC & Networking

Uchunguzi

# 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 kwa urahisi kupata mifano ya kuhesabu na sheria za firewall zilizofunguliwa kwa kutumia https://gitlab.com/gitlab-com/gl-security/security-operations/gl-redteam/gcp_firewall_enum

Mifano ya Kuhesabu

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

pageGCP - Compute Instances

Uthibitishaji

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

Kupanda Hadhi

Kwenye ukurasa ufuatao, unaweza kuangalia jinsi ya kutumia ruhusa za kuhesabu kwa kupanda hadhi:

pageGCP - Compute Privesc

Uchunguzi Usiothibitishwa

pageGCP - Compute Unauthenticated Enum

Baada ya Kudukuliwa

pageGCP - Compute Post Exploitation

Uthabiti

pageGCP - Compute Persistence

Vipande vya Konsoli ya Serial

Vipande vya Konsoli ya Serial ya Compute Engine ni kipengele kinachokuwezesha kuona na kutambua vipande vya kuanza na kufanya kazi kwa magogo ya mashine yako ya virtual.

Vipande vya Konsoli ya Serial hutoa mtazamo wa kiwango cha chini wa mchakato wa kuanza wa kifaa, ikiwa ni pamoja na ujumbe wa kernel, mipangilio ya kuanza, na matukio mengine ya mfumo yanayotokea wakati wa kuanza. Hii inaweza kuwa na manufaa kwa kutatua matatizo ya kuanza, kutambua upangiaji mbaya au makosa ya programu, au kutatua matatizo ya uunganisho wa mtandao.

Vipande hivi vya konsoli vinaweza kufichua habari nyeti kutoka kwa magogo ya mfumo ambayo mtumiaji mwenye ruhusa ndogo kawaida hawezi kuona, lakini kwa ruhusa sahihi ya IAM unaweza kusoma.

Unaweza kutumia amri ya gcloud ifuatayo kuuliza vipande vya konsoli ya bandari ya serial (ruhusa inayohitajika ni compute.instances.getSerialPortOutput):

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

Msimamizi wa Usanidi wa OS

Unaweza kutumia huduma ya usimamizi wa usanidi wa OS kwa kupeleka, kuuliza, na kudumisha usanidi thabiti (hali iliyotakwa na programu) kwa kifaa chako cha VM (VM). Kwenye Compute Engine, lazima utumie sera za mgeni kudumisha usanidi thabiti wa programu kwenye VM.

Kipengele cha usimamizi wa usanidi wa OS inakuruhusu kufafanua sera za usanidi ambazo zinaeleza ni pakiti zipi za programu zinapaswa kusakinishwa, ni huduma zipi zinapaswa kuwezeshwa, na ni faili au usanidi upi unapaswa kuwepo kwenye VM yako. Unaweza kutumia njia ya kielezi katika kusimamia usanidi wa programu kwenye VM yako, ambayo inakuruhusu kiotomatiki na kupanua mchakato wako wa usimamizi wa usanidi kwa urahisi zaidi.

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

Ili kuwezesha os-config kwenye mradi mzima au kwenye kifaa unahitaji tu kuweka ufunguo wa metadata enable-oslogin kuwa kweli kwenye kiwango kinachotakikana. Zaidi ya hayo, unaweza kuweka metadata enable-oslogin-2fa kuwa kweli kuwezesha 2fa.

Unapoiwezesha unapounda kifaa ufunguo wa metadata utawekwa kiotomatiki.

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

Uorodheshaji

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 za Desturi

Picha za kompyuta za desturi zinaweza kuwa na maelezo nyeti au mipangilio mingine inayoweza kudhuriwa ambayo unaweza kuitumia.

Unapounda picha, unaweza kuchagua aina 3 za kuchipua: Kutumia ufunguo uliosimamiwa na Google (chaguo-msingi), ufunguo kutoka KMS, au ufunguo wa ghafi uliotolewa na mteja.

Uchambuzi

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

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

Unaweza kisha kusafirisha diski za kawaida kutoka kwa picha yoyote kwa muundo tofauti. Amri ifuatayo itasafirisha picha test-image kwa muundo wa qcow2, ikiruhusu kupakua faili na kujenga VM kwa uchunguzi zaidi kwa kienyeji:

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

Kupanda Kwa Mamlaka

Angalia sehemu ya kupanda kwa mamlaka ya Mifano ya Makadirio.

Templeti za Instans

Templeti ya instans inadefini mali za instans kusaidia kupeleka miundombinu inayofanana. Hizi zinaweza kuwa na aina sawa ya data nyeti kama metadata ya desturi ya instans inayofanya kazi. 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 ni diski ipi inayotumia picha mpya, lakini kawaida mabuku haya hayatakuwa na habari nyeti.

Vipande

Vipande ni nakala rudufu za diski. Tafadhali kumbuka kuwa hii sio sawa na kuzaliana kwa diski (huduma nyingine inayopatikana). Kipande kitatumia ufichaji sawa na diski ambayo imetolewa.

Urambazaji

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

Upandishaji wa Mamlaka

Angalia sehemu ya upandishaji wa mamlaka wa Mifumo ya Kuhesabu.

Marejeo

Jifunze kuhusu udukuzi wa AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Njia nyingine za kusaidia HackTricks:

Last updated